diff --git a/src/win32/MainWndOptions.cpp b/src/win32/MainWndOptions.cpp index 3f8d67ee..0d6ac8e3 100644 --- a/src/win32/MainWndOptions.cpp +++ b/src/win32/MainWndOptions.cpp @@ -786,7 +786,7 @@ void MainWnd::OnAudioCoreSettings() dlg.m_declicking = gbSoundGetDeclicking(); dlg.m_sound_interpolation = soundInterpolation; dlg.m_sound_filtering = soundFiltering; - dlg.m_sample_rate = 44100 / soundQuality; + dlg.m_sample_rate = soundGetSampleRate(); if( IDOK == dlg.DoModal() ) { gb_effects_config_t _new; @@ -807,9 +807,9 @@ void MainWnd::OnAudioCoreSettings() soundFiltering = dlg.m_sound_filtering; if( theApp.cartridgeType == IMAGE_GBA ) { - soundSetQuality( 44100 / dlg.m_sample_rate ); + soundSetSampleRate( dlg.m_sample_rate ); } else if( theApp.cartridgeType == IMAGE_GB ) { - gbSoundSetQuality( 44100 / dlg.m_sample_rate ); + gbSoundSetSampleRate( dlg.m_sample_rate ); } } } diff --git a/src/win32/MainWndTools.cpp b/src/win32/MainWndTools.cpp index a3ff0754..bc6e431c 100644 --- a/src/win32/MainWndTools.cpp +++ b/src/win32/MainWndTools.cpp @@ -397,7 +397,7 @@ void MainWnd::OnToolsRecordStartavirecording() // add audio stream ret = theApp.aviRecorder->CreateAudioStream( 2, - 44100 / soundGetQuality(), + soundGetSampleRate(), 16, this->GetSafeHwnd() ); diff --git a/src/win32/VBA.cpp b/src/win32/VBA.cpp index 9f771113..f4cbd536 100644 --- a/src/win32/VBA.cpp +++ b/src/win32/VBA.cpp @@ -1290,7 +1290,7 @@ void systemOnWriteDataToSoundBuffer(const u16 * finalWave, int length) format.cbSize = 0; format.wFormatTag = WAVE_FORMAT_PCM; format.nChannels = 2; - format.nSamplesPerSec = 44100 / soundQuality; + format.nSamplesPerSec = soundGetSampleRate(); format.wBitsPerSample = 16; format.nBlockAlign = format.nChannels * ( format.wBitsPerSample >> 3 ); format.nAvgBytesPerSec = format.nSamplesPerSec * format.nBlockAlign; @@ -1524,7 +1524,8 @@ void VBA::loadSettings() int res = regQueryDwordValue("soundEnable", 0x30f); soundSetEnable(res); - soundQuality = regQueryDwordValue("soundQuality", 1); + long soundQuality = regQueryDwordValue("soundQuality", 1); + soundSetSampleRate(44100 / soundQuality); soundSetVolume( (float)(regQueryDwordValue("soundVolume", 100)) / 100.0f ); @@ -2518,7 +2519,7 @@ void VBA::saveSettings() regSetDwordValue("soundEnable", soundGetEnable() & 0x30f); - regSetDwordValue("soundQuality", soundQuality); + regSetDwordValue("soundQuality", soundGetSampleRate() / 44100); regSetDwordValue("soundVolume", (DWORD)(soundGetVolume() * 100.0f));