diff options
author | Chris Robinson <[email protected]> | 2009-05-29 13:30:50 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2009-05-29 13:30:50 -0700 |
commit | 74dc7090fdf4084fae1824986e382fde4535ae7c (patch) | |
tree | 7aa7485bba3a17a9449c65432af7a360cb879d8d /OpenAL32/Include/alAuxEffectSlot.h | |
parent | e12ac95d6926c0b576775d2817f2e829c153947b (diff) |
Don't expose effect-specific structures
Diffstat (limited to 'OpenAL32/Include/alAuxEffectSlot.h')
-rw-r--r-- | OpenAL32/Include/alAuxEffectSlot.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/OpenAL32/Include/alAuxEffectSlot.h b/OpenAL32/Include/alAuxEffectSlot.h index 8dfa9418..e4c46d70 100644 --- a/OpenAL32/Include/alAuxEffectSlot.h +++ b/OpenAL32/Include/alAuxEffectSlot.h @@ -4,8 +4,6 @@ #include "AL/al.h" #include "alEffect.h" #include "alFilter.h" -#include "alReverb.h" -#include "alEcho.h" #ifdef __cplusplus extern "C" { @@ -17,6 +15,8 @@ extern "C" { #define AL_EFFECTSLOT_NULL 0x0000 +typedef struct ALeffectState ALeffectState; + typedef struct ALeffectslot { ALeffect effect; @@ -24,8 +24,7 @@ typedef struct ALeffectslot ALfloat Gain; ALboolean AuxSendAuto; - ALverbState *ReverbState; - ALechoState *EchoState; + ALeffectState *EffectState; ALfloat WetBuffer[BUFFERSIZE]; @@ -53,6 +52,22 @@ ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, A ALvoid ReleaseALAuxiliaryEffectSlots(ALCcontext *Context); + +struct ALeffectState { + ALvoid (*Destroy)(ALeffectState *State); + ALvoid (*Update)(ALeffectState *State, ALCcontext *Context, ALeffectslot *Slot, ALeffect *Effect); + ALvoid (*Process)(ALeffectState *State, ALuint SamplesToDo, const ALfloat *SamplesIn, ALfloat (*SamplesOut)[OUTPUTCHANNELS]); +}; + +ALeffectState *EAXVerbCreate(ALCcontext *Context); +ALeffectState *VerbCreate(ALCcontext *Context); +ALeffectState *EchoCreate(ALCcontext *Context); + +#define ALEffect_Destroy(a) ((a)->Destroy((a))) +#define ALEffect_Update(a,b,c,d) ((a)->Update((a),(b),(c),(d))) +#define ALEffect_Process(a,b,c,d) ((a)->Process((a),(b),(c),(d))) + + #ifdef __cplusplus } #endif |