From 146b49ec09c1fcb9f1d654884ce3daac4d692c53 Mon Sep 17 00:00:00 2001 From: montellese Date: Sat, 19 May 2012 22:59:01 +0200 Subject: [PATCH] jsonrpc: fix OnVolumeChanged notifications after AE merge --- xbmc/Application.cpp | 18 ++++++++++++------ xbmc/Application.h | 2 ++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp index 639c621693fcd..705ff6e841fe3 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -2684,7 +2684,7 @@ bool CApplication::OnAction(const CAction &action) else volume -= (float)fabs(action.GetAmount()) * action.GetAmount() * step; - SetHardwareVolume(volume); + SetVolume(volume, false); } // show visual feedback of volume change... ShowVolumeBar(&action); @@ -5186,6 +5186,7 @@ void CApplication::Mute() CAEFactory::AE->SetMute(true); g_settings.m_bMute = true; + VolumeChanged(); } void CApplication::UnMute() @@ -5195,6 +5196,7 @@ void CApplication::UnMute() CAEFactory::AE->SetMute(false); g_settings.m_bMute = false; + VolumeChanged(); } void CApplication::SetVolume(float iValue, bool isPercentage/*=true*/) @@ -5205,11 +5207,7 @@ void CApplication::SetVolume(float iValue, bool isPercentage/*=true*/) hardwareVolume /= 100.0f; SetHardwareVolume(hardwareVolume); - - CVariant data(CVariant::VariantTypeObject); - data["volume"] = (int)(hardwareVolume * 100.0f + 0.5f); - data["muted"] = g_settings.m_bMute; - CAnnouncementManager::Announce(Application, "xbmc", "OnVolumeChanged", data); + VolumeChanged(); } void CApplication::SetHardwareVolume(float hardwareVolume) @@ -5235,6 +5233,14 @@ int CApplication::GetVolume() const return (int)(g_settings.m_fVolumeLevel * 100.0f); } +void CApplication::VolumeChanged() const +{ + CVariant data(CVariant::VariantTypeObject); + data["volume"] = GetVolume(); + data["muted"] = g_settings.m_bMute; + CAnnouncementManager::Announce(Application, "xbmc", "OnVolumeChanged", data); +} + int CApplication::GetSubtitleDelay() const { // converts subtitle delay to a percentage diff --git a/xbmc/Application.h b/xbmc/Application.h index f253b960bc82a..79ef883d5d97e 100644 --- a/xbmc/Application.h +++ b/xbmc/Application.h @@ -410,6 +410,8 @@ class CApplication : public CXBApplicationEx, public IPlayerCallback, public IMs void UpdateLCD(); void FatalErrorHandler(bool WindowSystemInitialized, bool MapDrives, bool InitNetwork); + void VolumeChanged() const; + bool PlayStack(const CFileItem& item, bool bRestart); bool SwitchToFullScreen(); bool ProcessMouse();