diff --git a/src/audio/IAudioAPI.cpp b/src/audio/IAudioAPI.cpp index dc266eed..000b1182 100644 --- a/src/audio/IAudioAPI.cpp +++ b/src/audio/IAudioAPI.cpp @@ -76,7 +76,7 @@ void IAudioAPI::InitWFX(sint32 samplerate, sint32 channels, sint32 bits_per_samp void IAudioAPI::InitializeStatic() { - s_audioDelay = GetConfig().audio_delay; + SetAudioDelay(GetConfig().audio_delay); #if BOOST_OS_WINDOWS s_availableApis[DirectSound] = true; @@ -98,6 +98,11 @@ bool IAudioAPI::IsAudioAPIAvailable(AudioAPI api) return false; } +void IAudioAPI::SetAudioDelay(uint32 audioDelay) +{ + s_audioDelay = audioDelay; +} + AudioAPIPtr IAudioAPI::CreateDeviceFromConfig(AudioType type, sint32 rate, sint32 samples_per_block, sint32 bits_per_sample) { sint32 channels = CemuConfig::AudioChannelsToNChannels(AudioTypeToChannels(type)); diff --git a/src/audio/IAudioAPI.h b/src/audio/IAudioAPI.h index 34df421a..504d615f 100644 --- a/src/audio/IAudioAPI.h +++ b/src/audio/IAudioAPI.h @@ -8,8 +8,6 @@ class IAudioAPI { - friend class GeneralSettings2; - public: class DeviceDescription { @@ -66,11 +64,11 @@ public: virtual bool Stop() = 0; void SetAudioDelayOverride(uint32 delay); uint32 GetAudioDelay() const; + static void SetAudioDelay(uint32 audioDelay); static void PrintLogging(); static void InitializeStatic(); static bool IsAudioAPIAvailable(AudioAPI api); - static std::unique_ptr CreateDeviceFromConfig(AudioType type, sint32 rate, sint32 samples_per_block, sint32 bits_per_sample); static std::unique_ptr CreateDeviceFromConfig(AudioType type, sint32 rate, sint32 channels, sint32 samples_per_block, sint32 bits_per_sample); static std::unique_ptr CreateDevice(AudioAPI api, const DeviceDescriptionPtr& device, sint32 samplerate, sint32 channels, sint32 samples_per_block, sint32 bits_per_sample); diff --git a/src/gui/wxgui/GeneralSettings2.cpp b/src/gui/wxgui/GeneralSettings2.cpp index f1435fba..134c1064 100644 --- a/src/gui/wxgui/GeneralSettings2.cpp +++ b/src/gui/wxgui/GeneralSettings2.cpp @@ -1336,7 +1336,7 @@ void GeneralSettings2::DisableSettings(bool game_launched) void GeneralSettings2::OnAudioLatencyChanged(wxCommandEvent& event) { - IAudioAPI::s_audioDelay = event.GetInt(); + IAudioAPI::SetAudioDelay(event.GetInt()); event.Skip(); }