From a9ac27c7308c0fe45287bfc14762d59df30bd841 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 27 Oct 2005 16:51:18 +0000 Subject: [PATCH] move SoundResampleQuality into RageSoundReader_Resample --- stepmania/src/PrefsManager.cpp | 2 -- stepmania/src/PrefsManager.h | 2 -- stepmania/src/RageSound.cpp | 2 +- stepmania/src/RageSoundReader_Resample.cpp | 7 +++++++ stepmania/src/RageSoundReader_Resample.h | 12 ++++++++++-- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index b742f74324..eefc53aef4 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -5,7 +5,6 @@ #include "RageDisplay.h" #include "RageUtil.h" #include "arch/arch_default.h" -#include "RageSoundReader_Resample.h" /* for ResampleQuality */ #include "RageFile.h" #include "ProductInfo.h" #include "Foreach.h" @@ -400,7 +399,6 @@ PrefsManager::PrefsManager() : m_iSoundWriteAhead ( "SoundWriteAhead", 0 ), m_iSoundDevice ( "SoundDevice", "" ), m_iSoundPreferredSampleRate ( "SoundPreferredSampleRate", 44100 ), - m_SoundResampleQuality ( "SoundResampleQuality", RageSoundReader_Resample::RESAMP_NORMAL ), m_sInputDrivers ( "InputDrivers", "" ), m_sLightsDriver ( "LightsDriver", "" ), m_sMovieDrivers ( "MovieDrivers", "" ), diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h index fa541e619d..9d8343e8fe 100644 --- a/stepmania/src/PrefsManager.h +++ b/stepmania/src/PrefsManager.h @@ -7,7 +7,6 @@ #include "GameConstantsAndTypes.h" #include "Grade.h" // for NUM_GRADE_TIERS #include "Preference.h" -#include "RageSoundReader_Resample.h" // for ResampleQuality class IniFile; const int MAX_SONGS_PER_PLAY = 7; @@ -224,7 +223,6 @@ public: Preference m_iSoundWriteAhead; Preference m_iSoundDevice; Preference m_iSoundPreferredSampleRate; - Preference m_SoundResampleQuality; private: Preference m_sInputDrivers; // "" == default Preference m_sLightsDriver; // "" == default diff --git a/stepmania/src/RageSound.cpp b/stepmania/src/RageSound.cpp index 10f924f002..5a2b831b36 100644 --- a/stepmania/src/RageSound.cpp +++ b/stepmania/src/RageSound.cpp @@ -226,7 +226,7 @@ void RageSound::LoadSoundReader( SoundReader *pSound ) const int iNeededRate = SOUNDMAN->GetDriverSampleRate( pSound->GetSampleRate() ); if( iNeededRate != pSound->GetSampleRate() ) { - RageSoundReader_Resample *Resample = RageSoundReader_Resample::MakeResampler( PREFSMAN->m_SoundResampleQuality ); + RageSoundReader_Resample *Resample = RageSoundReader_Resample::MakeResampler(); Resample->Open( pSound ); Resample->SetSampleRate( iNeededRate ); pSound = Resample; diff --git a/stepmania/src/RageSoundReader_Resample.cpp b/stepmania/src/RageSoundReader_Resample.cpp index 5de27d2a5e..c2f9673a2e 100644 --- a/stepmania/src/RageSoundReader_Resample.cpp +++ b/stepmania/src/RageSoundReader_Resample.cpp @@ -2,9 +2,16 @@ #include "RageSoundReader_Resample.h" #include "RageSoundReader_Resample_Fast.h" #include "RageSoundReader_Resample_Good.h" +#include "Preference.h" + +static Preference + g_SoundResampleQuality( "SoundResampleQuality", RageSoundReader_Resample::RESAMP_NORMAL ); RageSoundReader_Resample *RageSoundReader_Resample::MakeResampler( ResampleQuality q ) { + if( q == RESAMP_INVALID ) + q = g_SoundResampleQuality; + switch( q ) { case RESAMP_FAST: diff --git a/stepmania/src/RageSoundReader_Resample.h b/stepmania/src/RageSoundReader_Resample.h index 968eac6275..65d499772f 100644 --- a/stepmania/src/RageSoundReader_Resample.h +++ b/stepmania/src/RageSoundReader_Resample.h @@ -8,14 +8,22 @@ class RageSoundReader_Resample: public SoundReader { public: + enum ResampleQuality + { + RESAMP_FAST, + RESAMP_NORMAL, + RESAMP_HIGHQUALITY, + RESAMP_INVALID + }; + /* We own source. */ virtual void Open( SoundReader *pSource ) = 0; /* Change the actual sample rate of a sound. */ virtual void SetSampleRate( int iRate ) = 0; - enum ResampleQuality { RESAMP_FAST, RESAMP_NORMAL, RESAMP_HIGHQUALITY }; - static RageSoundReader_Resample *MakeResampler( ResampleQuality q ); + /* If q = RESAMP_INVALID, the preferred resampler will be used. */ + static RageSoundReader_Resample *MakeResampler( ResampleQuality q = RESAMP_INVALID ); }; #endif