Skip to main content

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