| Miles Sound System SDK 7.2a |
The function AIL_register_ICA_array allows the application to declares an array of 128 bytes whose entries may be used to replace XMIDI or MIDI controller values whose controller events are preceded by an XMIDI Indirect Controller Prefix controller (115).
void AIL_register_ICA_array( HSEQUENCE S, U8 const * array ); |
The *array parameter should point to an array of up to 128 bytes of application memory known as the sequence's Indirect Controller Array. A non-NULL value allows the XMIDI sequence to take advantage of the XMIDI Indirect Controller Prefix control event (115). This Extended MIDI Control Change event causes the very next MIDI Control Change event in its channel to ignore its own explicitly specified value, obtaining its value instead from the Indirect Controller Array's nth byte entry, where n is the Indirect Controller Prefix controller's own value. In this manner, any performance parameter normally determined by Control Change events (e.g. volume, panpot, XMIDI looping or reverb control, etc.) may be dynamically altered by the MSS application. This technique offers an alternative to explicit MIDI messages sent via the AIL_send_channel_voice_message function. (One important difference is that changes made by the application to the Indirect Controller Array will have no effect until the sequence executes an Indirect Controller Prefix/Control Change event pair which refers to the changed array entry.) If no Indirect Controller Prefix events appear in the sequence, the indirect controller array will be unused.
Because *array is accessed at interrupt time, it must be present in page-locked memory.
Group:
XMIDI Services
Related Sections:
XMIDI Indirect Controller Prefix (115)
Related Functions:
AIL_send_channel_voice_message
Related Basic Types:
HSEQUENCE, U8, void
For technical support, e-mail Miles3@radgametools.com
© Copyright 1991-2007 RAD Game Tools, Inc. All Rights Reserved.