46 MML_CMD_SET_MASK = 0xf0,
51 MML_OPEN_TRACK = 0x88,
55 MML_ARG_1_RANDOM = 0xa0,
62 MML_SET_TIMEBASE = 0xb0,
65 MML_SET_TRACK_VELOCITY_RANGE,
71 MML_SET_PLAYER_VOLUME,
86 MML_SET_ATTACK = 0xd0,
91 MML_SET_TRACK_VOLUME2,
103 MML_SET_LFO_DELAY = 0xe0,
108 MML_RESET_ADSR = 0xfb,
117 MML_EX_COMMAND = 0xf0,
119 MML_EX_CMD_MAX = 0xffff,
121 MML_EX_ARITHMETIC = 0x80,
143 MML_EX_USERPROC = 0xe0,
150 virtual void CommandProc(
MmlSeqTrack *track, ulong command,
151 s32 commandArg1, s32 commandArg2)
const;
153 int velocity, s32 length,
157 MmlSeqTrack::ParseResult Parse(
MmlSeqTrack *track,
bool doNoteOn)
const;
162 static void EnablePrintVar(
bool enable)
164 mPrintVarEnabledFlag = enable;
167 static ulong ParseAllocTrack(
void const *baseAddress, ulong seqOffset,
171 u8 ReadByte(byte_t
const **ptr)
const {
return *(*ptr)++; }
172 u16 Read16(byte_t
const **ptr)
const;
173 ulong Read24(byte_t
const **ptr)
const;
174 s32 ReadVar(byte_t
const **ptr)
const;
176 SeqArgType argType)
const;
180 static int const TEMPO_MAX = 1023;
181 static int const TEMPO_MIN = 0;
182 static int const CALL_STACK_DEPTH = 3;
183 static int const SURROUND_PAN_CENTER;
184 static int const PAN_CENTER = 64;
187 static bool mPrintVarEnabledFlag;