typeSpecific (code 148)


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

typeSpecific events have a variable number of 8-bits fields.


Creates a typeSpecific event from an array of bytes. Returns a pointer to the event or NIL if there is no more memory space.


MidiEvPtr Specific ( long date, short len, Byte *p)
{
    MidiEvPtr e;
    short    c;

    if ( e = MidiNewEv( typeStream ) )    /* Allocate a new event. Check not NIL */ 
    {
        Date(e) = date;
        c = len;                    
        while (c--) MidiAddField(e,*p++);
        if (MidiCountFields(e) < len ) /* if event smaller than len then*/
        {
            MidiFreeEv(e);        /*     we run out of memory, free it */
            e = nil;            /*     and return nil */
        }
    }
    return e;
}