Instrument events
"Triggering" an instrument means triggering the channel's three envelopes and applying the PITCH_FACTOR and MOD_FACTOR to its dynamics. Releasing an instrument releases its three envelopes.
I/O definitions
CLASS IO_INSTRUMENT # SIZE 222
INSET ENVELOPES: IO_ENVELOPE[INSET 3]
INSET WAVE_A: IO_WAVE_WITH_DIGITAR
INSET WAVE_B: IO_WAVE_WITH_DIGITAR
INSET WAVE_C: IO_WAVE
INSET CHANNEL_EFFECT: IO_CHANNEL_EFFECT
# UNITS: S6.10 FIXED POINT
INSET LEFT_LEVEL: IO_DYNAMIC
# UNITS: S6.10 FIXED POINT
INSET RIGHT_LEVEL: IO_DYNAMIC
# UNITS: S6.10 FIXED POINT
INSET REVERB_LEVEL: IO_DYNAMIC # [JAMDAC PLUS]
# 1=STEREO LEFT CHANNEL IS DELAYED
VAR APPLY_WIDENER: BYTE
END CLASS
CLASS IO_AUDIO_EVENT # SIZE 5
# 0 = LOAD INSTRUMENT OPERAND = ADDRESS OF IO_INSTRUMENT
# OR NULL TO RESET
# 1 = TRIGGER INSTRUMENT OPERAND = MOD_FACTOR IN HIGH PAIR;
# PITCH_FACTOR IN LOW PAIR
# (VALUES ARE S6.10 FIXED POINT)
# * 2 = RELEASE INSTRUMENT
. . .
VAR KIND: BYTE
VAR OPERAND: INT
END CLASS