GUIDialogAudioSettings: adapt to changes in audio settings
authorRainer Hochecker <fernetmenta@online.de>
Fri, 18 Oct 2013 11:03:27 +0000 (13:03 +0200)
committerRainer Hochecker <fernetmenta@online.de>
Mon, 28 Oct 2013 11:54:51 +0000 (12:54 +0100)
xbmc/video/dialogs/GUIDialogAudioSubtitleSettings.cpp
xbmc/video/dialogs/GUIDialogAudioSubtitleSettings.h

index 0dd0075..5d0f2ef 100644 (file)
@@ -96,14 +96,13 @@ void CGUIDialogAudioSubtitleSettings::CreateSettings()
   if (SupportsAudioFeature(IPC_AUD_SELECT_STREAM))
     AddAudioStreams(AUDIO_SETTINGS_STREAM);
 
-  // only show stuff available in digital mode if we have digital output
+  // TODO: remove this setting
   if (SupportsAudioFeature(IPC_AUD_OUTPUT_STEREO))
-    AddBool(AUDIO_SETTINGS_OUTPUT_TO_ALL_SPEAKERS, 252, &CMediaSettings::Get().GetCurrentVideoSettings().m_OutputToAllSpeakers, AUDIO_IS_BITSTREAM(CSettings::Get().GetInt("audiooutput.mode")));
+    AddBool(AUDIO_SETTINGS_OUTPUT_TO_ALL_SPEAKERS, 252, &CMediaSettings::Get().GetCurrentVideoSettings().m_OutputToAllSpeakers, true);
 
-  int settings[3] = { 338, 339, 420 }; //ANALOG, IEC958, HDMI
-  m_outputmode = CSettings::Get().GetInt("audiooutput.mode");
+  m_outputmode = CSettings::Get().GetBool("audiooutput.passthrough");
   if (SupportsAudioFeature(IPC_AUD_SELECT_OUTPUT))
-    AddSpin(AUDIO_SETTINGS_DIGITAL_ANALOG, 337, &m_outputmode, 3, settings);
+    AddBool(AUDIO_SETTINGS_DIGITAL_ANALOG, 348, &m_outputmode);
 
   AddSeparator(7);
   m_subtitleVisible = g_application.m_pPlayer->GetSubtitleVisible();
@@ -275,16 +274,9 @@ void CGUIDialogAudioSubtitleSettings::OnSettingChanged(SettingInfo &setting)
   }
   else if (setting.id == AUDIO_SETTINGS_DIGITAL_ANALOG)
   {
-    bool bitstream = false;
+    CSettings::Get().SetBool("audiooutput.passthrough", !m_outputmode);
 
-    switch(m_outputmode)
-    {
-      case 0: CSettings::Get().SetInt("audiooutput.mode", AUDIO_ANALOG ); break;
-      case 1: CSettings::Get().SetInt("audiooutput.mode", AUDIO_IEC958 ); bitstream = true; break;
-      case 2: CSettings::Get().SetInt("audiooutput.mode", AUDIO_HDMI   ); bitstream = true; break;
-    }
-
-    EnableSettings(AUDIO_SETTINGS_OUTPUT_TO_ALL_SPEAKERS, bitstream);
+    EnableSettings(AUDIO_SETTINGS_OUTPUT_TO_ALL_SPEAKERS, true);
     EnableSettings(AUDIO_SETTINGS_VOLUME, !g_application.m_pPlayer->IsPassthrough());
   }
   else if (setting.id == SUBTITLE_SETTINGS_ENABLE)
index ad5f3f1..f8c578e 100644 (file)
@@ -47,7 +47,7 @@ protected:
   float m_volume;
   int m_audioStream;
   int m_subtitleStream;
-  int m_outputmode;
+  bool m_outputmode;
   bool m_subtitleVisible;
   Features m_audioCaps;
   Features m_subCaps;