axmol/thirdparty/openal/alc/alu.h

39 lines
718 B
C
Raw Normal View History

#ifndef ALU_H
#define ALU_H
2022-04-25 12:02:45 +08:00
#include <bitset>
#include "aloptional.h"
struct ALCcontext;
struct ALCdevice;
struct EffectSlot;
2022-04-25 12:02:45 +08:00
enum class StereoEncoding : unsigned char;
constexpr float GainMixMax{1000.0f}; /* +60dB */
2022-04-25 12:02:45 +08:00
enum CompatFlags : uint8_t {
ReverseX,
ReverseY,
ReverseZ,
2022-04-25 12:02:45 +08:00
Count
};
2022-04-25 12:02:45 +08:00
using CompatFlagBitset = std::bitset<CompatFlags::Count>;
2023-02-04 15:03:54 +08:00
void aluInit(CompatFlagBitset flags, const float nfcscale);
/* aluInitRenderer
*
* Set up the appropriate panning method and mixing method given the device
* properties.
*/
2022-04-25 12:02:45 +08:00
void aluInitRenderer(ALCdevice *device, int hrtf_id, al::optional<StereoEncoding> stereomode);
void aluInitEffectPanning(EffectSlot *slot, ALCcontext *context);
#endif