🛠️🐜 Antkeeper superbuild with dependencies included https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
696 B

  1. #ifndef ALU_H
  2. #define ALU_H
  3. #include <bitset>
  4. #include "aloptional.h"
  5. struct ALCcontext;
  6. struct ALCdevice;
  7. struct EffectSlot;
  8. enum class StereoEncoding : unsigned char;
  9. constexpr float GainMixMax{1000.0f}; /* +60dB */
  10. enum CompatFlags : uint8_t {
  11. ReverseX,
  12. ReverseY,
  13. ReverseZ,
  14. Count
  15. };
  16. using CompatFlagBitset = std::bitset<CompatFlags::Count>;
  17. void aluInit(CompatFlagBitset flags);
  18. /* aluInitRenderer
  19. *
  20. * Set up the appropriate panning method and mixing method given the device
  21. * properties.
  22. */
  23. void aluInitRenderer(ALCdevice *device, int hrtf_id, al::optional<StereoEncoding> stereomode);
  24. void aluInitEffectPanning(EffectSlot *slot, ALCcontext *context);
  25. #endif