diff --git a/stepmania/src/GameSoundManager.cpp b/stepmania/src/GameSoundManager.cpp index ba65d66bc3..7b15f2a40e 100644 --- a/stepmania/src/GameSoundManager.cpp +++ b/stepmania/src/GameSoundManager.cpp @@ -244,8 +244,6 @@ static void StartMusic( MusicToPlay &ToPlay ) if( ToPlay.bForceLoop ) p.StopMode = RageSoundParams::M_LOOP; NewMusic->m_Music->SetParams( p ); - - NewMusic->m_Music->SetPositionSeconds( p.m_StartSecond ); NewMusic->m_Music->StartPlaying(); } diff --git a/stepmania/src/RageSound.cpp b/stepmania/src/RageSound.cpp index 995391bb38..c74fefb0a6 100644 --- a/stepmania/src/RageSound.cpp +++ b/stepmania/src/RageSound.cpp @@ -308,6 +308,9 @@ void RageSound::StartPlaying() { ASSERT( !m_bPlaying ); + // Move to the start position. + SetPositionFrames( lrintf(m_Param.m_StartSecond * samplerate()) ); + /* If m_StartTime is in the past, then we probably set a start time but took too * long loading. We don't want that; log it, since it can be unobvious. */ if( !m_Param.m_StartTime.IsZero() && m_Param.m_StartTime.Ago() > 0 ) diff --git a/stepmania/src/RageSoundManager.cpp b/stepmania/src/RageSoundManager.cpp index 1b8be44fab..07a49f5bd7 100644 --- a/stepmania/src/RageSoundManager.cpp +++ b/stepmania/src/RageSoundManager.cpp @@ -182,9 +182,6 @@ RageSound *RageSoundManager::PlaySound( RageSound &snd, const RageSoundParams *p if( params ) snd.SetParams( *params ); - // Move to the start position. - snd.SetPositionSeconds( snd.GetParams().m_StartSecond ); - snd.StartPlaying(); return &snd; } @@ -197,9 +194,6 @@ RageSound *RageSoundManager::PlayCopyOfSound( RageSound &snd, const RageSoundPar if( pParams ) pSound->SetParams( *pParams ); - // Move to the start position. - pSound->SetPositionSeconds( pSound->GetParams().m_StartSecond ); - pSound->StartPlaying(); return pSound;