Files
tww/include/JSystem/JAudio/JASCmdStack.h
T
Jcw87 40e3fe24cb JAudio (#1196)
* JStudio

* JAudio
2026-09-05 10:54:59 -04:00

64 lines
1.7 KiB
C++

#ifndef JASCMDSTACK_H
#define JASCMDSTACK_H
#include "JSystem/JAudio/JASTrack.h"
#include "dolphin/types.h"
namespace JASystem {
namespace Kernel {
class TPortArgs {
public:
/* 0x00 */ TTrack* mTrack;
/* 0x04 */ u32 mFlags;
/* 0x08 */ f32 mTrackVolume;
/* 0x0C */ f32 mTrackPitch;
/* 0x10 */ f32 mTrackPan;
/* 0x14 */ f32 mTrackFxmix;
/* 0x18 */ f32 mTrackDolby;
/* 0x1C */ f32 _1C;
/* 0x20 */ u32 _20;
/* 0x24 */ f32 mTrackTempo;
};
typedef void (*TPortFunc)(TPortArgs*);
class TPortCmd;
class TPortHead {
public:
/* 0x00 */ TPortCmd* mFirst;
/* 0x04 */ TPortCmd* mLast;
};
class TPortCmd {
public:
TPortCmd();
~TPortCmd() {}
bool addPortCmdOnce();
bool setPortCmd(TPortFunc, TPortArgs*);
bool addPortCmd(TPortHead*);
TPortHead* getHead() { return mHead; }
void setHead(TPortHead* head) { mHead = head; }
TPortCmd* getNext() { return mNext; }
TPortFunc getFunc() { return mFunc; }
TPortArgs* getArgs() { return mArgs; }
private:
/* 0x00 */ TPortHead* mHead;
/* 0x04 */ TPortCmd* mNext;
/* 0x08 */ TPortFunc mFunc;
/* 0x0C */ TPortArgs* mArgs;
};
void portCmdProcOnce(TPortHead*);
void portCmdProcStay(TPortHead*);
void portHeadInit(TPortHead*);
void portCmdInit();
TPortCmd* getPortCmd(TPortHead*);
s32 portCmdMain(void*);
}
}
#endif /* JASCMDSTACK_H */