summaryrefslogtreecommitdiff
path: root/include/JSystem/JAudio/JASDriverIF.h
blob: e24174689fbe2c9c831567301dc85b1c632f5864 (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
40
41
42
43
44
#ifndef JASDSPDRIVERIF_H
#define JASDSPDRIVERIF_H

#include "dolphin/types.h"

namespace JASystem {
    namespace Driver {
        struct PanMatrix_ {
            /* 0x00 */ f32 mSound;
            /* 0x04 */ f32 mEffect;
            /* 0x08 */ f32 mChannel;
        };

        void init();
        void setMixerLevel(f32, f32);
        u16 getChannelLevel();
        u16 getAutoLevel();
        void setOutputMode(u32);
        u32 getOutputMode();
        u8 getUpdateInterval();

        inline f32 Clamp01(f32 value) {
            if (value <= 0.0f) {
                return 0.0f;
            }
            if (value >= 1.0f) {
                return 1.0f;
            }
            return value;
        }

        // TODO
        inline void getMixerLevel() {}

        extern u8 calc_sw_table[][3];

        extern u16 MAX_MIXERLEVEL;
        extern u16 MAX_AUTOMIXERLEVEL;
        extern u32 JAS_SYSTEM_OUTPUT_MODE;
        extern u8 JAS_UPDATE_INTERVAL;
    };
}

#endif /* JASDSPDRIVERIF_H */