Make the filter history buffer size flexible
[openal-soft/openal-hmr.git] / OpenAL32 / Include / alAuxEffectSlot.h
blob8dfa94185381392254701b2c4ccca32a10397419
1 #ifndef _AL_AUXEFFECTSLOT_H_
2 #define _AL_AUXEFFECTSLOT_H_
4 #include "AL/al.h"
5 #include "alEffect.h"
6 #include "alFilter.h"
7 #include "alReverb.h"
8 #include "alEcho.h"
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
14 #define AL_EFFECTSLOT_EFFECT 0x0001
15 #define AL_EFFECTSLOT_GAIN 0x0002
16 #define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003
18 #define AL_EFFECTSLOT_NULL 0x0000
20 typedef struct ALeffectslot
22 ALeffect effect;
24 ALfloat Gain;
25 ALboolean AuxSendAuto;
27 ALverbState *ReverbState;
28 ALechoState *EchoState;
30 ALfloat WetBuffer[BUFFERSIZE];
32 ALuint refcount;
34 // Index to itself
35 ALuint effectslot;
37 struct ALeffectslot *next;
38 } ALeffectslot;
40 ALvoid AL_APIENTRY alGenAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots);
41 ALvoid AL_APIENTRY alDeleteAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots);
42 ALboolean AL_APIENTRY alIsAuxiliaryEffectSlot(ALuint effectslot);
44 ALvoid AL_APIENTRY alAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint iValue);
45 ALvoid AL_APIENTRY alAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues);
46 ALvoid AL_APIENTRY alAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat flValue);
47 ALvoid AL_APIENTRY alAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues);
49 ALvoid AL_APIENTRY alGetAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint *piValue);
50 ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues);
51 ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat *pflValue);
52 ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues);
54 ALvoid ReleaseALAuxiliaryEffectSlots(ALCcontext *Context);
56 #ifdef __cplusplus
58 #endif
60 #endif