Store effect slots in the context
[openal-soft.git] / OpenAL32 / Include / alAuxEffectSlot.h
blobdba2c207ad6567e4376832c6be2ebdbd8425e807
1 #ifndef _AL_AUXEFFECTSLOT_H_
2 #define _AL_AUXEFFECTSLOT_H_
4 #include "alEffect.h"
5 #include "AL/al.h"
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
11 #define AL_EFFECTSLOT_EFFECT 0x0001
12 #define AL_EFFECTSLOT_GAIN 0x0002
13 #define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003
15 #define AL_EFFECTSLOT_NULL 0x0000
17 typedef struct ALeffectslot
19 ALeffect effect;
21 ALfloat Gain;
22 ALboolean AuxSendAuto;
24 // Index to itself
25 ALuint effectslot;
27 struct ALeffectslot *next;
28 } ALeffectslot;
30 AL_API ALvoid AL_APIENTRY alGenAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots);
31 AL_API ALvoid AL_APIENTRY alDeleteAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots);
32 AL_API ALboolean AL_APIENTRY alIsAuxiliaryEffectSlot(ALuint effectslot);
34 AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint iValue);
35 AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues);
36 AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat flValue);
37 AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues);
39 AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint *piValue);
40 AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues);
41 AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat *pflValue);
42 AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues);
44 ALvoid ReleaseALAuxiliaryEffectSlots(ALCcontext *Context);
46 #ifdef __cplusplus
48 #endif
50 #endif