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_ */