10 #define AL_EFFECT_TYPE 0x8001
12 #define AL_EFFECT_NULL 0x0000
13 #define AL_EFFECT_REVERB 0x0001
14 #define AL_EFFECT_CHORUS 0x0002
15 #define AL_EFFECT_DISTORTION 0x0003
16 #define AL_EFFECT_ECHO 0x0004
17 #define AL_EFFECT_FLANGER 0x0005
18 #define AL_EFFECT_FREQUENCY_SHIFTER 0x0006
19 #define AL_EFFECT_VOCAL_MORPHER 0x0007
20 #define AL_EFFECT_PITCH_SHIFTER 0x0008
21 #define AL_EFFECT_RING_MODULATOR 0x0009
22 #define AL_EFFECT_AUTOWAH 0x000A
23 #define AL_EFFECT_COMPRESSOR 0x000B
24 #define AL_EFFECT_EQUALIZER 0x000C
26 #define AL_REVERB_DENSITY 0x0001
27 #define AL_REVERB_DIFFUSION 0x0002
28 #define AL_REVERB_GAIN 0x0003
29 #define AL_REVERB_GAINHF 0x0004
30 #define AL_REVERB_DECAY_TIME 0x0005
31 #define AL_REVERB_DECAY_HFRATIO 0x0006
32 #define AL_REVERB_REFLECTIONS_GAIN 0x0007
33 #define AL_REVERB_REFLECTIONS_DELAY 0x0008
34 #define AL_REVERB_LATE_REVERB_GAIN 0x0009
35 #define AL_REVERB_LATE_REVERB_DELAY 0x000A
36 #define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B
37 #define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C
38 #define AL_REVERB_DECAY_HFLIMIT 0x000D
40 #define AL_ECHO_DELAY 0x0001
41 #define AL_ECHO_LRDELAY 0x0002
42 #define AL_ECHO_DAMPING 0x0003
43 #define AL_ECHO_FEEDBACK 0x0004
44 #define AL_ECHO_SPREAD 0x0005
46 #define AL_ECHO_MIN_DELAY (0.0f)
47 #define AL_ECHO_MAX_DELAY (0.207f)
48 #define AL_ECHO_DEFAULT_DELAY (0.1f)
49 #define AL_ECHO_MIN_LRDELAY (0.0f)
50 #define AL_ECHO_MAX_LRDELAY (0.404f)
51 #define AL_ECHO_DEFAULT_LRDELAY (0.1f)
52 #define AL_ECHO_MIN_DAMPING (0.0f)
53 #define AL_ECHO_MAX_DAMPING (0.99f)
54 #define AL_ECHO_DEFAULT_DAMPING (0.5f)
55 #define AL_ECHO_MIN_FEEDBACK (0.0f)
56 #define AL_ECHO_MAX_FEEDBACK (1.0f)
57 #define AL_ECHO_DEFAULT_FEEDBACK (0.5f)
58 #define AL_ECHO_MIN_SPREAD (-1.0f)
59 #define AL_ECHO_MAX_SPREAD (1.0f)
60 #define AL_ECHO_DEFAULT_SPREAD (-1.0f)
69 extern ALboolean DisabledEffects
[MAX_EFFECTS
];
72 typedef struct ALeffect_struct
74 // Effect type (AL_EFFECT_NULL, ...)
85 ALfloat ReflectionsGain
;
86 ALfloat ReflectionsDelay
;
87 ALfloat LateReverbGain
;
88 ALfloat LateReverbDelay
;
89 ALfloat AirAbsorptionGainHF
;
90 ALfloat RoomRolloffFactor
;
91 ALboolean DecayHFLimit
;
107 struct ALeffect_struct
*next
;
110 ALvoid AL_APIENTRY
alGenEffects(ALsizei n
, ALuint
*effects
);
111 ALvoid AL_APIENTRY
alDeleteEffects(ALsizei n
, ALuint
*effects
);
112 ALboolean AL_APIENTRY
alIsEffect(ALuint effect
);
114 ALvoid AL_APIENTRY
alEffecti(ALuint effect
, ALenum param
, ALint iValue
);
115 ALvoid AL_APIENTRY
alEffectiv(ALuint effect
, ALenum param
, ALint
*piValues
);
116 ALvoid AL_APIENTRY
alEffectf(ALuint effect
, ALenum param
, ALfloat flValue
);
117 ALvoid AL_APIENTRY
alEffectfv(ALuint effect
, ALenum param
, ALfloat
*pflValues
);
119 ALvoid AL_APIENTRY
alGetEffecti(ALuint effect
, ALenum param
, ALint
*piValue
);
120 ALvoid AL_APIENTRY
alGetEffectiv(ALuint effect
, ALenum param
, ALint
*piValues
);
121 ALvoid AL_APIENTRY
alGetEffectf(ALuint effect
, ALenum param
, ALfloat
*pflValue
);
122 ALvoid AL_APIENTRY
alGetEffectfv(ALuint effect
, ALenum param
, ALfloat
*pflValues
);
124 ALvoid
ReleaseALEffects(ALvoid
);