typeSongPos (code 8)


A Song Position Pointer message with a 14 bit location (unit : 6 Midi Clocks).

SongPos events have 2 fields numbered from 0 to 1 :

0
LS 7-Bits of 14-bits location, from 0 to 127. (Field size : 1 byte)
1
MS 7-Bits of 14-bits location, from 0 to 127. (Field size : 1 byte)


Creates a SongPos event with a location in Midi clocks. The location is internally divided by 6. Return a pointer to the event or NIL if there is no more memory space.


MidiEvPtr SongPos( long date, short pos, short port)
{
    MidiEvPtr e;

    pos = pos / 6;

    if ( e = MidiNewEv( typeSongPos) )    /* Allocate a new event. Check not NIL */ 
    {
        Date(e) = date;        /* These information are common to all */
        Port(e) = port;        /* kind of events */
        MidiSetField(e,0,pos & 0x7F);    /* LS-7bits Field */
        MidiSetField(e,1,pos>>7 & 0x7F);    /* MS-7bits Field */
    }
    return e;
}