tp/include/JSystem/JAudio2/JASDSPChannel.h

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 */