Remove unused atomic_invflag
[openal-soft.git] / al / eax_fx_slots.h
blob0ebb9b7d18fe19b958c5510f317d6a706ee6260e
1 #ifndef EAX_FX_SLOTS_INCLUDED
2 #define EAX_FX_SLOTS_INCLUDED
5 #include <array>
7 #include "al/auxeffectslot.h"
9 #include "eax_api.h"
11 #include "eax_fx_slot_index.h"
14 class EaxFxSlots
16 public:
17 void initialize(
18 ALCcontext& al_context);
20 void uninitialize() noexcept;
23 const ALeffectslot& get(
24 EaxFxSlotIndex index) const;
26 ALeffectslot& get(
27 EaxFxSlotIndex index);
29 void unlock_legacy() noexcept;
32 private:
33 using Items = std::array<EaxAlEffectSlotUPtr, EAX_MAX_FXSLOTS>;
36 Items fx_slots_{};
39 [[noreturn]]
40 static void fail(
41 const char* message);
43 void initialize_fx_slots(
44 ALCcontext& al_context);
45 }; // EaxFxSlots
48 #endif // !EAX_FX_SLOTS_INCLUDED