diff --git a/Source/Core/DolphinQt2/HotkeyScheduler.cpp b/Source/Core/DolphinQt2/HotkeyScheduler.cpp index 3be862f8e1..90305b1a09 100644 --- a/Source/Core/DolphinQt2/HotkeyScheduler.cpp +++ b/Source/Core/DolphinQt2/HotkeyScheduler.cpp @@ -159,18 +159,18 @@ void HotkeyScheduler::Run() if (IsHotkey(HK_EXIT)) emit ExitHotkey(); + auto& settings = Settings::Instance(); + // Volume if (IsHotkey(HK_VOLUME_DOWN)) - AudioCommon::DecreaseVolume(3); + settings.DecreaseVolume(3); if (IsHotkey(HK_VOLUME_UP)) - AudioCommon::IncreaseVolume(3); + settings.IncreaseVolume(3); if (IsHotkey(HK_VOLUME_TOGGLE_MUTE)) AudioCommon::ToggleMuteVolume(); - auto& settings = Settings::Instance(); - // Wiimote if (settings.IsBluetoothPassthroughEnabled()) { diff --git a/Source/Core/DolphinQt2/Settings.cpp b/Source/Core/DolphinQt2/Settings.cpp index bac3a4143f..5e29d14079 100644 --- a/Source/Core/DolphinQt2/Settings.cpp +++ b/Source/Core/DolphinQt2/Settings.cpp @@ -5,6 +5,7 @@ #include #include +#include "AudioCommon/AudioCommon.h" #include "Common/FileSearch.h" #include "Common/FileUtil.h" #include "Common/StringUtil.h" @@ -230,6 +231,32 @@ bool Settings::GetHideCursor() const return SConfig::GetInstance().bHideCursor; } +int Settings::GetVolume() const +{ + return SConfig::GetInstance().m_Volume; +} + +void Settings::SetVolume(int volume) +{ + if (GetVolume() != volume) + { + SConfig::GetInstance().m_Volume = volume; + emit VolumeChanged(volume); + } +} + +void Settings::IncreaseVolume(int volume) +{ + AudioCommon::IncreaseVolume(volume); + emit VolumeChanged(GetVolume()); +} + +void Settings::DecreaseVolume(int volume) +{ + AudioCommon::DecreaseVolume(volume); + emit VolumeChanged(GetVolume()); +} + bool& Settings::BannerVisible() const { return SConfig::GetInstance().m_showBannerColumn; diff --git a/Source/Core/DolphinQt2/Settings.h b/Source/Core/DolphinQt2/Settings.h index d7ee40246b..786add0fa5 100644 --- a/Source/Core/DolphinQt2/Settings.h +++ b/Source/Core/DolphinQt2/Settings.h @@ -75,6 +75,12 @@ public: void SetHideCursor(bool hide_cursor); bool GetHideCursor() const; + // Audio + int GetVolume() const; + void SetVolume(int volume); + void IncreaseVolume(int volume); + void DecreaseVolume(int volume); + // Columns bool& BannerVisible() const; bool& CountryVisible() const; @@ -116,6 +122,7 @@ signals: void PathAdded(const QString&); void PathRemoved(const QString&); void HideCursorChanged(); + void VolumeChanged(int volume); private: Settings();