A Control Change event with a controller number from 0 to 31 and a 14-bits value. When a typeCtrl14b event is sent to external Midi devices, actually two control change messages are sent, the first one for the MSB part of the value and the second one for the LSB part of the value. The message for the LSB part is sent only when the LSB part of the value is different from 0.
Ctrl14b events have 2 fields numbered from 0 to 1 :
0
- A control number from 0 to 31. (Field size : 2 byte)
1
- A control value from 0 to 16383. (Field size : 2 byte)
Creates a CtrlChange event. Return a pointer to the event or NIL if there is no more memory space.
MidiEvPtr CtrlChange14b( long date, short ctrl, short val, short chan, short port) { MidiEvPtr e; if ( e = MidiNewEv( typeCtrl14b ) ) /* Allocate a new event. Check not NIL */ { Date(e) = date; /* These information are common to all */ Chan(e) = chan; /* kind of events */ Port(e) = port; MidiSetField(e,0,ctrl); /* Fields particular to CtrlChange */ MidiSetField(e,1,val); } return e; }