From 9dfe424eafbfbb9d2ecb18c1f4b927a04c4be383 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 22 Oct 2013 20:48:11 +0200 Subject: [PATCH] AE: make streamsilence an integer so it can define a timeout after which the mode is disabled --- language/English/strings.po | 10 +++++++++- system/settings/settings.xml | 8 ++++++-- xbmc/cores/AudioEngine/AEFactory.cpp | 14 ++++++++++++++ xbmc/cores/AudioEngine/AEFactory.h | 1 + xbmc/settings/Settings.cpp | 2 ++ 5 files changed, 32 insertions(+), 3 deletions(-) diff --git a/language/English/strings.po b/language/English/strings.po index 009e1c0..74a5e59 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -6080,7 +6080,15 @@ msgctxt "#13553" msgid "%.1f Seconds" msgstr "" -#empty strings from id 13554 to 13599 +msgctxt "#13554" +msgid "%d Minute" +msgstr "" + +msgctxt "#13555" +msgid "%d Minutes" +msgstr "" + +#empty strings from id 13556 to 13599 #: system/settings/darwin.xml msgctxt "#13600" diff --git a/system/settings/settings.xml b/system/settings/settings.xml index a2dfa9d..b9f2ded 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml @@ -2047,10 +2047,14 @@ - + 1 audiosupportsdrain - true + 1 + + audiostreamsilence + + diff --git a/xbmc/cores/AudioEngine/AEFactory.cpp b/xbmc/cores/AudioEngine/AEFactory.cpp index 4c1dc86..a5fc6e1 100644 --- a/xbmc/cores/AudioEngine/AEFactory.cpp +++ b/xbmc/cores/AudioEngine/AEFactory.cpp @@ -370,6 +370,20 @@ void CAEFactory::SettingOptionsAudioQualityLevelsFiller(const CSetting *setting, list.push_back(std::make_pair(g_localizeStrings.Get(13509), AE_QUALITY_REALLYHIGH)); } +void CAEFactory::SettingOptionsAudioStreamsilenceFiller(const CSetting *setting, std::vector< std::pair > &list, int ¤t) +{ + if (!AE) + return; + + list.push_back(std::make_pair(g_localizeStrings.Get(20422), XbmcThreads::EndTime::InfiniteValue)); + list.push_back(std::make_pair(g_localizeStrings.Get(13551), 0)); + list.push_back(std::make_pair(StringUtils::Format(g_localizeStrings.Get(13554).c_str(), 1), 1)); + for (int i = 2; i <= 10; i++) + { + list.push_back(std::make_pair(StringUtils::Format(g_localizeStrings.Get(13555).c_str(), i), i)); + } +} + void CAEFactory::SettingOptionsAudioDevicesFillerGeneral(const CSetting *setting, std::vector< std::pair > &list, std::string ¤t, bool passthrough) { current = ((const CSettingString*)setting)->GetValue(); diff --git a/xbmc/cores/AudioEngine/AEFactory.h b/xbmc/cores/AudioEngine/AEFactory.h index 20e67a3..ccf57c1 100644 --- a/xbmc/cores/AudioEngine/AEFactory.h +++ b/xbmc/cores/AudioEngine/AEFactory.h @@ -74,6 +74,7 @@ public: static void SettingOptionsAudioDevicesFiller(const CSetting *setting, std::vector< std::pair > &list, std::string ¤t); static void SettingOptionsAudioDevicesPassthroughFiller(const CSetting *setting, std::vector< std::pair > &list, std::string ¤t); static void SettingOptionsAudioQualityLevelsFiller(const CSetting *setting, std::vector< std::pair > &list, int ¤t); + static void SettingOptionsAudioStreamsilenceFiller(const CSetting *setting, std::vector< std::pair > &list, int ¤t); static bool IsSettingVisible(const std::string &condition, const std::string &value, const std::string &settingId); static void RegisterAudioCallback(IAudioCallback* pCallback); diff --git a/xbmc/settings/Settings.cpp b/xbmc/settings/Settings.cpp index e61bce4..b73bdda 100644 --- a/xbmc/settings/Settings.cpp +++ b/xbmc/settings/Settings.cpp @@ -372,6 +372,7 @@ void CSettings::Uninitialize() m_settingsManager->UnregisterSettingOptionsFiller("aequalitylevels"); m_settingsManager->UnregisterSettingOptionsFiller("audiodevices"); m_settingsManager->UnregisterSettingOptionsFiller("audiodevicespassthrough"); + m_settingsManager->UnregisterSettingOptionsFiller("audiostreamsilence"); m_settingsManager->UnregisterSettingOptionsFiller("charsets"); m_settingsManager->UnregisterSettingOptionsFiller("epgguideviews"); m_settingsManager->UnregisterSettingOptionsFiller("fontheights"); @@ -686,6 +687,7 @@ void CSettings::InitializeOptionFillers() m_settingsManager->RegisterSettingOptionsFiller("aequalitylevels", CAEFactory::SettingOptionsAudioQualityLevelsFiller); m_settingsManager->RegisterSettingOptionsFiller("audiodevices", CAEFactory::SettingOptionsAudioDevicesFiller); m_settingsManager->RegisterSettingOptionsFiller("audiodevicespassthrough", CAEFactory::SettingOptionsAudioDevicesPassthroughFiller); + m_settingsManager->RegisterSettingOptionsFiller("audiostreamsilence", CAEFactory::SettingOptionsAudioStreamsilenceFiller); m_settingsManager->RegisterSettingOptionsFiller("charsets", CCharsetConverter::SettingOptionsCharsetsFiller); m_settingsManager->RegisterSettingOptionsFiller("epgguideviews", PVR::CGUIWindowPVRGuide::SettingOptionsEpgGuideViewFiller); m_settingsManager->RegisterSettingOptionsFiller("fonts", GUIFontManager::SettingOptionsFontsFiller); -- 2.7.4