typeTempo (code 144)


A tempo event (from the Midi File 1.0 specification). This event cannot be sent to external Midi devices.

typeTempo events have one field.

0
A tempo value in microseconds/Midi quarter-note 0 to 127. (Field size : 4 bytes)


Creates a typeTempo event from a floating point tempo value in quarter-notes per minutes. Returns a pointer to the event or NIL if there is not enough memory space.


MidiEvPtr TempoChange ( long date, float tempo)
{
    MidiEvPtr e;

    if ( e = MidiNewEv(typeTempo))    /* Allocate a new event. Check not NIL*    / 
    {
        Date(e) = date;                    
        MidiSetField(e, 0, (long)(60000000.0 / tempo));    
    }
    return e;
}


Converts a tempo event in microseconds per quarter-note in to a floating point tempo value in quarter-notes per minutes.


float GetTempo (MidiEvPtr e)
{
    return 60000000.0 / (float) MidiGetField(e,0);
}