diff options
author | Chris Robinson <[email protected]> | 2019-07-28 19:09:07 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2019-07-28 19:09:07 -0700 |
commit | 83432a7e5c7f565a08c41bb104ae25286c5fc82b (patch) | |
tree | b16a5b86f037190bac4686adede6078d9928131a /OpenAL32/Include/alAuxEffectSlot.h | |
parent | cb3e96e75640730b9391f0d2d922eecd9ee2ce79 (diff) |
Move some headers out of the Include subdirectory
Diffstat (limited to 'OpenAL32/Include/alAuxEffectSlot.h')
-rw-r--r-- | OpenAL32/Include/alAuxEffectSlot.h | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/OpenAL32/Include/alAuxEffectSlot.h b/OpenAL32/Include/alAuxEffectSlot.h deleted file mode 100644 index b6976d13..00000000 --- a/OpenAL32/Include/alAuxEffectSlot.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef _AL_AUXEFFECTSLOT_H_ -#define _AL_AUXEFFECTSLOT_H_ - -#include <array> - -#include "alcmain.h" -#include "alEffect.h" -#include "ambidefs.h" -#include "effects/base.h" - -#include "almalloc.h" -#include "atomic.h" - - -struct ALeffectslot; - - -using ALeffectslotArray = al::FlexArray<ALeffectslot*>; - - -struct ALeffectslotProps { - ALfloat Gain; - ALboolean AuxSendAuto; - ALeffectslot *Target; - - ALenum Type; - EffectProps Props; - - EffectState *State; - - std::atomic<ALeffectslotProps*> next; -}; - - -struct ALeffectslot { - ALfloat Gain{1.0f}; - ALboolean AuxSendAuto{AL_TRUE}; - ALeffectslot *Target{nullptr}; - - struct { - ALenum Type{AL_EFFECT_NULL}; - EffectProps Props{}; - - EffectState *State{nullptr}; - } Effect; - - std::atomic_flag PropsClean; - - RefCount ref{0u}; - - std::atomic<ALeffectslotProps*> Update{nullptr}; - - struct { - ALfloat Gain{1.0f}; - ALboolean AuxSendAuto{AL_TRUE}; - ALeffectslot *Target{nullptr}; - - ALenum EffectType{AL_EFFECT_NULL}; - EffectProps mEffectProps{}; - EffectState *mEffectState{nullptr}; - - ALfloat RoomRolloff{0.0f}; /* Added to the source's room rolloff, not multiplied. */ - ALfloat DecayTime{0.0f}; - ALfloat DecayLFRatio{0.0f}; - ALfloat DecayHFRatio{0.0f}; - ALboolean DecayHFLimit{AL_FALSE}; - ALfloat AirAbsorptionGainHF{1.0f}; - } Params; - - /* Self ID */ - ALuint id{}; - - /* Mixing buffer used by the Wet mix. */ - al::vector<FloatBufferLine, 16> MixBuffer; - - /* Wet buffer configuration is ACN channel order with N3D scaling. - * Consequently, effects that only want to work with mono input can use - * channel 0 by itself. Effects that want multichannel can process the - * ambisonics signal and make a B-Format source pan. - */ - MixParams Wet; - - ALeffectslot() { PropsClean.test_and_set(std::memory_order_relaxed); } - ALeffectslot(const ALeffectslot&) = delete; - ALeffectslot& operator=(const ALeffectslot&) = delete; - ~ALeffectslot(); - - static ALeffectslotArray *CreatePtrArray(size_t count) noexcept; - - DEF_PLACE_NEWDEL() -}; - -ALenum InitEffectSlot(ALeffectslot *slot); -void UpdateEffectSlotProps(ALeffectslot *slot, ALCcontext *context); -void UpdateAllEffectSlotProps(ALCcontext *context); - - -ALenum InitializeEffect(ALCcontext *Context, ALeffectslot *EffectSlot, ALeffect *effect); - -#endif |