]> git.tdb.fi Git - ext/openal.git/blob - alc/alu.h
Import OpenAL Soft 1.23.1 sources
[ext/openal.git] / alc / alu.h
1 #ifndef ALU_H
2 #define ALU_H
3
4 #include <bitset>
5
6 #include "aloptional.h"
7
8 struct ALCcontext;
9 struct ALCdevice;
10 struct EffectSlot;
11
12 enum class StereoEncoding : unsigned char;
13
14
15 constexpr float GainMixMax{1000.0f}; /* +60dB */
16
17
18 enum CompatFlags : uint8_t {
19     ReverseX,
20     ReverseY,
21     ReverseZ,
22
23     Count
24 };
25 using CompatFlagBitset = std::bitset<CompatFlags::Count>;
26
27 void aluInit(CompatFlagBitset flags, const float nfcscale);
28
29 /* aluInitRenderer
30  *
31  * Set up the appropriate panning method and mixing method given the device
32  * properties.
33  */
34 void aluInitRenderer(ALCdevice *device, int hrtf_id, al::optional<StereoEncoding> stereomode);
35
36 void aluInitEffectPanning(EffectSlot *slot, ALCcontext *context);
37
38 #endif