2021-03-28 22:49:05 +02:00
|
|
|
#ifndef JASCMDSTACK_H
|
|
|
|
|
#define JASCMDSTACK_H
|
|
|
|
|
|
2024-01-11 01:16:40 +02:00
|
|
|
#include "JSystem/JSupport/JSUList.h"
|
|
|
|
|
|
|
|
|
|
class JASTrack;
|
|
|
|
|
|
2024-04-12 00:10:30 -06:00
|
|
|
/**
|
|
|
|
|
* @ingroup jsystem-jaudio
|
|
|
|
|
*
|
|
|
|
|
*/
|
2024-01-11 01:16:40 +02:00
|
|
|
struct JASPortArgs {
|
|
|
|
|
JASTrack* _00;
|
|
|
|
|
u32 _04;
|
|
|
|
|
u32 _08;
|
|
|
|
|
f32 _0C;
|
|
|
|
|
f32 _10;
|
|
|
|
|
f32 _14;
|
|
|
|
|
f32 _18;
|
|
|
|
|
f32 _1C;
|
|
|
|
|
f32 _20;
|
|
|
|
|
u32 _24;
|
|
|
|
|
f32 _28;
|
|
|
|
|
};
|
|
|
|
|
|
2024-04-12 00:10:30 -06:00
|
|
|
/**
|
|
|
|
|
* @ingroup jsystem-jaudio
|
|
|
|
|
*
|
|
|
|
|
*/
|
2024-01-11 01:16:40 +02:00
|
|
|
struct JASPortCmd : JSULink<JASPortCmd> {
|
|
|
|
|
typedef void (*Command)(JASPortArgs*);
|
|
|
|
|
|
|
|
|
|
struct TPortHead : JSUList<JASPortCmd> {
|
|
|
|
|
inline TPortHead()
|
|
|
|
|
: JSUList<JASPortCmd>()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
~TPortHead() {}
|
|
|
|
|
|
|
|
|
|
void execCommandOnce();
|
|
|
|
|
void execCommandStay();
|
|
|
|
|
};
|
|
|
|
|
|
2025-12-23 10:23:09 -08:00
|
|
|
bool addPortCmdOnce();
|
|
|
|
|
bool setPortCmd(Command func, JASPortArgs*);
|
2025-11-30 14:23:42 -08:00
|
|
|
static void execAllCommand();
|
2024-01-11 01:16:40 +02:00
|
|
|
|
2025-12-23 10:23:09 -08:00
|
|
|
Command getFunc() { return mFunc; }
|
|
|
|
|
JASPortArgs* getArgs() { return mArgs; }
|
|
|
|
|
|
|
|
|
|
Command mFunc;
|
|
|
|
|
JASPortArgs* mArgs;
|
2024-01-11 01:16:40 +02:00
|
|
|
|
|
|
|
|
static TPortHead sCommandListOnce;
|
|
|
|
|
static TPortHead sCommandListStay;
|
|
|
|
|
};
|
2021-03-28 22:49:05 +02:00
|
|
|
|
|
|
|
|
#endif /* JASCMDSTACK_H */
|