zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
alAuxEffectSlot.h
Go to the documentation of this file.
1 #ifndef _AL_AUXEFFECTSLOT_H_
2 #define _AL_AUXEFFECTSLOT_H_
3 
4 #include "alMain.h"
5 #include "alEffect.h"
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 typedef struct ALeffectState {
14  ALvoid (*Update)(struct ALeffectState *State, ALCdevice *Device, const struct ALeffectslot *Slot);
15  ALvoid (*Process)(struct ALeffectState *State, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]);
17 
18 
19 typedef struct ALeffectslot
20 {
22 
23  volatile ALfloat Gain;
25 
26  volatile ALenum NeedsUpdate;
28 
29  ALIGN(16) ALfloat WetBuffer[1][BUFFERSIZE];
30 
33 
35 
36  /* Self ID */
37  ALuint id;
38 } ALeffectslot;
39 
40 
43 
49 
50 #define ALeffectState_Destroy(a) ((a)->Destroy((a)))
51 #define ALeffectState_DeviceUpdate(a,b) ((a)->DeviceUpdate((a),(b)))
52 #define ALeffectState_Update(a,b,c) ((a)->Update((a),(b),(c)))
53 #define ALeffectState_Process(a,b,c,d) ((a)->Process((a),(b),(c),(d)))
54 
56 
57 #ifdef __cplusplus
58 }
59 #endif
60 
61 #endif
ALvoid(* Process)(struct ALeffectState *State, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat(*RESTRICT SamplesOut)[BUFFERSIZE])
void ALvoid
Definition: al.h:74
ALuint RefCount
Definition: alMain.h:288
ALeffectState * EffectState
ALIGN(16) ALfloat WetBuffer[1][BUFFERSIZE]
ALeffectState * ModulatorCreate(void)
Definition: alcModulator.c:184
ALvoid(* Destroy)(struct ALeffectState *State)
volatile ALenum NeedsUpdate
struct ALeffectState ALeffectState
float ALfloat
Definition: al.h:68
ALeffectState * NoneCreate(void)
ALenum InitEffectSlot(ALeffectslot *slot)
ALeffect effect
ALfloat PendingClicks[1]
ALboolean(* DeviceUpdate)(struct ALeffectState *State, ALCdevice *Device)
int ALenum
Definition: al.h:65
volatile ALfloat Gain
unsigned int ALuint
Definition: al.h:59
enum State_ State
ALvoid(* Update)(struct ALeffectState *State, ALCdevice *Device, const struct ALeffectslot *Slot)
ALvoid ReleaseALAuxiliaryEffectSlots(ALCcontext *Context)
ALeffectState * ReverbCreate(void)
Definition: alcReverb.c:1188
ALeffectState * EchoCreate(void)
Definition: alcEcho.c:159
ALeffectState * DedicatedCreate(void)
Definition: alcDedicated.c:82
ALfloat ClickRemoval[1]
char ALboolean
Definition: al.h:38
volatile ALboolean AuxSendAuto
GLclampf ref
Definition: gl2ext.h:1455
ALenum InitializeEffect(ALCdevice *Device, ALeffectslot *EffectSlot, ALeffect *effect)
#define BUFFERSIZE
Definition: alMain.h:556