Minor code refactor for the frequency shifter effect
[openal-soft.git] / alc / alu.h
blob67fd09e573a9581abf3300940d476258ae57ff7a
1 #ifndef ALU_H
2 #define ALU_H
4 #include <bitset>
6 #include "aloptional.h"
8 struct ALCcontext;
9 struct ALCdevice;
10 struct EffectSlot;
12 enum class StereoEncoding : unsigned char;
15 constexpr float GainMixMax{1000.0f}; /* +60dB */
18 enum CompatFlags : uint8_t {
19 ReverseX,
20 ReverseY,
21 ReverseZ,
23 Count
25 using CompatFlagBitset = std::bitset<CompatFlags::Count>;
27 void aluInit(CompatFlagBitset flags, const float nfcscale);
29 /* aluInitRenderer
31 * Set up the appropriate panning method and mixing method given the device
32 * properties.
34 void aluInitRenderer(ALCdevice *device, int hrtf_id, al::optional<StereoEncoding> stereomode);
36 void aluInitEffectPanning(EffectSlot *slot, ALCcontext *context);
38 #endif