From 6de786bd71f3781d05a5d60a8f6139df25b76c40 Mon Sep 17 00:00:00 2001 From: ochibani <11yzyv86j@relay.firefox.com> Date: Thu, 9 Jan 2025 18:55:42 +0200 Subject: [PATCH] intial merge request --- core/src/ffmpeg_windows.rs | 1 + gui/interfaces/area_selection.ui | 2 ++ gui/src/ui.rs | 9 +++++++++ 3 files changed, 12 insertions(+) diff --git a/core/src/ffmpeg_windows.rs b/core/src/ffmpeg_windows.rs index 494c86b..7453b43 100644 --- a/core/src/ffmpeg_windows.rs +++ b/core/src/ffmpeg_windows.rs @@ -634,6 +634,7 @@ 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) { diff --git a/gui/interfaces/area_selection.ui b/gui/interfaces/area_selection.ui index 4ee376c..e86ef82 100644 --- a/gui/interfaces/area_selection.ui +++ b/gui/interfaces/area_selection.ui @@ -11,6 +11,8 @@ False True True + True + True True diff --git a/gui/src/ui.rs b/gui/src/ui.rs index 6dfca8b..81a979e 100644 --- a/gui/src/ui.rs +++ b/gui/src/ui.rs @@ -18,6 +18,8 @@ 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}; @@ -138,6 +140,7 @@ fn build_ui(application: &Application, error_dialog: MessageDialog, error_messag // --- default properties // Windows + area_chooser_window.set_transient_for(Some(&main_window)); area_chooser_window.set_title(Some(&get_bundle("area-chooser", None))); // Title is hidden error_dialog.set_transient_for(Some(&main_window)); select_window.set_transient_for(Some(&main_window)); @@ -985,7 +988,9 @@ 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::>(); 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()); @@ -1065,6 +1070,10 @@ 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(); + }); }); // Delay window button