/** Process startup/restart commands. */ void StartupCommands(void) { if(isRestarting) { RunCommands(restartCommands); } else { RunCommands(startupCommands); } }
void BPMDisplay::SetBPMRange( const DisplayBpms &bpms ) { ASSERT( !bpms.vfBpms.empty() ); m_BPMS.clear(); const vector<float> &BPMS = bpms.vfBpms; bool AllIdentical = true; for( unsigned i = 0; i < BPMS.size(); ++i ) { if( i > 0 && BPMS[i] != BPMS[i-1] ) AllIdentical = false; } if( !(bool)CYCLE ) { int MinBPM = INT_MAX; int MaxBPM = INT_MIN; for( unsigned i = 0; i < BPMS.size(); ++i ) { MinBPM = min( MinBPM, (int)lrintf(BPMS[i]) ); MaxBPM = max( MaxBPM, (int)lrintf(BPMS[i]) ); } if( MinBPM == MaxBPM ) { if( MinBPM == -1 ) SetText( RANDOM_TEXT ); // random (was "...") -aj else SetText( ssprintf("%i", MinBPM) ); } else { SetText( ssprintf("%i%s%i", MinBPM, SEPARATOR.GetValue().c_str(), MaxBPM) ); } } else { for( unsigned i = 0; i < BPMS.size(); ++i ) { m_BPMS.push_back(BPMS[i]); if( BPMS[i] != -1 ) m_BPMS.push_back(BPMS[i]); // hold } m_iCurrentBPM = min(1u, m_BPMS.size()); // start on the first hold m_fBPMFrom = BPMS[0]; m_fBPMTo = BPMS[0]; m_fPercentInState = 1; } if( GAMESTATE->IsAnExtraStageAndSelectionLocked() ) RunCommands( SET_EXTRA_COMMAND ); else if( !AllIdentical ) RunCommands( SET_CHANGING_COMMAND ); else RunCommands( SET_NORMAL_COMMAND ); }
/** Process shutdown commands. */ void ShutdownCommands() { if(!shouldRestart) { RunCommands(shutdownCommands); } }
void BPMDisplay::CycleRandomly() { DisplayBpms bpms; bpms.Add(-1); SetBPMRange( bpms ); RunCommands( SET_RANDOM_COMMAND ); m_fCycleTime = (float)RANDOM_CYCLE_SPEED; // Go to default value in event of a negative value in the metrics if( m_fCycleTime < 0 ) m_fCycleTime = 0.2f; }
void BPMDisplay::Load() { SET_NO_BPM_COMMAND.Load( m_sName, "SetNoBpmCommand"); SET_NORMAL_COMMAND.Load( m_sName, "SetNormalCommand"); SET_CHANGING_COMMAND.Load( m_sName, "SetChangeCommand" ); SET_RANDOM_COMMAND.Load( m_sName, "SetRandomCommand" ); SET_EXTRA_COMMAND.Load( m_sName, "SetExtraCommand" ); CYCLE.Load( m_sName, "Cycle" ); RANDOM_CYCLE_SPEED.Load( m_sName, "RandomCycleSpeed" ); COURSE_CYCLE_SPEED.Load( m_sName, "CourseCycleSpeed" ); SEPARATOR.Load( m_sName, "Separator" ); SHOW_QMARKS.Load( m_sName, "ShowQMarksInRandomCycle" ); NO_BPM_TEXT.Load( m_sName, "NoBpmText" ); QUESTIONMARKS_TEXT.Load( m_sName, "QuestionMarksText" ); RANDOM_TEXT.Load( m_sName, "RandomText" ); VARIOUS_TEXT.Load( m_sName, "VariousText" ); BPM_FORMAT_STRING.Load( m_sName, "FormatString" ); RunCommands( SET_NORMAL_COMMAND ); }
void BPMDisplay::NoBPM() { m_BPMS.clear(); SetText( NO_BPM_TEXT ); RunCommands( SET_NO_BPM_COMMAND ); }