zenilib: zenilib/jni/external/openal-soft/OpenAL32/Include/alEffect.h Source File

zenilib 0.5.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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,
12 REVERB,
13 ECHO,
14 MODULATOR,
15 DEDICATED,
16
17 MAX_EFFECTS
18 };
19 extern ALboolean DisabledEffects[MAX_EFFECTS];
20
21 extern ALfloat ReverbBoost;
22 extern ALboolean EmulateEAXReverb;
23
24 typedef struct ALeffect
25 {
26 // Effect type (AL_EFFECT_NULL, ...)
27 ALenum type;
28
29 struct {
30 // Shared Reverb Properties
31 ALfloat Density;
32 ALfloat Diffusion;
33 ALfloat Gain;
34 ALfloat GainHF;
35 ALfloat DecayTime;
36 ALfloat DecayHFRatio;
37 ALfloat ReflectionsGain;
38 ALfloat ReflectionsDelay;
39 ALfloat LateReverbGain;
40 ALfloat LateReverbDelay;
41 ALfloat AirAbsorptionGainHF;
42 ALfloat RoomRolloffFactor;
43 ALboolean DecayHFLimit;
44
45 // Additional EAX Reverb Properties
46 ALfloat GainLF;
47 ALfloat DecayLFRatio;
48 ALfloat ReflectionsPan[3];
49 ALfloat LateReverbPan[3];
50 ALfloat EchoTime;
51 ALfloat EchoDepth;
52 ALfloat ModulationTime;
53 ALfloat ModulationDepth;
54 ALfloat HFReference;
55 ALfloat LFReference;
56 } Reverb;
57
58 struct {
59 ALfloat Delay;
60 ALfloat LRDelay;
61
62 ALfloat Damping;
63 ALfloat Feedback;
64
65 ALfloat Spread;
66 } Echo;
67
68 struct {
69 ALfloat Frequency;
70 ALfloat HighPassCutoff;
71 ALint Waveform;
72 } Modulator;
73
74 struct {
75 ALfloat Gain;
76 } Dedicated;
77
78 void (*SetParami)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint val);
79 void (*SetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals);
80 void (*SetParamf)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val);
81 void (*SetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals);
82
83 void (*GetParami)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint *val);
84 void (*GetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals);
85 void (*GetParamf)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val);
86 void (*GetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals);
87
88 /* Self ID */
89 ALuint 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
102 static __inline ALboolean IsReverbEffect(ALenum type)
103 { return type == AL_EFFECT_REVERB || type == AL_EFFECT_EAXREVERB; }
104
105 ALenum InitEffect(ALeffect *effect);
106 ALvoid ReleaseALEffects(ALCdevice *device);
107
108 ALvoid LoadReverbPreset(const char *name, ALeffect *effect);
109
110 #ifdef __cplusplus
111 }
112 #endif
113
114 #endif
ALeffect::GainHF
ALfloat GainHF
Definition: alEffect.h:34
ALeffect::Spread
ALfloat Spread
Definition: alEffect.h:65
val
GLuint const GLfloat * val
Definition: glew.h:2715
ALvoid
void ALvoid
Definition: al.h:74
param
GLenum GLint param
Definition: gl2ext.h:1491
ALeffect::SetParamfv
void(* SetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALfloat *vals)
Definition: alEffect.h:81
ALeffect::Reverb
struct ALeffect::@52 Reverb
ALeffect::GetParami
void(* GetParami)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint *val)
Definition: alEffect.h:83
ALeffect::Frequency
ALfloat Frequency
Definition: alEffect.h:69
type
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
Definition: gl2ext.h:845
void
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
Definition: glew.h:1824
ALeffect::ModulationTime
ALfloat ModulationTime
Definition: alEffect.h:52
IsReverbEffect
static __inline ALboolean IsReverbEffect(ALenum type)
Definition: alEffect.h:102
ALeffect::LFReference
ALfloat LFReference
Definition: alEffect.h:55
ALeffect::ReflectionsGain
ALfloat ReflectionsGain
Definition: alEffect.h:37
ReverbBoost
ALfloat ReverbBoost
Definition: alcReverb.c:168
ECHO
Definition: alEffect.h:13
ALCdevice_struct
Definition: alMain.h:560
ALint
int ALint
Definition: al.h:56
MODULATOR
Definition: alEffect.h:14
ALeffect::ReflectionsPan
ALfloat ReflectionsPan[3]
Definition: alEffect.h:48
name
EGLImageKHR EGLint * name
Definition: eglext.h:284
ALeffect::Modulator
struct ALeffect::@54 Modulator
ALeffect::Echo
struct ALeffect::@53 Echo
ALeffect::Diffusion
ALfloat Diffusion
Definition: alEffect.h:32
ALeffect::id
ALuint id
Definition: alEffect.h:89
ALeffect::DecayLFRatio
ALfloat DecayLFRatio
Definition: alEffect.h:47
ALfloat
float ALfloat
Definition: al.h:68
ALeffect::SetParamiv
void(* SetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, const ALint *vals)
Definition: alEffect.h:79
ALeffect::GetParamiv
void(* GetParamiv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint *vals)
Definition: alEffect.h:84
ALeffect::HFReference
ALfloat HFReference
Definition: alEffect.h:54
ALeffect::GetParamf
void(* GetParamf)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *val)
Definition: alEffect.h:85
REVERB
Definition: alEffect.h:12
ALeffect::AirAbsorptionGainHF
ALfloat AirAbsorptionGainHF
Definition: alEffect.h:41
ReleaseALEffects
ALvoid ReleaseALEffects(ALCdevice *device)
Definition: alEffect.c:1187
EAXREVERB
Definition: alEffect.h:11
ALeffect::ReflectionsDelay
ALfloat ReflectionsDelay
Definition: alEffect.h:38
ALeffect::Delay
ALfloat Delay
Definition: alEffect.h:59
ALeffect::HighPassCutoff
ALfloat HighPassCutoff
Definition: alEffect.h:70
DEDICATED
Definition: alEffect.h:15
ALeffect::LateReverbDelay
ALfloat LateReverbDelay
Definition: alEffect.h:40
alMain.h
ALeffect::LRDelay
ALfloat LRDelay
Definition: alEffect.h:60
ALeffect::DecayHFRatio
ALfloat DecayHFRatio
Definition: alEffect.h:36
ALeffect::RoomRolloffFactor
ALfloat RoomRolloffFactor
Definition: alEffect.h:42
AL_EFFECT_REVERB
#define AL_EFFECT_REVERB
Definition: efx.h:155
ALeffect::EchoDepth
ALfloat EchoDepth
Definition: alEffect.h:51
InitEffect
ALenum InitEffect(ALeffect *effect)
Definition: alEffect.c:1181
ALeffect::Damping
ALfloat Damping
Definition: alEffect.h:62
ALeffect::DecayHFLimit
ALboolean DecayHFLimit
Definition: alEffect.h:43
ALenum
int ALenum
Definition: al.h:65
DisabledEffects
ALboolean DisabledEffects[MAX_EFFECTS]
Definition: alEffect.c:35
ALeffect::Feedback
ALfloat Feedback
Definition: alEffect.h:63
ALeffect
struct ALeffect ALeffect
ALuint
unsigned int ALuint
Definition: al.h:59
LoadReverbPreset
ALvoid LoadReverbPreset(const char *name, ALeffect *effect)
Definition: alEffect.c:1459
EmulateEAXReverb
ALboolean EmulateEAXReverb
Definition: alcReverb.c:171
ALeffect::ModulationDepth
ALfloat ModulationDepth
Definition: alEffect.h:53
ALCcontext_struct
Definition: alMain.h:675
ALeffect::Dedicated
struct ALeffect::@55 Dedicated
ALeffect::SetParami
void(* SetParami)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALint val)
Definition: alEffect.h:78
ALboolean
char ALboolean
Definition: al.h:38
ALeffect::LateReverbPan
ALfloat LateReverbPan[3]
Definition: alEffect.h:49
ALeffect::GetParamfv
void(* GetParamfv)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat *vals)
Definition: alEffect.h:86
ALeffect::Gain
ALfloat Gain
Definition: alEffect.h:33
ALeffect::DecayTime
ALfloat DecayTime
Definition: alEffect.h:35
context
TParseContext * context
Definition: glslang_tab.cpp:1907
AL_EFFECT_EAXREVERB
#define AL_EFFECT_EAXREVERB
Definition: efx.h:167
ALeffect::type
ALenum type
Definition: alEffect.h:27
ALeffect::LateReverbGain
ALfloat LateReverbGain
Definition: alEffect.h:39
ALeffect::Waveform
ALint Waveform
Definition: alEffect.h:71
ALeffect::EchoTime
ALfloat EchoTime
Definition: alEffect.h:50
ALeffect::GainLF
ALfloat GainLF
Definition: alEffect.h:46
MAX_EFFECTS
Definition: alEffect.h:17
ALeffect::SetParamf
void(* SetParamf)(struct ALeffect *effect, ALCcontext *context, ALenum param, ALfloat val)
Definition: alEffect.h:80
ALeffect::Density
ALfloat Density
Definition: alEffect.h:31
ALeffect
Definition: alEffect.h:24