From 1146c57dc8437eaa72ff495576148dfe3aa2e750 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 29 Nov 2006 02:45:40 +0000 Subject: [PATCH] specify source and dest sample rate in the ctor; they don't change --- stepmania/src/RageSound.cpp | 4 +--- stepmania/src/RageSoundReader_Chain.cpp | 4 +--- .../src/RageSoundReader_Resample_Good.cpp | 20 ++++--------------- stepmania/src/RageSoundReader_Resample_Good.h | 4 +--- 4 files changed, 7 insertions(+), 25 deletions(-) diff --git a/stepmania/src/RageSound.cpp b/stepmania/src/RageSound.cpp index 26ffce1ffb..2a66de0946 100644 --- a/stepmania/src/RageSound.cpp +++ b/stepmania/src/RageSound.cpp @@ -223,9 +223,7 @@ void RageSound::LoadSoundReader( RageSoundReader *pSound ) const int iNeededRate = SOUNDMAN->GetDriverSampleRate( pSound->GetSampleRate() ); if( iNeededRate != pSound->GetSampleRate() ) { - RageSoundReader_Resample_Good *Resample = new RageSoundReader_Resample_Good; - Resample->Open( pSound ); - Resample->SetSampleRate( iNeededRate ); + RageSoundReader_Resample_Good *Resample = new RageSoundReader_Resample_Good( pSound, iNeededRate ); pSound = Resample; } diff --git a/stepmania/src/RageSoundReader_Chain.cpp b/stepmania/src/RageSoundReader_Chain.cpp index 0181a0eb51..aae3a46e93 100644 --- a/stepmania/src/RageSoundReader_Chain.cpp +++ b/stepmania/src/RageSoundReader_Chain.cpp @@ -133,9 +133,7 @@ void RageSoundReader_Chain::Finish() { SoundReader *&pSound = it->second; - RageSoundReader_Resample_Good *pResample = new RageSoundReader_Resample_Good; - pResample->Open( pSound ); - pResample->SetSampleRate( m_iPreferredSampleRate ); + RageSoundReader_Resample_Good *pResample = new RageSoundReader_Resample_Good( pSound, m_iPreferredSampleRate ); pSound = pResample; } diff --git a/stepmania/src/RageSoundReader_Resample_Good.cpp b/stepmania/src/RageSoundReader_Resample_Good.cpp index 2af8406cf0..39cc096de8 100644 --- a/stepmania/src/RageSoundReader_Resample_Good.cpp +++ b/stepmania/src/RageSoundReader_Resample_Good.cpp @@ -540,10 +540,11 @@ private: int m_iDownFactor; }; -RageSoundReader_Resample_Good::RageSoundReader_Resample_Good() +RageSoundReader_Resample_Good::RageSoundReader_Resample_Good( RageSoundReader *pSource, int iSampleRate ) { - m_pSource = NULL; - m_iSampleRate = -1; + m_pSource = pSource; + m_iSampleRate = iSampleRate; + ReopenResampler(); } /* Call this if the input position is changed or reset. */ @@ -577,13 +578,6 @@ void RageSoundReader_Resample_Good::ReopenResampler() } } -void RageSoundReader_Resample_Good::Open( SoundReader *pSource ) -{ - ASSERT(pSource); - m_pSource = pSource; -} - - RageSoundReader_Resample_Good::~RageSoundReader_Resample_Good() { for( size_t iChannel = 0; iChannel < m_apResamplers.size(); ++iChannel ) @@ -591,12 +585,6 @@ RageSoundReader_Resample_Good::~RageSoundReader_Resample_Good() delete m_pSource; } -void RageSoundReader_Resample_Good::SetSampleRate( int iHZ ) -{ - m_iSampleRate = iHZ; - ReopenResampler(); -} - int RageSoundReader_Resample_Good::GetLength() const { return m_pSource->GetLength(); diff --git a/stepmania/src/RageSoundReader_Resample_Good.h b/stepmania/src/RageSoundReader_Resample_Good.h index 5a93c8e87f..5d286a1a7e 100644 --- a/stepmania/src/RageSoundReader_Resample_Good.h +++ b/stepmania/src/RageSoundReader_Resample_Good.h @@ -12,7 +12,7 @@ class RageSoundReader_Resample_Good: public RageSoundReader { public: /* We own source. */ - void Open( SoundReader *pSource ); + RageSoundReader_Resample_Good( RageSoundReader *pSource, int iSampleRate ); RageSoundReader_Resample_Good( const RageSoundReader_Resample_Good &cpy ); int GetLength() const; int GetLength_Fast() const; @@ -23,8 +23,6 @@ public: virtual ~RageSoundReader_Resample_Good(); RageSoundReader_Resample_Good *Copy() const; - /* Change the actual sample rate of a sound. */ - void SetSampleRate( int iHZ ); void SetHighQuality( bool bHQ ) { } int GetSampleRate() const { return m_iSampleRate; }