Browse Source

UI: Log audio monitoring dev. on start and when changed

jp9000 8 years ago
parent
commit
8d3e839ac8
2 changed files with 17 additions and 4 deletions
  1. 3 0
      UI/window-basic-main.cpp
  2. 14 4
      UI/window-basic-settings.cpp

+ 3 - 0
UI/window-basic-main.cpp

@@ -1253,6 +1253,9 @@ void OBSBasic::OBSInit()
 			"MonitoringDeviceId");
 
 	obs_set_audio_monitoring_device(device_name, device_id);
+
+	blog(LOG_INFO, "Audio monitoring device:\n\tname: %s\n\tid: %s",
+			device_name, device_id);
 #endif
 
 	InitOBSCallbacks();

+ 14 - 4
UI/window-basic-settings.cpp

@@ -2543,6 +2543,9 @@ void OBSBasicSettings::SaveVideoSettings()
 
 void OBSBasicSettings::SaveAdvancedSettings()
 {
+	QString lastMonitoringDevice = config_get_string(main->Config(),
+			"Audio", "MonitoringDeviceId");
+
 #ifdef _WIN32
 	if (WidgetChanged(ui->renderer))
 		config_set_string(App()->GlobalConfig(), "Video", "Renderer",
@@ -2592,10 +2595,17 @@ void OBSBasicSettings::SaveAdvancedSettings()
 	SaveComboData(ui->bindToIP, "Output", "BindIP");
 
 #if defined(_WIN32) || defined(__APPLE__)
-	obs_set_audio_monitoring_device(
-			QT_TO_UTF8(ui->monitoringDevice->currentText()),
-			QT_TO_UTF8(ui->monitoringDevice->currentData()
-				.toString()));
+	QString newDevice = ui->monitoringDevice->currentData().toString();
+
+	if (lastMonitoringDevice != newDevice) {
+		obs_set_audio_monitoring_device(
+				QT_TO_UTF8(ui->monitoringDevice->currentText()),
+				QT_TO_UTF8(newDevice));
+
+		blog(LOG_INFO, "Audio monitoring device:\n\tname: %s\n\tid: %s",
+				QT_TO_UTF8(ui->monitoringDevice->currentText()),
+				QT_TO_UTF8(newDevice));
+	}
 #endif
 }