zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
alEffect.h
Go to the documentation of this file.
1 #ifndef _AL_EFFECT_H_
2 #define _AL_EFFECT_H_
3 
4 #include "alMain.h"
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
10 enum {
11  EAXREVERB = 0,
16 
18 };
20 
21 extern ALfloat ReverbBoost;
23 
24 typedef struct ALeffect
25 {
26  // Effect type (AL_EFFECT_NULL, ...)
28 
29  struct {
30  // Shared Reverb Properties
44 
45  // Additional EAX Reverb Properties
56  } Reverb;
57 
58  struct {
61 
64 
66  } Echo;
67 
68  struct {
72  } Modulator;
73 
74  struct {
75  ALfloat Gain;
76  } Dedicated;
77 
79  void (*SetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals);
81  void (*SetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals);
82 
84  void (*GetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals);
86  void (*GetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals);
87 
88  /* Self ID */
90 } ALeffect;
91 
92 #define ALeffect_SetParami(x, c, p, v) ((x)->SetParami((x),(c),(p),(v)))
93 #define ALeffect_SetParamiv(x, c, p, v) ((x)->SetParamiv((x),(c),(p),(v)))
94 #define ALeffect_SetParamf(x, c, p, v) ((x)->SetParamf((x),(c),(p),(v)))
95 #define ALeffect_SetParamfv(x, c, p, v) ((x)->SetParamfv((x),(c),(p),(v)))
96 
97 #define ALeffect_GetParami(x, c, p, v) ((x)->GetParami((x),(c),(p),(v)))
98 #define ALeffect_GetParamiv(x, c, p, v) ((x)->GetParamiv((x),(c),(p),(v)))
99 #define ALeffect_GetParamf(x, c, p, v) ((x)->GetParamf((x),(c),(p),(v)))
100 #define ALeffect_GetParamfv(x, c, p, v) ((x)->GetParamfv((x),(c),(p),(v)))
101 
103 { return type == AL_EFFECT_REVERB || type == AL_EFFECT_EAXREVERB; }
104 
105 ALenum InitEffect(ALeffect *effect);
107 
108 ALvoid LoadReverbPreset(const char *name, ALeffect *effect);
109 
110 #ifdef __cplusplus
111 }
112 #endif
113 
114 #endif
ALfloat GainHF
Definition: alEffect.h:34
ALfloat Spread
Definition: alEffect.h:65
GLuint const GLfloat * val
Definition: glew.h:2715
void ALvoid
Definition: al.h:74
GLenum GLint param
Definition: gl2ext.h:1491
void(* SetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals)
Definition: alEffect.h:81
struct ALeffect::@52 Reverb
void(* GetParami)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint *val)
Definition: alEffect.h:83
ALfloat Frequency
Definition: alEffect.h:69
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
Definition: gl2ext.h:845
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
Definition: glew.h:1824
ALfloat ModulationTime
Definition: alEffect.h:52
static __inline ALboolean IsReverbEffect(ALenum type)
Definition: alEffect.h:102
ALfloat LFReference
Definition: alEffect.h:55
ALfloat ReflectionsGain
Definition: alEffect.h:37
ALfloat ReverbBoost
Definition: alcReverb.c:168
Definition: alEffect.h:13
int ALint
Definition: al.h:56
ALfloat ReflectionsPan[3]
Definition: alEffect.h:48
EGLImageKHR EGLint * name
Definition: eglext.h:284
struct ALeffect::@54 Modulator
struct ALeffect::@53 Echo
ALfloat Diffusion
Definition: alEffect.h:32
ALuint id
Definition: alEffect.h:89
ALfloat DecayLFRatio
Definition: alEffect.h:47
float ALfloat
Definition: al.h:68
void(* SetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals)
Definition: alEffect.h:79
void(* GetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals)
Definition: alEffect.h:84
ALfloat HFReference
Definition: alEffect.h:54
void(* GetParamf)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val)
Definition: alEffect.h:85
ALfloat AirAbsorptionGainHF
Definition: alEffect.h:41
ALvoid ReleaseALEffects(ALCdevice *device)
Definition: alEffect.c:1187
ALfloat ReflectionsDelay
Definition: alEffect.h:38
ALfloat Delay
Definition: alEffect.h:59
ALfloat HighPassCutoff
Definition: alEffect.h:70
ALfloat LateReverbDelay
Definition: alEffect.h:40
ALfloat LRDelay
Definition: alEffect.h:60
ALfloat DecayHFRatio
Definition: alEffect.h:36
ALfloat RoomRolloffFactor
Definition: alEffect.h:42
#define AL_EFFECT_REVERB
Definition: efx.h:155
ALfloat EchoDepth
Definition: alEffect.h:51
ALenum InitEffect(ALeffect *effect)
Definition: alEffect.c:1181
ALfloat Damping
Definition: alEffect.h:62
ALboolean DecayHFLimit
Definition: alEffect.h:43
int ALenum
Definition: al.h:65
ALboolean DisabledEffects[MAX_EFFECTS]
Definition: alEffect.c:35
ALfloat Feedback
Definition: alEffect.h:63
struct ALeffect ALeffect
unsigned int ALuint
Definition: al.h:59
ALvoid LoadReverbPreset(const char *name, ALeffect *effect)
Definition: alEffect.c:1459
ALboolean EmulateEAXReverb
Definition: alcReverb.c:171
ALfloat ModulationDepth
Definition: alEffect.h:53
struct ALeffect::@55 Dedicated
void(* SetParami)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint val)
Definition: alEffect.h:78
char ALboolean
Definition: al.h:38
ALfloat LateReverbPan[3]
Definition: alEffect.h:49
void(* GetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals)
Definition: alEffect.h:86
ALfloat Gain
Definition: alEffect.h:33
ALfloat DecayTime
Definition: alEffect.h:35
TParseContext * context
#define AL_EFFECT_EAXREVERB
Definition: efx.h:167
ALenum type
Definition: alEffect.h:27
ALfloat LateReverbGain
Definition: alEffect.h:39
ALint Waveform
Definition: alEffect.h:71
ALfloat EchoTime
Definition: alEffect.h:50
ALfloat GainLF
Definition: alEffect.h:46
void(* SetParamf)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val)
Definition: alEffect.h:80
ALfloat Density
Definition: alEffect.h:31