diff options
author | dec05eba <dec05eba@protonmail.com> | 2025-06-11 20:19:43 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2025-06-11 20:20:01 +0200 |
commit | 7cc050569eb6e6749fe863b9d1f21b95115fc9e7 (patch) | |
tree | 9efebff63ca991b281a9e6f7d2c7074f166a6284 | |
parent | e493a390b119e8a44f60c3ae93ed92cf227313f3 (diff) |
Record all applications when selecting 'Record audio from all applications except the selected ones' without selecting any application to excludeHEAD5.7.4master
-rw-r--r-- | meson.build | 2 | ||||
-rw-r--r-- | project.conf | 2 | ||||
-rw-r--r-- | 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<std::string> &result; bool application_audio_invert; + int num_app_audio = 0; }; static std::vector<std::string> create_audio_tracks_real_names(std::string &merge_audio_tracks) { std::vector<std::string> 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<std::string> 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<std::string> 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) |