Files
ac-decomp/include/jaudio_NES/aictrl.h
T
2025-06-21 04:26:24 -04:00

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