summaryrefslogtreecommitdiff
path: root/include/JSystem/JAudio/JASAiCtrl.h
blob: d6701af5115ef0dcb9dc0ada81fb38dd4eadb272 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef JASAICTRL_H
#define JASAICTRL_H

#include "dolphin/types.h"

enum JASMixMode {
    /* 0x0 */ MIX_MODE_MONO,
    /* 0x1 */ MIX_MODE_MONO_WIDE,
    /* 0x2 */ MIX_MODE_EXTRA,
    /* 0x3 */ MIX_MODE_INTERLEAVE,
};

namespace JASystem {
    namespace Kernel {
        void init();
        void initSystem();
        void registerMixCallback(s16* (*)(s32), u8);
        void vframeWork();
        void updateDac();
        void mixMonoTrack(s16*, s32, s16* (*)(s32));
        void mixMonoTrackWide(s16*, s32, s16* (*)(s32));
        void mixExtraTrack(s16*, s32, s16* (*)(s32));
        void mixInterleaveTrack(s16*, s32, s16* (*)(s32));

        extern s16* dac[3];
        extern int JASUniversalDacCounter;
        extern s16* lastRspMadep;
        extern s16* useRspMadep;
        extern int vframeWorkRunning;
        extern void (*dacCallbackFunc)(s16*, u32);
        extern int JASVframeCounter;
        extern s16* (*extMixCallback)(s32);
        extern u8 extMixMode;

        inline void JASAiMixLimit16(s32) {} // TODO
    }
}

#endif /* JASAICTRL_H */