Files
2024-09-08 20:51:20 -04:00

84 lines
2.8 KiB
C++

#ifndef JASSEQPARSER_H
#define JASSEQPARSER_H
#include "dolphin/types.h"
namespace JASystem {
class TTrack;
class TSeqParser {
public:
typedef int (TSeqParser::*CmdFunc)(JASystem::TTrack*, u32*);
int cmdOpenTrack(TTrack*, u32*);
int cmdOpenTrackBros(TTrack*, u32*);
int cmdCall(TTrack*, u32*);
int cmdRet(TTrack*, u32*);
int cmdJmp(TTrack*, u32*);
int cmdLoopS(TTrack*, u32*);
int cmdLoopE(TTrack*, u32*);
int cmdReadPort(TTrack*, u32*);
int cmdWritePort(TTrack*, u32*);
int cmdParentWritePort(TTrack*, u32*);
int cmdChildWritePort(TTrack*, u32*);
int cmdCheckPortImport(TTrack*, u32*);
int cmdCheckPortExport(TTrack*, u32*);
int cmdWait(TTrack*, u32*);
int cmdSetLastNote(TTrack*, u32*);
int cmdTimeRelate(TTrack*, u32*);
int cmdSimpleOsc(TTrack*, u32*);
int cmdSimpleEnv(TTrack*, u32*);
int cmdSimpleADSR(TTrack*, u32*);
int cmdTranspose(TTrack*, u32*);
int cmdCloseTrack(TTrack*, u32*);
int cmdOutSwitch(TTrack*, u32*);
int cmdUpdateSync(TTrack*, u32*);
int cmdBusConnect(TTrack*, u32*);
int cmdPauseStatus(TTrack*, u32*);
int cmdVolumeMode(TTrack*, u32*);
int cmdSetInterrupt(TTrack*, u32*);
int cmdDisInterrupt(TTrack*, u32*);
int cmdClrI(TTrack*, u32*);
int cmdSetI(TTrack*, u32*);
int cmdRetI(TTrack*, u32*);
int cmdIntTimer(TTrack*, u32*);
int cmdSyncCPU(TTrack*, u32*);
int cmdFlushAll(TTrack*, u32*);
int cmdFlushRelease(TTrack*, u32*);
int cmdTimeBase(TTrack*, u32*);
int cmdTempo(TTrack*, u32*);
int cmdFinish(TTrack*, u32*);
int cmdNop(TTrack*, u32*);
int cmdPanPowSet(TTrack*, u32*);
int cmdFIRSet(TTrack*, u32*);
int cmdEXTSet(TTrack*, u32*);
int cmdPanSwSet(TTrack*, u32*);
int cmdOscRoute(TTrack*, u32*);
int cmdVibDepth(TTrack*, u32*);
int cmdVibDepthMidi(TTrack*, u32*);
int cmdVibPitch(TTrack*, u32*);
int cmdIIRSet(TTrack*, u32*);
int cmdIIRCutOff(TTrack*, u32*);
int cmdOscFull(TTrack*, u32*);
int cmdCheckWave(TTrack*, u32*);
int cmdPrintf(TTrack*, u32*);
int Cmd_Process(TTrack*, u8, u16);
int RegCmd_Process(TTrack*, int, int);
int cmdSetParam(TTrack*, u8);
int cmdWait(TTrack*, u8);
int cmdNoteOff(TTrack*, u8);
int cmdNoteOn(TTrack*, u8);
bool conditionCheck(TTrack*, u8);
int parseSeq(TTrack*);
static CmdFunc sCmdPList[];
};
struct Arg_s { // Fake name
u16 m00;
u16 m02;
};
extern const Arg_s Arglist[0x40];
}
#endif /* JASSEQPARSER_H */