summaryrefslogtreecommitdiff
path: root/include/JSystem/JAudio/JASSeqParser.h
blob: 4765465d61fe20a2c85c441eb779a4e78fadf209 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#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 */