alu.h 737 B

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