mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
53 lines
1.1 KiB
C
53 lines
1.1 KiB
C
#ifndef _JAUDIO_AICTRL_H
|
|
#define _JAUDIO_AICTRL_H
|
|
|
|
#include "types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif // ifdef __cplusplus
|
|
|
|
/////////// JAUDIO AI CONTROL DEFINITIONS ///////////
|
|
// Callbacks.
|
|
typedef s16* (*MixCallback)(s32);
|
|
typedef void (*DACCallback)(s16*, s32);
|
|
|
|
// Enums.
|
|
/**
|
|
* @brief TODO
|
|
*/
|
|
typedef enum _MixMode {
|
|
MixMode_Mono = 0,
|
|
MixMode_MonoWide = 1,
|
|
MixMode_Extra = 2,
|
|
MixMode_Interleave = 3,
|
|
MixMode_Num, // 4
|
|
} MixMode;
|
|
|
|
// Global counters.
|
|
extern u32 UNIVERSAL_DACCOUNTER;
|
|
extern u32 JAC_VFRAME_COUNTER;
|
|
extern u32 JAC_SYSTEM_OUTPUT_MODE;
|
|
|
|
/////////////////////////////////////////////////////
|
|
|
|
//////////// JAUDIO AI CONTROL FUNCTIONS ////////////
|
|
void Jac_HeapSetup(void* heap, s32 size);
|
|
void* OSAlloc2(u32 size);
|
|
void Jac_Init();
|
|
void Jac_VframeWork();
|
|
void Jac_UpdateDAC();
|
|
void Jac_SetOutputMode(int mode);
|
|
int Jac_GetOutputMode();
|
|
void Jac_SetMixerLevel(f32, f32);
|
|
void Jac_RegisterMixcallback(MixCallback mixcallback, u8 mixmode);
|
|
extern MixCallback Jac_GetMixcallback(u8* mixmode);
|
|
|
|
/////////////////////////////////////////////////////
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif // ifdef __cplusplus
|
|
|
|
#endif
|