mirror of https://github.com/zeldaret/tp.git
54 lines
1.4 KiB
C
54 lines
1.4 KiB
C
#ifndef JASDSPCHANNEL_H
|
|
#define JASDSPCHANNEL_H
|
|
|
|
#include "JSystem/JAudio2/JASDSPInterface.h"
|
|
|
|
/**
|
|
* @ingroup jsystem-jaudio
|
|
*
|
|
*/
|
|
struct JASDSPChannel {
|
|
typedef s32 (*Callback)(u32, JASDsp::TChannel*, void*);
|
|
|
|
enum Status {
|
|
/* 0 */ STATUS_ACTIVE,
|
|
/* 1 */ STATUS_INACTIVE,
|
|
/* 2 */ STATUS_DROP,
|
|
};
|
|
|
|
enum CallbackType {
|
|
/* 0 */ CB_PLAY,
|
|
/* 1 */ CB_START,
|
|
/* 2 */ CB_STOP,
|
|
/* 3 */ CB_DROP,
|
|
};
|
|
|
|
/* 8029D2F4 */ JASDSPChannel();
|
|
/* 8029D320 */ void free();
|
|
/* 8029D330 */ void start();
|
|
/* 8029D340 */ void drop();
|
|
/* 8029D534 */ void setPriority(u8);
|
|
/* 8029D65C */ void updateProc();
|
|
|
|
/* 8029D3C8 */ static void initAll();
|
|
/* 8029D44C */ static JASDSPChannel* alloc(u8, Callback, void*);
|
|
/* 8029D4BC */ static JASDSPChannel* allocForce(u8, Callback, void*);
|
|
/* 8029D540 */ static JASDSPChannel* getLowestChannel(int);
|
|
/* 8029D5D0 */ static JASDSPChannel* getLowestActiveChannel();
|
|
/* 8029D89C */ static void updateAll();
|
|
/* 8029D910 */ static int killActiveChannel();
|
|
/* 8029D948 */ static JASDSPChannel* getHandle(u32);
|
|
|
|
static JASDSPChannel* sDspChannels;
|
|
|
|
/* 0x00 */ s32 mStatus;
|
|
/* 0x04 */ s16 mPriority;
|
|
/* 0x08 */ u32 mFlags;
|
|
/* 0x0C */ u32 field_0xc;
|
|
/* 0x10 */ Callback mCallback;
|
|
/* 0x14 */ void* mCallbackData;
|
|
/* 0x18 */ JASDsp::TChannel* mChannel;
|
|
}; // Size: 0x1C
|
|
|
|
#endif /* JASDSPCHANNEL_H */
|