mirror of
https://github.com/xlmnxp/blue-recorder.git
synced 2025-03-31 14:54: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:
|
||||
```
|
||||
ffmpeg
|
||||
gdk
|
||||
gio
|
||||
gtk
|
||||
gstreamer
|
||||
libadwaita
|
||||
pipewire
|
||||
x11-utils
|
||||
pipewire-pulse
|
||||
xwininfo
|
||||
```
|
||||
|
||||
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:
|
||||
```
|
||||
|
@ -634,7 +634,6 @@ impl Ffmpeg {
|
||||
ffmpeg_command.args(["-map_metadata", "-1"]);
|
||||
ffmpeg_command.arg(&self.temp_output_audio_filename);
|
||||
ffmpeg_command.overwrite();
|
||||
ffmpeg_command.print_command();
|
||||
|
||||
// Sleep for delay
|
||||
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::path::Path;
|
||||
use std::rc::Rc;
|
||||
use std::sync::mpsc;
|
||||
use std::thread;
|
||||
|
||||
use crate::{area_capture, config_management, fluent::get_bundle};
|
||||
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 _video_switch = video_switch.clone();
|
||||
let mut _ffmpeg_record_interface = ffmpeg_record_interface.clone();
|
||||
let (tx, rx) = mpsc::channel::<Result<()>>();
|
||||
stop_button.connect_clicked(move |_| {
|
||||
let _tx = tx.clone();
|
||||
let mut show_play = true;
|
||||
_record_time_label.set_visible(false);
|
||||
stop_timer(_record_time_label.clone());
|
||||
@ -1070,10 +1066,21 @@ fn build_ui(application: &Application, error_dialog: MessageDialog, error_messag
|
||||
if show_play {
|
||||
_play_button.show();
|
||||
}
|
||||
let merge_request = _ffmpeg_record_interface.borrow_mut().merge();
|
||||
thread::spawn(move || {
|
||||
_tx.send(merge_request).unwrap();
|
||||
});
|
||||
|
||||
// Save record
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user