From 7cc050569eb6e6749fe863b9d1f21b95115fc9e7 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 11 Jun 2025 20:19:43 +0200 Subject: Record all applications when selecting 'Record audio from all applications except the selected ones' without selecting any application to exclude --- meson.build | 2 +- project.conf | 2 +- src/main.cpp | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index 1688c4c..e8ee69d 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('gpu-screen-recorder-gtk', ['c', 'cpp'], version : '5.7.3', default_options : ['warning_level=2']) +project('gpu-screen-recorder-gtk', ['c', 'cpp'], version : '5.7.4', default_options : ['warning_level=2']) add_project_arguments('-Wshadow', language : ['c', 'cpp']) if get_option('buildtype') == 'debug' diff --git a/project.conf b/project.conf index 647c88e..b19f211 100644 --- a/project.conf +++ b/project.conf @@ -1,7 +1,7 @@ [package] name = "gpu-screen-recorder-gtk" type = "executable" -version = "5.7.3" +version = "5.7.4" platforms = ["posix"] [config] diff --git a/src/main.cpp b/src/main.cpp index 0bf770a..2ce1c80 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1679,13 +1679,15 @@ static bool starts_with(const std::string &str, const char *substr) { struct AudioTracksUserdata { std::vector &result; bool application_audio_invert; + int num_app_audio = 0; }; static std::vector create_audio_tracks_real_names(std::string &merge_audio_tracks) { std::vector result; AudioTracksUserdata audio_tracks_userdata { result, - (bool)gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(record_app_audio_inverted_button)) + (bool)gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(record_app_audio_inverted_button)), + 0 }; gtk_container_foreach(GTK_CONTAINER(audio_devices_items_box), [](GtkWidget *widget, gpointer userdata) { @@ -1703,6 +1705,7 @@ static std::vector create_audio_tracks_real_names(std::string &merg std::string audio_input_name = audio_tracks_userdata.application_audio_invert ? "app-inverse:" : "app:"; audio_input_name += gtk_combo_box_get_active_id(GTK_COMBO_BOX(row_item_widget)); audio_tracks_userdata.result.push_back(std::move(audio_input_name)); + ++audio_tracks_userdata.num_app_audio; } else if(strcmp(audio_track_type, "app-custom") == 0) { if(!gsr_info.system_info.supports_app_audio) return; @@ -1710,9 +1713,13 @@ static std::vector create_audio_tracks_real_names(std::string &merg std::string audio_input_name = audio_tracks_userdata.application_audio_invert ? "app-inverse:" : "app:"; audio_input_name += gtk_entry_get_text(GTK_ENTRY(row_item_widget)); audio_tracks_userdata.result.push_back(std::move(audio_input_name)); + ++audio_tracks_userdata.num_app_audio; } }, &audio_tracks_userdata); + if(audio_tracks_userdata.num_app_audio == 0 && audio_tracks_userdata.application_audio_invert) + audio_tracks_userdata.result.push_back("app-inverse:"); + merge_audio_tracks.clear(); for(size_t i = 0; i < result.size(); ++i) { if(i > 0) -- cgit v1.2.3-70-g09d2