Mercurial > mm7
comparison lib/OpenAL/efx.h @ 2134:992d2e6f907d
preparation for libavcodec
author | zipi |
---|---|
date | Tue, 31 Dec 2013 14:52:14 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2133:e378232bfd36 | 2134:992d2e6f907d |
---|---|
1 #ifndef __efx_h_ | |
2 #define __efx_h_ | |
3 | |
4 | |
5 #ifdef __cplusplus | |
6 extern "C" { | |
7 #endif | |
8 | |
9 #define ALC_EXT_EFX_NAME "ALC_EXT_EFX" | |
10 | |
11 /** | |
12 * Context definitions to be used with alcCreateContext. | |
13 * These values must be unique and not conflict with other | |
14 * al context values. | |
15 */ | |
16 #define ALC_EFX_MAJOR_VERSION 0x20001 | |
17 #define ALC_EFX_MINOR_VERSION 0x20002 | |
18 #define ALC_MAX_AUXILIARY_SENDS 0x20003 | |
19 | |
20 | |
21 | |
22 | |
23 /** | |
24 * Listener definitions to be used with alListener functions. | |
25 * These values must be unique and not conflict with other | |
26 * al listener values. | |
27 */ | |
28 #define AL_METERS_PER_UNIT 0x20004 | |
29 | |
30 | |
31 | |
32 | |
33 /** | |
34 * Source definitions to be used with alSource functions. | |
35 * These values must be unique and not conflict with other | |
36 * al source values. | |
37 */ | |
38 #define AL_DIRECT_FILTER 0x20005 | |
39 #define AL_AUXILIARY_SEND_FILTER 0x20006 | |
40 #define AL_AIR_ABSORPTION_FACTOR 0x20007 | |
41 #define AL_ROOM_ROLLOFF_FACTOR 0x20008 | |
42 #define AL_CONE_OUTER_GAINHF 0x20009 | |
43 #define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A | |
44 #define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B | |
45 #define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C | |
46 | |
47 | |
48 | |
49 | |
50 /** | |
51 * Effect object definitions to be used with alEffect functions. | |
52 * | |
53 * Effect parameter value definitions, ranges, and defaults | |
54 * appear farther down in this file. | |
55 */ | |
56 | |
57 /* Reverb Parameters */ | |
58 #define AL_REVERB_DENSITY 0x0001 | |
59 #define AL_REVERB_DIFFUSION 0x0002 | |
60 #define AL_REVERB_GAIN 0x0003 | |
61 #define AL_REVERB_GAINHF 0x0004 | |
62 #define AL_REVERB_DECAY_TIME 0x0005 | |
63 #define AL_REVERB_DECAY_HFRATIO 0x0006 | |
64 #define AL_REVERB_REFLECTIONS_GAIN 0x0007 | |
65 #define AL_REVERB_REFLECTIONS_DELAY 0x0008 | |
66 #define AL_REVERB_LATE_REVERB_GAIN 0x0009 | |
67 #define AL_REVERB_LATE_REVERB_DELAY 0x000A | |
68 #define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B | |
69 #define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C | |
70 #define AL_REVERB_DECAY_HFLIMIT 0x000D | |
71 | |
72 /* Chorus Parameters */ | |
73 #define AL_CHORUS_WAVEFORM 0x0001 | |
74 #define AL_CHORUS_PHASE 0x0002 | |
75 #define AL_CHORUS_RATE 0x0003 | |
76 #define AL_CHORUS_DEPTH 0x0004 | |
77 #define AL_CHORUS_FEEDBACK 0x0005 | |
78 #define AL_CHORUS_DELAY 0x0006 | |
79 | |
80 /* Distortion Parameters */ | |
81 #define AL_DISTORTION_EDGE 0x0001 | |
82 #define AL_DISTORTION_GAIN 0x0002 | |
83 #define AL_DISTORTION_LOWPASS_CUTOFF 0x0003 | |
84 #define AL_DISTORTION_EQCENTER 0x0004 | |
85 #define AL_DISTORTION_EQBANDWIDTH 0x0005 | |
86 | |
87 /* Echo Parameters */ | |
88 #define AL_ECHO_DELAY 0x0001 | |
89 #define AL_ECHO_LRDELAY 0x0002 | |
90 #define AL_ECHO_DAMPING 0x0003 | |
91 #define AL_ECHO_FEEDBACK 0x0004 | |
92 #define AL_ECHO_SPREAD 0x0005 | |
93 | |
94 /* Flanger Parameters */ | |
95 #define AL_FLANGER_WAVEFORM 0x0001 | |
96 #define AL_FLANGER_PHASE 0x0002 | |
97 #define AL_FLANGER_RATE 0x0003 | |
98 #define AL_FLANGER_DEPTH 0x0004 | |
99 #define AL_FLANGER_FEEDBACK 0x0005 | |
100 #define AL_FLANGER_DELAY 0x0006 | |
101 | |
102 /* Frequencyshifter Parameters */ | |
103 #define AL_FREQUENCY_SHIFTER_FREQUENCY 0x0001 | |
104 #define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION 0x0002 | |
105 #define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION 0x0003 | |
106 | |
107 /* Vocalmorpher Parameters */ | |
108 #define AL_VOCAL_MORPHER_PHONEMEA 0x0001 | |
109 #define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING 0x0002 | |
110 #define AL_VOCAL_MORPHER_PHONEMEB 0x0003 | |
111 #define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING 0x0004 | |
112 #define AL_VOCAL_MORPHER_WAVEFORM 0x0005 | |
113 #define AL_VOCAL_MORPHER_RATE 0x0006 | |
114 | |
115 /* Pitchshifter Parameters */ | |
116 #define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001 | |
117 #define AL_PITCH_SHIFTER_FINE_TUNE 0x0002 | |
118 | |
119 /* Ringmodulator Parameters */ | |
120 #define AL_RING_MODULATOR_FREQUENCY 0x0001 | |
121 #define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002 | |
122 #define AL_RING_MODULATOR_WAVEFORM 0x0003 | |
123 | |
124 /* Autowah Parameters */ | |
125 #define AL_AUTOWAH_ATTACK_TIME 0x0001 | |
126 #define AL_AUTOWAH_RELEASE_TIME 0x0002 | |
127 #define AL_AUTOWAH_RESONANCE 0x0003 | |
128 #define AL_AUTOWAH_PEAK_GAIN 0x0004 | |
129 | |
130 /* Compressor Parameters */ | |
131 #define AL_COMPRESSOR_ONOFF 0x0001 | |
132 | |
133 /* Equalizer Parameters */ | |
134 #define AL_EQUALIZER_LOW_GAIN 0x0001 | |
135 #define AL_EQUALIZER_LOW_CUTOFF 0x0002 | |
136 #define AL_EQUALIZER_MID1_GAIN 0x0003 | |
137 #define AL_EQUALIZER_MID1_CENTER 0x0004 | |
138 #define AL_EQUALIZER_MID1_WIDTH 0x0005 | |
139 #define AL_EQUALIZER_MID2_GAIN 0x0006 | |
140 #define AL_EQUALIZER_MID2_CENTER 0x0007 | |
141 #define AL_EQUALIZER_MID2_WIDTH 0x0008 | |
142 #define AL_EQUALIZER_HIGH_GAIN 0x0009 | |
143 #define AL_EQUALIZER_HIGH_CUTOFF 0x000A | |
144 | |
145 /* Effect type */ | |
146 #define AL_EFFECT_FIRST_PARAMETER 0x0000 | |
147 #define AL_EFFECT_LAST_PARAMETER 0x8000 | |
148 #define AL_EFFECT_TYPE 0x8001 | |
149 | |
150 /* Effect type definitions to be used with AL_EFFECT_TYPE. */ | |
151 #define AL_EFFECT_NULL 0x0000 /* Can also be used as an Effect Object ID */ | |
152 #define AL_EFFECT_REVERB 0x0001 | |
153 #define AL_EFFECT_CHORUS 0x0002 | |
154 #define AL_EFFECT_DISTORTION 0x0003 | |
155 #define AL_EFFECT_ECHO 0x0004 | |
156 #define AL_EFFECT_FLANGER 0x0005 | |
157 #define AL_EFFECT_FREQUENCY_SHIFTER 0x0006 | |
158 #define AL_EFFECT_VOCAL_MORPHER 0x0007 | |
159 #define AL_EFFECT_PITCH_SHIFTER 0x0008 | |
160 #define AL_EFFECT_RING_MODULATOR 0x0009 | |
161 #define AL_EFFECT_AUTOWAH 0x000A | |
162 #define AL_EFFECT_COMPRESSOR 0x000B | |
163 #define AL_EFFECT_EQUALIZER 0x000C | |
164 | |
165 /** | |
166 * Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions. | |
167 */ | |
168 #define AL_EFFECTSLOT_EFFECT 0x0001 | |
169 #define AL_EFFECTSLOT_GAIN 0x0002 | |
170 #define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003 | |
171 | |
172 /** | |
173 * Value to be used as an Auxiliary Slot ID to disable a source send.. | |
174 */ | |
175 #define AL_EFFECTSLOT_NULL 0x0000 | |
176 | |
177 | |
178 | |
179 /** | |
180 * Filter object definitions to be used with alFilter functions. | |
181 */ | |
182 | |
183 /* Lowpass parameters. */ | |
184 #define AL_LOWPASS_GAIN 0x0001 | |
185 #define AL_LOWPASS_GAINHF 0x0002 | |
186 | |
187 /* Highpass Parameters */ | |
188 #define AL_HIGHPASS_GAIN 0x0001 | |
189 #define AL_HIGHPASS_GAINLF 0x0002 | |
190 | |
191 /* Bandpass Parameters */ | |
192 #define AL_BANDPASS_GAIN 0x0001 | |
193 #define AL_BANDPASS_GAINLF 0x0002 | |
194 #define AL_BANDPASS_GAINHF 0x0003 | |
195 | |
196 /* Filter type */ | |
197 #define AL_FILTER_FIRST_PARAMETER 0x0000 | |
198 #define AL_FILTER_LAST_PARAMETER 0x8000 | |
199 #define AL_FILTER_TYPE 0x8001 | |
200 | |
201 /* Filter type definitions to be used with AL_FILTER_TYPE. */ | |
202 #define AL_FILTER_NULL 0x0000 /* Can also be used as a Filter Object ID */ | |
203 #define AL_FILTER_LOWPASS 0x0001 | |
204 #define AL_FILTER_HIGHPASS 0x0002 | |
205 #define AL_FILTER_BANDPASS 0x0003 | |
206 | |
207 | |
208 /** | |
209 * Effect object functions. | |
210 */ | |
211 | |
212 /* Create Effect objects. */ | |
213 typedef void (__cdecl *LPALGENEFFECTS)( ALsizei n, ALuint* effects ); | |
214 | |
215 /* Delete Effect objects. */ | |
216 typedef void (__cdecl *LPALDELETEEFFECTS)( ALsizei n, ALuint* effects ); | |
217 | |
218 /* Verify a handle is a valid Effect. */ | |
219 typedef ALboolean (__cdecl *LPALISEFFECT)( ALuint eid ); | |
220 | |
221 /* Set an integer parameter for an Effect object. */ | |
222 typedef void (__cdecl *LPALEFFECTI)( ALuint eid, ALenum param, ALint value); | |
223 typedef void (__cdecl *LPALEFFECTIV)( ALuint eid, ALenum param, ALint* values ); | |
224 | |
225 /* Set a floating point parameter for an Effect object. */ | |
226 typedef void (__cdecl *LPALEFFECTF)( ALuint eid, ALenum param, ALfloat value); | |
227 typedef void (__cdecl *LPALEFFECTFV)( ALuint eid, ALenum param, ALfloat* values ); | |
228 | |
229 /* Get an integer parameter for an Effect object. */ | |
230 typedef void (__cdecl *LPALGETEFFECTI)( ALuint eid, ALenum pname, ALint* value ); | |
231 typedef void (__cdecl *LPALGETEFFECTIV)( ALuint eid, ALenum pname, ALint* values ); | |
232 | |
233 /* Get a floating point parameter for an Effect object. */ | |
234 typedef void (__cdecl *LPALGETEFFECTF)( ALuint eid, ALenum pname, ALfloat* value ); | |
235 typedef void (__cdecl *LPALGETEFFECTFV)( ALuint eid, ALenum pname, ALfloat* values ); | |
236 | |
237 | |
238 /** | |
239 * Filter object functions | |
240 */ | |
241 | |
242 /* Create Filter objects. */ | |
243 typedef void (__cdecl *LPALGENFILTERS)( ALsizei n, ALuint* filters ); | |
244 | |
245 /* Delete Filter objects. */ | |
246 typedef void (__cdecl *LPALDELETEFILTERS)( ALsizei n, ALuint* filters ); | |
247 | |
248 /* Verify a handle is a valid Filter. */ | |
249 typedef ALboolean (__cdecl *LPALISFILTER)( ALuint fid ); | |
250 | |
251 /* Set an integer parameter for a Filter object. */ | |
252 typedef void (__cdecl *LPALFILTERI)( ALuint fid, ALenum param, ALint value ); | |
253 typedef void (__cdecl *LPALFILTERIV)( ALuint fid, ALenum param, ALint* values ); | |
254 | |
255 /* Set a floating point parameter for an Filter object. */ | |
256 typedef void (__cdecl *LPALFILTERF)( ALuint fid, ALenum param, ALfloat value); | |
257 typedef void (__cdecl *LPALFILTERFV)( ALuint fid, ALenum param, ALfloat* values ); | |
258 | |
259 /* Get an integer parameter for a Filter object. */ | |
260 typedef void (__cdecl *LPALGETFILTERI)( ALuint fid, ALenum pname, ALint* value ); | |
261 typedef void (__cdecl *LPALGETFILTERIV)( ALuint fid, ALenum pname, ALint* values ); | |
262 | |
263 /* Get a floating point parameter for a Filter object. */ | |
264 typedef void (__cdecl *LPALGETFILTERF)( ALuint fid, ALenum pname, ALfloat* value ); | |
265 typedef void (__cdecl *LPALGETFILTERFV)( ALuint fid, ALenum pname, ALfloat* values ); | |
266 | |
267 | |
268 /** | |
269 * Auxiliary Slot object functions | |
270 */ | |
271 | |
272 /* Create Auxiliary Slot objects. */ | |
273 typedef void (__cdecl *LPALGENAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); | |
274 | |
275 /* Delete Auxiliary Slot objects. */ | |
276 typedef void (__cdecl *LPALDELETEAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); | |
277 | |
278 /* Verify a handle is a valid Auxiliary Slot. */ | |
279 typedef ALboolean (__cdecl *LPALISAUXILIARYEFFECTSLOT)( ALuint slot ); | |
280 | |
281 /* Set an integer parameter for a Auxiliary Slot object. */ | |
282 typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum param, ALint value ); | |
283 typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum param, ALint* values ); | |
284 | |
285 /* Set a floating point parameter for an Auxiliary Slot object. */ | |
286 typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum param, ALfloat value ); | |
287 typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum param, ALfloat* values ); | |
288 | |
289 /* Get an integer parameter for a Auxiliary Slot object. */ | |
290 typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum pname, ALint* value ); | |
291 typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum pname, ALint* values ); | |
292 | |
293 /* Get a floating point parameter for a Auxiliary Slot object. */ | |
294 typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum pname, ALfloat* value ); | |
295 typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum pname, ALfloat* values ); | |
296 | |
297 | |
298 | |
299 | |
300 /********************************************************** | |
301 * Filter ranges and defaults. | |
302 */ | |
303 | |
304 /** | |
305 * Lowpass filter | |
306 */ | |
307 | |
308 #define LOWPASS_MIN_GAIN 0.0f | |
309 #define LOWPASS_MAX_GAIN 1.0f | |
310 #define LOWPASS_DEFAULT_GAIN 1.0f | |
311 | |
312 #define LOWPASS_MIN_GAINHF 0.0f | |
313 #define LOWPASS_MAX_GAINHF 1.0f | |
314 #define LOWPASS_DEFAULT_GAINHF 1.0f | |
315 | |
316 /** | |
317 * Highpass filter | |
318 */ | |
319 | |
320 #define HIGHPASS_MIN_GAIN 0.0f | |
321 #define HIGHPASS_MAX_GAIN 1.0f | |
322 #define HIGHPASS_DEFAULT_GAIN 1.0f | |
323 | |
324 #define HIGHPASS_MIN_GAINLF 0.0f | |
325 #define HIGHPASS_MAX_GAINLF 1.0f | |
326 #define HIGHPASS_DEFAULT_GAINLF 1.0f | |
327 | |
328 /** | |
329 * Bandpass filter | |
330 */ | |
331 | |
332 #define BANDPASS_MIN_GAIN 0.0f | |
333 #define BANDPASS_MAX_GAIN 1.0f | |
334 #define BANDPASS_DEFAULT_GAIN 1.0f | |
335 | |
336 #define BANDPASS_MIN_GAINHF 0.0f | |
337 #define BANDPASS_MAX_GAINHF 1.0f | |
338 #define BANDPASS_DEFAULT_GAINHF 1.0f | |
339 | |
340 #define BANDPASS_MIN_GAINLF 0.0f | |
341 #define BANDPASS_MAX_GAINLF 1.0f | |
342 #define BANDPASS_DEFAULT_GAINLF 1.0f | |
343 | |
344 | |
345 | |
346 | |
347 /********************************************************** | |
348 * Effect parameter structures, value definitions, ranges and defaults. | |
349 */ | |
350 | |
351 /** | |
352 * AL reverb effect parameter ranges and defaults | |
353 */ | |
354 #define AL_REVERB_MIN_DENSITY 0.0f | |
355 #define AL_REVERB_MAX_DENSITY 1.0f | |
356 #define AL_REVERB_DEFAULT_DENSITY 1.0f | |
357 | |
358 #define AL_REVERB_MIN_DIFFUSION 0.0f | |
359 #define AL_REVERB_MAX_DIFFUSION 1.0f | |
360 #define AL_REVERB_DEFAULT_DIFFUSION 1.0f | |
361 | |
362 #define AL_REVERB_MIN_GAIN 0.0f | |
363 #define AL_REVERB_MAX_GAIN 1.0f | |
364 #define AL_REVERB_DEFAULT_GAIN 0.32f | |
365 | |
366 #define AL_REVERB_MIN_GAINHF 0.0f | |
367 #define AL_REVERB_MAX_GAINHF 1.0f | |
368 #define AL_REVERB_DEFAULT_GAINHF 0.89f | |
369 | |
370 #define AL_REVERB_MIN_DECAY_TIME 0.1f | |
371 #define AL_REVERB_MAX_DECAY_TIME 20.0f | |
372 #define AL_REVERB_DEFAULT_DECAY_TIME 1.49f | |
373 | |
374 #define AL_REVERB_MIN_DECAY_HFRATIO 0.1f | |
375 #define AL_REVERB_MAX_DECAY_HFRATIO 2.0f | |
376 #define AL_REVERB_DEFAULT_DECAY_HFRATIO 0.83f | |
377 | |
378 #define AL_REVERB_MIN_REFLECTIONS_GAIN 0.0f | |
379 #define AL_REVERB_MAX_REFLECTIONS_GAIN 3.16f | |
380 #define AL_REVERB_DEFAULT_REFLECTIONS_GAIN 0.05f | |
381 | |
382 #define AL_REVERB_MIN_REFLECTIONS_DELAY 0.0f | |
383 #define AL_REVERB_MAX_REFLECTIONS_DELAY 0.3f | |
384 #define AL_REVERB_DEFAULT_REFLECTIONS_DELAY 0.007f | |
385 | |
386 #define AL_REVERB_MIN_LATE_REVERB_GAIN 0.0f | |
387 #define AL_REVERB_MAX_LATE_REVERB_GAIN 10.0f | |
388 #define AL_REVERB_DEFAULT_LATE_REVERB_GAIN 1.26f | |
389 | |
390 #define AL_REVERB_MIN_LATE_REVERB_DELAY 0.0f | |
391 #define AL_REVERB_MAX_LATE_REVERB_DELAY 0.1f | |
392 #define AL_REVERB_DEFAULT_LATE_REVERB_DELAY 0.011f | |
393 | |
394 #define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF 0.892f | |
395 #define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF 1.0f | |
396 #define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF 0.994f | |
397 | |
398 #define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR 0.0f | |
399 #define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR 10.0f | |
400 #define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR 0.0f | |
401 | |
402 #define AL_REVERB_MIN_DECAY_HFLIMIT AL_FALSE | |
403 #define AL_REVERB_MAX_DECAY_HFLIMIT AL_TRUE | |
404 #define AL_REVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE | |
405 | |
406 /** | |
407 * AL chorus effect parameter ranges and defaults | |
408 */ | |
409 #define AL_CHORUS_MIN_WAVEFORM 0 | |
410 #define AL_CHORUS_MAX_WAVEFORM 1 | |
411 #define AL_CHORUS_DEFAULT_WAVEFORM 1 | |
412 | |
413 #define AL_CHORUS_WAVEFORM_SINUSOID 0 | |
414 #define AL_CHORUS_WAVEFORM_TRIANGLE 1 | |
415 | |
416 #define AL_CHORUS_MIN_PHASE (-180) | |
417 #define AL_CHORUS_MAX_PHASE 180 | |
418 #define AL_CHORUS_DEFAULT_PHASE 90 | |
419 | |
420 #define AL_CHORUS_MIN_RATE 0.0f | |
421 #define AL_CHORUS_MAX_RATE 10.0f | |
422 #define AL_CHORUS_DEFAULT_RATE 1.1f | |
423 | |
424 #define AL_CHORUS_MIN_DEPTH 0.0f | |
425 #define AL_CHORUS_MAX_DEPTH 1.0f | |
426 #define AL_CHORUS_DEFAULT_DEPTH 0.1f | |
427 | |
428 #define AL_CHORUS_MIN_FEEDBACK (-1.0f) | |
429 #define AL_CHORUS_MAX_FEEDBACK 1.0f | |
430 #define AL_CHORUS_DEFAULT_FEEDBACK 0.25f | |
431 | |
432 #define AL_CHORUS_MIN_DELAY 0.0f | |
433 #define AL_CHORUS_MAX_DELAY 0.016f | |
434 #define AL_CHORUS_DEFAULT_DELAY 0.016f | |
435 | |
436 /** | |
437 * AL distortion effect parameter ranges and defaults | |
438 */ | |
439 #define AL_DISTORTION_MIN_EDGE 0.0f | |
440 #define AL_DISTORTION_MAX_EDGE 1.0f | |
441 #define AL_DISTORTION_DEFAULT_EDGE 0.2f | |
442 | |
443 #define AL_DISTORTION_MIN_GAIN 0.01f | |
444 #define AL_DISTORTION_MAX_GAIN 1.0f | |
445 #define AL_DISTORTION_DEFAULT_GAIN 0.05f | |
446 | |
447 #define AL_DISTORTION_MIN_LOWPASS_CUTOFF 80.0f | |
448 #define AL_DISTORTION_MAX_LOWPASS_CUTOFF 24000.0f | |
449 #define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF 8000.0f | |
450 | |
451 #define AL_DISTORTION_MIN_EQCENTER 80.0f | |
452 #define AL_DISTORTION_MAX_EQCENTER 24000.0f | |
453 #define AL_DISTORTION_DEFAULT_EQCENTER 3600.0f | |
454 | |
455 #define AL_DISTORTION_MIN_EQBANDWIDTH 80.0f | |
456 #define AL_DISTORTION_MAX_EQBANDWIDTH 24000.0f | |
457 #define AL_DISTORTION_DEFAULT_EQBANDWIDTH 3600.0f | |
458 | |
459 /** | |
460 * AL echo effect parameter ranges and defaults | |
461 */ | |
462 #define AL_ECHO_MIN_DELAY 0.0f | |
463 #define AL_ECHO_MAX_DELAY 0.207f | |
464 #define AL_ECHO_DEFAULT_DELAY 0.1f | |
465 | |
466 #define AL_ECHO_MIN_LRDELAY 0.0f | |
467 #define AL_ECHO_MAX_LRDELAY 0.404f | |
468 #define AL_ECHO_DEFAULT_LRDELAY 0.1f | |
469 | |
470 #define AL_ECHO_MIN_DAMPING 0.0f | |
471 #define AL_ECHO_MAX_DAMPING 0.99f | |
472 #define AL_ECHO_DEFAULT_DAMPING 0.5f | |
473 | |
474 #define AL_ECHO_MIN_FEEDBACK 0.0f | |
475 #define AL_ECHO_MAX_FEEDBACK 1.0f | |
476 #define AL_ECHO_DEFAULT_FEEDBACK 0.5f | |
477 | |
478 #define AL_ECHO_MIN_SPREAD (-1.0f) | |
479 #define AL_ECHO_MAX_SPREAD 1.0f | |
480 #define AL_ECHO_DEFAULT_SPREAD (-1.0f) | |
481 | |
482 /** | |
483 * AL flanger effect parameter ranges and defaults | |
484 */ | |
485 #define AL_FLANGER_MIN_WAVEFORM 0 | |
486 #define AL_FLANGER_MAX_WAVEFORM 1 | |
487 #define AL_FLANGER_DEFAULT_WAVEFORM 1 | |
488 | |
489 #define AL_FLANGER_WAVEFORM_SINUSOID 0 | |
490 #define AL_FLANGER_WAVEFORM_TRIANGLE 1 | |
491 | |
492 #define AL_FLANGER_MIN_PHASE (-180) | |
493 #define AL_FLANGER_MAX_PHASE 180 | |
494 #define AL_FLANGER_DEFAULT_PHASE 0 | |
495 | |
496 #define AL_FLANGER_MIN_RATE 0.0f | |
497 #define AL_FLANGER_MAX_RATE 10.0f | |
498 #define AL_FLANGER_DEFAULT_RATE 0.27f | |
499 | |
500 #define AL_FLANGER_MIN_DEPTH 0.0f | |
501 #define AL_FLANGER_MAX_DEPTH 1.0f | |
502 #define AL_FLANGER_DEFAULT_DEPTH 1.0f | |
503 | |
504 #define AL_FLANGER_MIN_FEEDBACK (-1.0f) | |
505 #define AL_FLANGER_MAX_FEEDBACK 1.0f | |
506 #define AL_FLANGER_DEFAULT_FEEDBACK (-0.5f) | |
507 | |
508 #define AL_FLANGER_MIN_DELAY 0.0f | |
509 #define AL_FLANGER_MAX_DELAY 0.004f | |
510 #define AL_FLANGER_DEFAULT_DELAY 0.002f | |
511 | |
512 /** | |
513 * AL frequency shifter effect parameter ranges and defaults | |
514 */ | |
515 #define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY 0.0f | |
516 #define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY 24000.0f | |
517 #define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY 0.0f | |
518 | |
519 #define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION 0 | |
520 #define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION 2 | |
521 #define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION 0 | |
522 | |
523 #define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION 0 | |
524 #define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION 2 | |
525 #define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION 0 | |
526 | |
527 #define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN 0 | |
528 #define AL_FREQUENCY_SHIFTER_DIRECTION_UP 1 | |
529 #define AL_FREQUENCY_SHIFTER_DIRECTION_OFF 2 | |
530 | |
531 /** | |
532 * AL vocal morpher effect parameter ranges and defaults | |
533 */ | |
534 #define AL_VOCAL_MORPHER_MIN_PHONEMEA 0 | |
535 #define AL_VOCAL_MORPHER_MAX_PHONEMEA 29 | |
536 #define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA 0 | |
537 | |
538 #define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24) | |
539 #define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING 24 | |
540 #define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING 0 | |
541 | |
542 #define AL_VOCAL_MORPHER_MIN_PHONEMEB 0 | |
543 #define AL_VOCAL_MORPHER_MAX_PHONEMEB 29 | |
544 #define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB 10 | |
545 | |
546 #define AL_VOCAL_MORPHER_PHONEME_A 0 | |
547 #define AL_VOCAL_MORPHER_PHONEME_E 1 | |
548 #define AL_VOCAL_MORPHER_PHONEME_I 2 | |
549 #define AL_VOCAL_MORPHER_PHONEME_O 3 | |
550 #define AL_VOCAL_MORPHER_PHONEME_U 4 | |
551 #define AL_VOCAL_MORPHER_PHONEME_AA 5 | |
552 #define AL_VOCAL_MORPHER_PHONEME_AE 6 | |
553 #define AL_VOCAL_MORPHER_PHONEME_AH 7 | |
554 #define AL_VOCAL_MORPHER_PHONEME_AO 8 | |
555 #define AL_VOCAL_MORPHER_PHONEME_EH 9 | |
556 #define AL_VOCAL_MORPHER_PHONEME_ER 10 | |
557 #define AL_VOCAL_MORPHER_PHONEME_IH 11 | |
558 #define AL_VOCAL_MORPHER_PHONEME_IY 12 | |
559 #define AL_VOCAL_MORPHER_PHONEME_UH 13 | |
560 #define AL_VOCAL_MORPHER_PHONEME_UW 14 | |
561 #define AL_VOCAL_MORPHER_PHONEME_B 15 | |
562 #define AL_VOCAL_MORPHER_PHONEME_D 16 | |
563 #define AL_VOCAL_MORPHER_PHONEME_F 17 | |
564 #define AL_VOCAL_MORPHER_PHONEME_G 18 | |
565 #define AL_VOCAL_MORPHER_PHONEME_J 19 | |
566 #define AL_VOCAL_MORPHER_PHONEME_K 20 | |
567 #define AL_VOCAL_MORPHER_PHONEME_L 21 | |
568 #define AL_VOCAL_MORPHER_PHONEME_M 22 | |
569 #define AL_VOCAL_MORPHER_PHONEME_N 23 | |
570 #define AL_VOCAL_MORPHER_PHONEME_P 24 | |
571 #define AL_VOCAL_MORPHER_PHONEME_R 25 | |
572 #define AL_VOCAL_MORPHER_PHONEME_S 26 | |
573 #define AL_VOCAL_MORPHER_PHONEME_T 27 | |
574 #define AL_VOCAL_MORPHER_PHONEME_V 28 | |
575 #define AL_VOCAL_MORPHER_PHONEME_Z 29 | |
576 | |
577 #define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24) | |
578 #define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING 24 | |
579 #define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING 0 | |
580 | |
581 #define AL_VOCAL_MORPHER_MIN_WAVEFORM 0 | |
582 #define AL_VOCAL_MORPHER_MAX_WAVEFORM 2 | |
583 #define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM 0 | |
584 | |
585 #define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID 0 | |
586 #define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE 1 | |
587 #define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH 2 | |
588 | |
589 #define AL_VOCAL_MORPHER_MIN_RATE 0.0f | |
590 #define AL_VOCAL_MORPHER_MAX_RATE 10.0f | |
591 #define AL_VOCAL_MORPHER_DEFAULT_RATE 1.41f | |
592 | |
593 /** | |
594 * AL pitch shifter effect parameter ranges and defaults | |
595 */ | |
596 #define AL_PITCH_SHIFTER_MIN_COARSE_TUNE (-12) | |
597 #define AL_PITCH_SHIFTER_MAX_COARSE_TUNE 12 | |
598 #define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE 12 | |
599 | |
600 #define AL_PITCH_SHIFTER_MIN_FINE_TUNE (-50) | |
601 #define AL_PITCH_SHIFTER_MAX_FINE_TUNE 50 | |
602 #define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE 0 | |
603 | |
604 /** | |
605 * AL ring modulator effect parameter ranges and defaults | |
606 */ | |
607 #define AL_RING_MODULATOR_MIN_FREQUENCY 0.0f | |
608 #define AL_RING_MODULATOR_MAX_FREQUENCY 8000.0f | |
609 #define AL_RING_MODULATOR_DEFAULT_FREQUENCY 440.0f | |
610 | |
611 #define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF 0.0f | |
612 #define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF 24000.0f | |
613 #define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF 800.0f | |
614 | |
615 #define AL_RING_MODULATOR_MIN_WAVEFORM 0 | |
616 #define AL_RING_MODULATOR_MAX_WAVEFORM 2 | |
617 #define AL_RING_MODULATOR_DEFAULT_WAVEFORM 0 | |
618 | |
619 #define AL_RING_MODULATOR_SINUSOID 0 | |
620 #define AL_RING_MODULATOR_SAWTOOTH 1 | |
621 #define AL_RING_MODULATOR_SQUARE 2 | |
622 | |
623 /** | |
624 * AL autowah effect parameter ranges and defaults | |
625 */ | |
626 #define AL_AUTOWAH_MIN_ATTACK_TIME 0.0001f | |
627 #define AL_AUTOWAH_MAX_ATTACK_TIME 1.0f | |
628 #define AL_AUTOWAH_DEFAULT_ATTACK_TIME 0.06f | |
629 | |
630 #define AL_AUTOWAH_MIN_RELEASE_TIME 0.0001f | |
631 #define AL_AUTOWAH_MAX_RELEASE_TIME 1.0f | |
632 #define AL_AUTOWAH_DEFAULT_RELEASE_TIME 0.06f | |
633 | |
634 #define AL_AUTOWAH_MIN_RESONANCE 2.0f | |
635 #define AL_AUTOWAH_MAX_RESONANCE 1000.0f | |
636 #define AL_AUTOWAH_DEFAULT_RESONANCE 1000.0f | |
637 | |
638 #define AL_AUTOWAH_MIN_PEAK_GAIN 0.00003f | |
639 #define AL_AUTOWAH_MAX_PEAK_GAIN 31621.0f | |
640 #define AL_AUTOWAH_DEFAULT_PEAK_GAIN 11.22f | |
641 | |
642 /** | |
643 * AL compressor effect parameter ranges and defaults | |
644 */ | |
645 #define AL_COMPRESSOR_MIN_ONOFF 0 | |
646 #define AL_COMPRESSOR_MAX_ONOFF 1 | |
647 #define AL_COMPRESSOR_DEFAULT_ONOFF 1 | |
648 | |
649 /** | |
650 * AL equalizer effect parameter ranges and defaults | |
651 */ | |
652 #define AL_EQUALIZER_MIN_LOW_GAIN 0.126f | |
653 #define AL_EQUALIZER_MAX_LOW_GAIN 7.943f | |
654 #define AL_EQUALIZER_DEFAULT_LOW_GAIN 1.0f | |
655 | |
656 #define AL_EQUALIZER_MIN_LOW_CUTOFF 50.0f | |
657 #define AL_EQUALIZER_MAX_LOW_CUTOFF 800.0f | |
658 #define AL_EQUALIZER_DEFAULT_LOW_CUTOFF 200.0f | |
659 | |
660 #define AL_EQUALIZER_MIN_MID1_GAIN 0.126f | |
661 #define AL_EQUALIZER_MAX_MID1_GAIN 7.943f | |
662 #define AL_EQUALIZER_DEFAULT_MID1_GAIN 1.0f | |
663 | |
664 #define AL_EQUALIZER_MIN_MID1_CENTER 200.0f | |
665 #define AL_EQUALIZER_MAX_MID1_CENTER 3000.0f | |
666 #define AL_EQUALIZER_DEFAULT_MID1_CENTER 500.0f | |
667 | |
668 #define AL_EQUALIZER_MIN_MID1_WIDTH 0.01f | |
669 #define AL_EQUALIZER_MAX_MID1_WIDTH 1.0f | |
670 #define AL_EQUALIZER_DEFAULT_MID1_WIDTH 1.0f | |
671 | |
672 #define AL_EQUALIZER_MIN_MID2_GAIN 0.126f | |
673 #define AL_EQUALIZER_MAX_MID2_GAIN 7.943f | |
674 #define AL_EQUALIZER_DEFAULT_MID2_GAIN 1.0f | |
675 | |
676 #define AL_EQUALIZER_MIN_MID2_CENTER 1000.0f | |
677 #define AL_EQUALIZER_MAX_MID2_CENTER 8000.0f | |
678 #define AL_EQUALIZER_DEFAULT_MID2_CENTER 3000.0f | |
679 | |
680 #define AL_EQUALIZER_MIN_MID2_WIDTH 0.01f | |
681 #define AL_EQUALIZER_MAX_MID2_WIDTH 1.0f | |
682 #define AL_EQUALIZER_DEFAULT_MID2_WIDTH 1.0f | |
683 | |
684 #define AL_EQUALIZER_MIN_HIGH_GAIN 0.126f | |
685 #define AL_EQUALIZER_MAX_HIGH_GAIN 7.943f | |
686 #define AL_EQUALIZER_DEFAULT_HIGH_GAIN 1.0f | |
687 | |
688 #define AL_EQUALIZER_MIN_HIGH_CUTOFF 4000.0f | |
689 #define AL_EQUALIZER_MAX_HIGH_CUTOFF 16000.0f | |
690 #define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF 6000.0f | |
691 | |
692 | |
693 | |
694 | |
695 /********************************************************** | |
696 * Source parameter value definitions, ranges and defaults. | |
697 */ | |
698 #define AL_MIN_AIR_ABSORPTION_FACTOR 0.0f | |
699 #define AL_MAX_AIR_ABSORPTION_FACTOR 10.0f | |
700 #define AL_DEFAULT_AIR_ABSORPTION_FACTOR 0.0f | |
701 | |
702 #define AL_MIN_ROOM_ROLLOFF_FACTOR 0.0f | |
703 #define AL_MAX_ROOM_ROLLOFF_FACTOR 10.0f | |
704 #define AL_DEFAULT_ROOM_ROLLOFF_FACTOR 0.0f | |
705 | |
706 #define AL_MIN_CONE_OUTER_GAINHF 0.0f | |
707 #define AL_MAX_CONE_OUTER_GAINHF 1.0f | |
708 #define AL_DEFAULT_CONE_OUTER_GAINHF 1.0f | |
709 | |
710 #define AL_MIN_DIRECT_FILTER_GAINHF_AUTO AL_FALSE | |
711 #define AL_MAX_DIRECT_FILTER_GAINHF_AUTO AL_TRUE | |
712 #define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO AL_TRUE | |
713 | |
714 #define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_FALSE | |
715 #define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE | |
716 #define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE | |
717 | |
718 #define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE | |
719 #define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE | |
720 #define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE | |
721 | |
722 | |
723 | |
724 | |
725 /********************************************************** | |
726 * Listener parameter value definitions, ranges and defaults. | |
727 */ | |
728 #define AL_MIN_METERS_PER_UNIT FLT_MIN | |
729 #define AL_MAX_METERS_PER_UNIT FLT_MAX | |
730 #define AL_DEFAULT_METERS_PER_UNIT 1.0f | |
731 | |
732 | |
733 #ifdef __cplusplus | |
734 } /* extern "C" */ | |
735 #endif | |
736 | |
737 #endif /* __efx_h_ */ |