mirror of
https://github.com/xlmnxp/blue-recorder.git
synced 2025-04-02 07:44:54 +03:00
Compare commits
3 Commits
6de786bd71
...
c7ae803a23
Author | SHA1 | Date | |
---|---|---|---|
|
c7ae803a23 | ||
|
36eed3f749 | ||
|
d399851c23 |
10
README.md
10
README.md
@ -20,16 +20,16 @@ Blue Recorder is available as a Snap and Flatpak package.
|
|||||||
Blue Recorder depends on the following dependencies:
|
Blue Recorder depends on the following dependencies:
|
||||||
```
|
```
|
||||||
ffmpeg
|
ffmpeg
|
||||||
gdk
|
gstreamer
|
||||||
gio
|
libadwaita
|
||||||
gtk
|
|
||||||
pipewire
|
pipewire
|
||||||
x11-utils
|
pipewire-pulse
|
||||||
|
xwininfo
|
||||||
```
|
```
|
||||||
|
|
||||||
Install dependencies for Ubuntu and Debian-based distros:
|
Install dependencies for Ubuntu and Debian-based distros:
|
||||||
```
|
```
|
||||||
sudo apt install build-essential clang cargo x11-utils ffmpeg libgtk-3-dev libgtk-4-dev libatk1.0-dev libgstreamer1.0-dev libpipewire-0.3-dev
|
sudo apt install build-essential clang cargo x11-utils ffmpeg libadwaita-1-dev libgstreamer1.0-dev libpipewire-0.3-dev pipewire-pulse
|
||||||
```
|
```
|
||||||
Then use `Cargo` to build it:
|
Then use `Cargo` to build it:
|
||||||
```
|
```
|
||||||
|
@ -634,7 +634,6 @@ impl Ffmpeg {
|
|||||||
ffmpeg_command.args(["-map_metadata", "-1"]);
|
ffmpeg_command.args(["-map_metadata", "-1"]);
|
||||||
ffmpeg_command.arg(&self.temp_output_audio_filename);
|
ffmpeg_command.arg(&self.temp_output_audio_filename);
|
||||||
ffmpeg_command.overwrite();
|
ffmpeg_command.overwrite();
|
||||||
ffmpeg_command.print_command();
|
|
||||||
|
|
||||||
// Sleep for delay
|
// Sleep for delay
|
||||||
if !is_video_record(&self.temp_video_filename) && !is_input_audio_record(&self.temp_input_audio_filename) {
|
if !is_video_record(&self.temp_video_filename) && !is_input_audio_record(&self.temp_input_audio_filename) {
|
||||||
|
@ -18,8 +18,6 @@ use std::cell::RefCell;
|
|||||||
use std::ops::Add;
|
use std::ops::Add;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use std::sync::mpsc;
|
|
||||||
use std::thread;
|
|
||||||
|
|
||||||
use crate::{area_capture, config_management, fluent::get_bundle};
|
use crate::{area_capture, config_management, fluent::get_bundle};
|
||||||
use crate::timer::{RecordClick, recording_delay, start_timer, stop_timer};
|
use crate::timer::{RecordClick, recording_delay, start_timer, stop_timer};
|
||||||
@ -988,9 +986,7 @@ fn build_ui(application: &Application, error_dialog: MessageDialog, error_messag
|
|||||||
let _stop_button = stop_button.clone();
|
let _stop_button = stop_button.clone();
|
||||||
let _video_switch = video_switch.clone();
|
let _video_switch = video_switch.clone();
|
||||||
let mut _ffmpeg_record_interface = ffmpeg_record_interface.clone();
|
let mut _ffmpeg_record_interface = ffmpeg_record_interface.clone();
|
||||||
let (tx, rx) = mpsc::channel::<Result<()>>();
|
|
||||||
stop_button.connect_clicked(move |_| {
|
stop_button.connect_clicked(move |_| {
|
||||||
let _tx = tx.clone();
|
|
||||||
let mut show_play = true;
|
let mut show_play = true;
|
||||||
_record_time_label.set_visible(false);
|
_record_time_label.set_visible(false);
|
||||||
stop_timer(_record_time_label.clone());
|
stop_timer(_record_time_label.clone());
|
||||||
@ -1070,10 +1066,21 @@ fn build_ui(application: &Application, error_dialog: MessageDialog, error_messag
|
|||||||
if show_play {
|
if show_play {
|
||||||
_play_button.show();
|
_play_button.show();
|
||||||
}
|
}
|
||||||
let merge_request = _ffmpeg_record_interface.borrow_mut().merge();
|
|
||||||
thread::spawn(move || {
|
// Save record
|
||||||
_tx.send(merge_request).unwrap();
|
match _ffmpeg_record_interface.borrow_mut().merge() {
|
||||||
});
|
Ok(_) => {
|
||||||
|
_play_button.set_sensitive(true);
|
||||||
|
_play_button.set_tooltip_text(Some(&get_bundle("play-tooltip", None)));
|
||||||
|
},
|
||||||
|
Err(error) => {
|
||||||
|
_play_button.hide();
|
||||||
|
let text_buffer = TextBuffer::new(None);
|
||||||
|
text_buffer.set_text(&format!("{}", error));
|
||||||
|
_error_message.set_buffer(Some(&text_buffer));
|
||||||
|
_error_dialog.show();
|
||||||
|
},
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Delay window button
|
// Delay window button
|
||||||
|
Loading…
Reference in New Issue
Block a user