aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2025-06-11 20:19:43 +0200
committerdec05eba <dec05eba@protonmail.com>2025-06-11 20:20:01 +0200
commit7cc050569eb6e6749fe863b9d1f21b95115fc9e7 (patch)
tree9efebff63ca991b281a9e6f7d2c7074f166a6284
parente493a390b119e8a44f60c3ae93ed92cf227313f3 (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.build2
-rw-r--r--project.conf2
-rw-r--r--src/main.cpp9
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)