Record all applications when selecting 'Record audio from all applications except the selected ones' without selecting any application to exclude

This commit is contained in:
dec05eba
2025-06-11 21:38:22 +02:00
parent 644d3f36d1
commit 0dfcb004e4

View File

@@ -2185,6 +2185,8 @@ namespace gsr {
for(const AudioTrack &audio_track : audio_tracks) { for(const AudioTrack &audio_track : audio_tracks) {
std::string audio_track_merged; std::string audio_track_merged;
int num_app_audio = 0;
for(const std::string &audio_input_name : audio_track.audio_inputs) { for(const std::string &audio_input_name : audio_track.audio_inputs) {
std::string new_audio_input_name = audio_input_name; std::string new_audio_input_name = audio_input_name;
const bool is_app_audio = starts_with(new_audio_input_name, "app:"); const bool is_app_audio = starts_with(new_audio_input_name, "app:");
@@ -2194,12 +2196,22 @@ namespace gsr {
if(is_app_audio && audio_track.application_audio_invert) if(is_app_audio && audio_track.application_audio_invert)
new_audio_input_name.replace(0, 4, "app-inverse:"); new_audio_input_name.replace(0, 4, "app-inverse:");
if(is_app_audio)
++num_app_audio;
if(!audio_track_merged.empty()) if(!audio_track_merged.empty())
audio_track_merged += "|"; audio_track_merged += "|";
audio_track_merged += new_audio_input_name; audio_track_merged += new_audio_input_name;
} }
if(num_app_audio == 0 && audio_track.application_audio_invert) {
if(!audio_track_merged.empty())
audio_track_merged += "|";
audio_track_merged += "app-inverse:";
}
if(!audio_track_merged.empty()) if(!audio_track_merged.empty())
result.push_back(std::move(audio_track_merged)); result.push_back(std::move(audio_track_merged));
} }