Пример #1
0
/** Process startup/restart commands. */
void StartupCommands(void)
{
   if(isRestarting) {
      RunCommands(restartCommands);
   } else {
      RunCommands(startupCommands);
   }
}
Пример #2
0
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 );
}
Пример #3
0
/** Process shutdown commands. */
void ShutdownCommands() {

   if(!shouldRestart) {
      RunCommands(shutdownCommands);
   }

}
Пример #4
0
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;
}
Пример #5
0
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 );
}
Пример #6
0
void BPMDisplay::NoBPM()
{
    m_BPMS.clear();
    SetText( NO_BPM_TEXT );
    RunCommands( SET_NO_BPM_COMMAND );
}