From 536768c91b344b059f3e66d5a456518a005d903f Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Wed, 8 May 2013 23:46:54 -0400 Subject: [PATCH] Split parsing from processing for BPMs/stops --- src/NotesLoaderSM.cpp | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 587837785f..a811e40fd2 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -214,12 +214,8 @@ bool SMLoader::ProcessBPMs( TimingData &out, const RString line, const int rowsP { vector arrayBPMChangeExpressions; split( line, ",", arrayBPMChangeExpressions ); - - // prepare storage variables for negative BPMs -> Warps. - float negBeat = -1; - float negBPM = 1; - float highspeedBeat = -1; - bool bNotEmpty = false; + + vector< pair > vBPMChanges; for( unsigned b=0; b Warps. + float negBeat = -1; + float negBPM = 1; + float highspeedBeat = -1; + bool bNotEmpty = false; + + for( unsigned b=0; b arrayFreezeExpressions; split( line, ",", arrayFreezeExpressions ); - // Prepare variables for negative stop conversion. - float negBeat = -1; - float negPause = 0; + vector< pair > vStops; for( unsigned f=0; f 0 ) {