diff --git a/stepmania/src/TimingData.cpp b/stepmania/src/TimingData.cpp index 4353800f43..ad1feb7873 100644 --- a/stepmania/src/TimingData.cpp +++ b/stepmania/src/TimingData.cpp @@ -2,6 +2,7 @@ #include "TimingData.h" #include "PrefsManager.h" #include "RageUtil.h" +#include "RageLog.h" TimingData::TimingData() { @@ -43,6 +44,16 @@ void TimingData::GetActualBPM( float &fMinBPMOut, float &fMaxBPMOut ) const void TimingData::AddBPMSegment( const BPMSegment &seg ) { + /* If we already have a BPM segment at this beat, replace it. */ + for( unsigned i=0; iTrace( "Replaced BPM segment at %f (%f BPM) with %f BPM", + m_BPMSegments[i].m_fStartBeat, m_BPMSegments[i].m_fBPM, seg.m_fBPM ); + m_BPMSegments[i] = seg; + return; + } + m_BPMSegments.push_back( seg ); SortBPMSegmentsArray( m_BPMSegments ); }