From 65e4c20c27f2acf853e58fd4c26ebc0e3eb926c6 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Mon, 16 May 2022 02:08:18 -0700 Subject: Move EAX files to their own sub-directory --- al/eax/fx_slots.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 al/eax/fx_slots.h (limited to 'al/eax/fx_slots.h') diff --git a/al/eax/fx_slots.h b/al/eax/fx_slots.h new file mode 100644 index 00000000..49cabd75 --- /dev/null +++ b/al/eax/fx_slots.h @@ -0,0 +1,53 @@ +#ifndef EAX_FX_SLOTS_INCLUDED +#define EAX_FX_SLOTS_INCLUDED + + +#include + +#include "al/auxeffectslot.h" + +#include "api.h" +#include "fx_slot_index.h" + + +class EaxFxSlots +{ +public: + void initialize( + ALCcontext& al_context); + + void uninitialize() noexcept; + + void commit() + { + for(auto& fx_slot : fx_slots_) + fx_slot->eax_commit(); + } + + + const ALeffectslot& get( + EaxFxSlotIndex index) const; + + ALeffectslot& get( + EaxFxSlotIndex index); + + void unlock_legacy() noexcept; + + +private: + using Items = std::array; + + + Items fx_slots_{}; + + + [[noreturn]] + static void fail( + const char* message); + + void initialize_fx_slots( + ALCcontext& al_context); +}; // EaxFxSlots + + +#endif // !EAX_FX_SLOTS_INCLUDED -- cgit v1.2.3