Don't handle EFX functions in the router
[openal-soft.git] / al / eax_api.cpp
blob041bd01ae87bd5ed28b86a2f61c00334d0b3ac89
1 //
2 // EAX API.
3 //
4 // Based on headers `eax[2-5].h` included in Doom 3 source code:
5 // https://github.com/id-Software/DOOM-3/tree/master/neo/openal/include
6 //
8 #include "config.h"
10 #include <algorithm>
12 #include "al/eax_api.h"
15 const GUID DSPROPSETID_EAX_ReverbProperties =
17 0x4A4E6FC1,
18 0xC341,
19 0x11D1,
20 {0xB7, 0x3A, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}
23 const GUID DSPROPSETID_EAXBUFFER_ReverbProperties =
25 0x4A4E6FC0,
26 0xC341,
27 0x11D1,
28 {0xB7, 0x3A, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}
31 const GUID DSPROPSETID_EAX20_ListenerProperties =
33 0x306A6A8,
34 0xB224,
35 0x11D2,
36 {0x99, 0xE5, 0x00, 0x00, 0xE8, 0xD8, 0xC7, 0x22}
39 const GUID DSPROPSETID_EAX20_BufferProperties =
41 0x306A6A7,
42 0xB224,
43 0x11D2,
44 {0x99, 0xE5, 0x00, 0x00, 0xE8, 0xD8, 0xC7, 0x22}
47 const GUID DSPROPSETID_EAX30_ListenerProperties =
49 0xA8FA6882,
50 0xB476,
51 0x11D3,
52 {0xBD, 0xB9, 0x00, 0xC0, 0xF0, 0x2D, 0xDF, 0x87}
55 const GUID DSPROPSETID_EAX30_BufferProperties =
57 0xA8FA6881,
58 0xB476,
59 0x11D3,
60 {0xBD, 0xB9, 0x00, 0xC0, 0xF0, 0x2D, 0xDF, 0x87}
63 const GUID EAX_NULL_GUID =
65 0x00000000,
66 0x0000,
67 0x0000,
68 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
71 const GUID EAX_PrimaryFXSlotID =
73 0xF317866D,
74 0x924C,
75 0x450C,
76 {0x86, 0x1B, 0xE6, 0xDA, 0xA2, 0x5E, 0x7C, 0x20}
79 const GUID EAXPROPERTYID_EAX40_Context =
81 0x1D4870AD,
82 0xDEF,
83 0x43C0,
84 {0xA4, 0xC, 0x52, 0x36, 0x32, 0x29, 0x63, 0x42}
87 const GUID EAXPROPERTYID_EAX50_Context =
89 0x57E13437,
90 0xB932,
91 0x4AB2,
92 {0xB8, 0xBD, 0x52, 0x66, 0xC1, 0xA8, 0x87, 0xEE}
95 const GUID EAXPROPERTYID_EAX40_FXSlot0 =
97 0xC4D79F1E,
98 0xF1AC,
99 0x436B,
100 {0xA8, 0x1D, 0xA7, 0x38, 0xE7, 0x04, 0x54, 0x69}
103 const GUID EAXPROPERTYID_EAX50_FXSlot0 =
105 0x91F9590F,
106 0xC388,
107 0x407A,
108 {0x84, 0xB0, 0x1B, 0xAE, 0xE, 0xF7, 0x1A, 0xBC}
111 const GUID EAXPROPERTYID_EAX40_FXSlot1 =
113 0x8C00E96,
114 0x74BE,
115 0x4491,
116 {0x93, 0xAA, 0xE8, 0xAD, 0x35, 0xA4, 0x91, 0x17}
119 const GUID EAXPROPERTYID_EAX50_FXSlot1 =
121 0x8F5F7ACA,
122 0x9608,
123 0x4965,
124 {0x81, 0x37, 0x82, 0x13, 0xC7, 0xB9, 0xD9, 0xDE}
127 const GUID EAXPROPERTYID_EAX40_FXSlot2 =
129 0x1D433B88,
130 0xF0F6,
131 0x4637,
132 {0x91, 0x9F, 0x60, 0xE7, 0xE0, 0x6B, 0x5E, 0xDD}
135 const GUID EAXPROPERTYID_EAX50_FXSlot2 =
137 0x3C0F5252,
138 0x9834,
139 0x46F0,
140 {0xA1, 0xD8, 0x5B, 0x95, 0xC4, 0xA0, 0xA, 0x30}
143 const GUID EAXPROPERTYID_EAX40_FXSlot3 =
145 0xEFFF08EA,
146 0xC7D8,
147 0x44AB,
148 {0x93, 0xAD, 0x6D, 0xBD, 0x5F, 0x91, 0x00, 0x64}
151 const GUID EAXPROPERTYID_EAX50_FXSlot3 =
153 0xE2EB0EAA,
154 0xE806,
155 0x45E7,
156 {0x9F, 0x86, 0x06, 0xC1, 0x57, 0x1A, 0x6F, 0xA3}
159 const GUID EAXPROPERTYID_EAX40_Source =
161 0x1B86B823,
162 0x22DF,
163 0x4EAE,
164 {0x8B, 0x3C, 0x12, 0x78, 0xCE, 0x54, 0x42, 0x27}
167 const GUID EAXPROPERTYID_EAX50_Source =
169 0x5EDF82F0,
170 0x24A7,
171 0x4F38,
172 {0x8E, 0x64, 0x2F, 0x09, 0xCA, 0x05, 0xDE, 0xE1}
175 const GUID EAX_REVERB_EFFECT =
177 0xCF95C8F,
178 0xA3CC,
179 0x4849,
180 {0xB0, 0xB6, 0x83, 0x2E, 0xCC, 0x18, 0x22, 0xDF}
183 const GUID EAX_AGCCOMPRESSOR_EFFECT =
185 0xBFB7A01E,
186 0x7825,
187 0x4039,
188 {0x92, 0x7F, 0x03, 0xAA, 0xBD, 0xA0, 0xC5, 0x60}
191 const GUID EAX_AUTOWAH_EFFECT =
193 0xEC3130C0,
194 0xAC7A,
195 0x11D2,
196 {0x88, 0xDD, 0x00, 0xA0, 0x24, 0xD1, 0x3C, 0xE1}
199 const GUID EAX_CHORUS_EFFECT =
201 0xDE6D6FE0,
202 0xAC79,
203 0x11D2,
204 {0x88, 0xDD, 0x00, 0xA0, 0x24, 0xD1, 0x3C, 0xE1}
207 const GUID EAX_DISTORTION_EFFECT =
209 0x975A4CE0,
210 0xAC7E,
211 0x11D2,
212 {0x88, 0xDD, 0x00, 0xA0, 0x24, 0xD1, 0x3C, 0xE1}
215 const GUID EAX_ECHO_EFFECT =
217 0xE9F1BC0,
218 0xAC82,
219 0x11D2,
220 {0x88, 0xDD, 0x00, 0xA0, 0x24, 0xD1, 0x3C, 0xE1}
223 const GUID EAX_EQUALIZER_EFFECT =
225 0x65F94CE0,
226 0x9793,
227 0x11D3,
228 {0x93, 0x9D, 0x00, 0xC0, 0xF0, 0x2D, 0xD6, 0xF0}
231 const GUID EAX_FLANGER_EFFECT =
233 0xA70007C0,
234 0x7D2,
235 0x11D3,
236 {0x9B, 0x1E, 0x00, 0xA0, 0x24, 0xD1, 0x3C, 0xE1}
239 const GUID EAX_FREQUENCYSHIFTER_EFFECT =
241 0xDC3E1880,
242 0x9212,
243 0x11D3,
244 {0x93, 0x9D, 0x00, 0xC0, 0xF0, 0x2D, 0xD6, 0xF0}
247 const GUID EAX_VOCALMORPHER_EFFECT =
249 0xE41CF10C,
250 0x3383,
251 0x11D2,
252 {0x88, 0xDD, 0x00, 0xA0, 0x24, 0xD1, 0x3C, 0xE1}
255 const GUID EAX_PITCHSHIFTER_EFFECT =
257 0xE7905100,
258 0xAFB2,
259 0x11D2,
260 {0x88, 0xDD, 0x00, 0xA0, 0x24, 0xD1, 0x3C, 0xE1}
263 const GUID EAX_RINGMODULATOR_EFFECT =
265 0xB89FE60,
266 0xAFB5,
267 0x11D2,
268 {0x88, 0xDD, 0x00, 0xA0, 0x24, 0xD1, 0x3C, 0xE1}
272 bool operator==(
273 const EAX40CONTEXTPROPERTIES& lhs,
274 const EAX40CONTEXTPROPERTIES& rhs) noexcept
276 return
277 lhs.guidPrimaryFXSlotID == rhs.guidPrimaryFXSlotID &&
278 lhs.flDistanceFactor == rhs.flDistanceFactor &&
279 lhs.flAirAbsorptionHF == rhs.flAirAbsorptionHF &&
280 lhs.flHFReference == rhs.flHFReference;
283 bool operator==(
284 const EAX50CONTEXTPROPERTIES& lhs,
285 const EAX50CONTEXTPROPERTIES& rhs) noexcept
287 return
288 static_cast<const EAX40CONTEXTPROPERTIES&>(lhs) == static_cast<const EAX40CONTEXTPROPERTIES&>(rhs) &&
289 lhs.flMacroFXFactor == rhs.flMacroFXFactor;
293 const GUID EAXCONTEXT_DEFAULTPRIMARYFXSLOTID = EAXPROPERTYID_EAX40_FXSlot0;
295 bool operator==(
296 const EAX40FXSLOTPROPERTIES& lhs,
297 const EAX40FXSLOTPROPERTIES& rhs) noexcept
299 return
300 lhs.guidLoadEffect == rhs.guidLoadEffect &&
301 lhs.lVolume == rhs.lVolume &&
302 lhs.lLock == rhs.lLock &&
303 lhs.ulFlags == rhs.ulFlags;
306 bool operator==(
307 const EAX50FXSLOTPROPERTIES& lhs,
308 const EAX50FXSLOTPROPERTIES& rhs) noexcept
310 return
311 static_cast<const EAX40FXSLOTPROPERTIES&>(lhs) == static_cast<const EAX40FXSLOTPROPERTIES&>(rhs) &&
312 lhs.lOcclusion == rhs.lOcclusion &&
313 lhs.flOcclusionLFRatio == rhs.flOcclusionLFRatio;
316 const EAX50ACTIVEFXSLOTS EAX40SOURCE_DEFAULTACTIVEFXSLOTID = EAX50ACTIVEFXSLOTS
318 EAX_NULL_GUID,
319 EAXPROPERTYID_EAX40_FXSlot0,
322 bool operator==(
323 const EAX50ACTIVEFXSLOTS& lhs,
324 const EAX50ACTIVEFXSLOTS& rhs) noexcept
326 return std::equal(
327 std::cbegin(lhs.guidActiveFXSlots),
328 std::cend(lhs.guidActiveFXSlots),
329 std::begin(rhs.guidActiveFXSlots));
332 bool operator!=(
333 const EAX50ACTIVEFXSLOTS& lhs,
334 const EAX50ACTIVEFXSLOTS& rhs) noexcept
336 return !(lhs == rhs);
340 const EAX50ACTIVEFXSLOTS EAX50SOURCE_3DDEFAULTACTIVEFXSLOTID = EAX50ACTIVEFXSLOTS
342 EAX_NULL_GUID,
343 EAX_PrimaryFXSlotID,
344 EAX_NULL_GUID,
345 EAX_NULL_GUID,
349 const EAX50ACTIVEFXSLOTS EAX50SOURCE_2DDEFAULTACTIVEFXSLOTID = EAX50ACTIVEFXSLOTS
351 EAX_NULL_GUID,
352 EAX_NULL_GUID,
353 EAX_NULL_GUID,
354 EAX_NULL_GUID,
357 bool operator==(
358 const EAXREVERBPROPERTIES& lhs,
359 const EAXREVERBPROPERTIES& rhs) noexcept
361 return
362 lhs.ulEnvironment == rhs.ulEnvironment &&
363 lhs.flEnvironmentSize == rhs.flEnvironmentSize &&
364 lhs.flEnvironmentDiffusion == rhs.flEnvironmentDiffusion &&
365 lhs.lRoom == rhs.lRoom &&
366 lhs.lRoomHF == rhs.lRoomHF &&
367 lhs.lRoomLF == rhs.lRoomLF &&
368 lhs.flDecayTime == rhs.flDecayTime &&
369 lhs.flDecayHFRatio == rhs.flDecayHFRatio &&
370 lhs.flDecayLFRatio == rhs.flDecayLFRatio &&
371 lhs.lReflections == rhs.lReflections &&
372 lhs.flReflectionsDelay == rhs.flReflectionsDelay &&
373 lhs.vReflectionsPan == rhs.vReflectionsPan &&
374 lhs.lReverb == rhs.lReverb &&
375 lhs.flReverbDelay == rhs.flReverbDelay &&
376 lhs.vReverbPan == rhs.vReverbPan &&
377 lhs.flEchoTime == rhs.flEchoTime &&
378 lhs.flEchoDepth == rhs.flEchoDepth &&
379 lhs.flModulationTime == rhs.flModulationTime &&
380 lhs.flModulationDepth == rhs.flModulationDepth &&
381 lhs.flAirAbsorptionHF == rhs.flAirAbsorptionHF &&
382 lhs.flHFReference == rhs.flHFReference &&
383 lhs.flLFReference == rhs.flLFReference &&
384 lhs.flRoomRolloffFactor == rhs.flRoomRolloffFactor &&
385 lhs.ulFlags == rhs.ulFlags;
388 bool operator!=(
389 const EAXREVERBPROPERTIES& lhs,
390 const EAXREVERBPROPERTIES& rhs) noexcept
392 return !(lhs == rhs);
396 const EAXREVERBPROPERTIES EAXREVERB_PRESET_GENERIC =
398 EAXREVERB_DEFAULTENVIRONMENT,
399 EAXREVERB_DEFAULTENVIRONMENTSIZE,
400 EAXREVERB_DEFAULTENVIRONMENTDIFFUSION,
401 EAXREVERB_DEFAULTROOM,
402 EAXREVERB_DEFAULTROOMHF,
403 EAXREVERB_DEFAULTROOMLF,
404 EAXREVERB_DEFAULTDECAYTIME,
405 EAXREVERB_DEFAULTDECAYHFRATIO,
406 EAXREVERB_DEFAULTDECAYLFRATIO,
407 EAXREVERB_DEFAULTREFLECTIONS,
408 EAXREVERB_DEFAULTREFLECTIONSDELAY,
409 EAXREVERB_DEFAULTREFLECTIONSPAN,
410 EAXREVERB_DEFAULTREVERB,
411 EAXREVERB_DEFAULTREVERBDELAY,
412 EAXREVERB_DEFAULTREVERBPAN,
413 EAXREVERB_DEFAULTECHOTIME,
414 EAXREVERB_DEFAULTECHODEPTH,
415 EAXREVERB_DEFAULTMODULATIONTIME,
416 EAXREVERB_DEFAULTMODULATIONDEPTH,
417 EAXREVERB_DEFAULTAIRABSORPTIONHF,
418 EAXREVERB_DEFAULTHFREFERENCE,
419 EAXREVERB_DEFAULTLFREFERENCE,
420 EAXREVERB_DEFAULTROOMROLLOFFFACTOR,
421 EAXREVERB_DEFAULTFLAGS,
424 const EAXREVERBPROPERTIES EAXREVERB_PRESET_PADDEDCELL =
426 EAX_ENVIRONMENT_PADDEDCELL,
427 1.4F,
428 1.0F,
429 -1'000L,
430 -6'000L,
432 0.17F,
433 0.10F,
434 1.0F,
435 -1'204L,
436 0.001F,
437 EAXVECTOR{},
438 207L,
439 0.002F,
440 EAXVECTOR{},
441 0.250F,
442 0.0F,
443 0.250F,
444 0.0F,
445 -5.0F,
446 5'000.0F,
447 250.0F,
448 0.0F,
449 0x3FUL,
452 const EAXREVERBPROPERTIES EAXREVERB_PRESET_ROOM =
454 EAX_ENVIRONMENT_ROOM,
455 1.9F,
456 1.0F,
457 -1'000L,
458 -454L,
460 0.40F,
461 0.83F,
462 1.0F,
463 -1'646L,
464 0.002F,
465 EAXVECTOR{},
466 53L,
467 0.003F,
468 EAXVECTOR{},
469 0.250F,
470 0.0F,
471 0.250F,
472 0.0F,
473 -5.0F,
474 5'000.0F,
475 250.0F,
476 0.0F,
477 0x3FUL,
480 const EAXREVERBPROPERTIES EAXREVERB_PRESET_BATHROOM =
482 EAX_ENVIRONMENT_BATHROOM,
483 1.4F,
484 1.0F,
485 -1'000L,
486 -1'200L,
488 1.49F,
489 0.54F,
490 1.0F,
491 -370L,
492 0.007F,
493 EAXVECTOR{},
494 1'030L,
495 0.011F,
496 EAXVECTOR{},
497 0.250F,
498 0.0F,
499 0.250F,
500 0.0F,
501 -5.0F,
502 5'000.0F,
503 250.0F,
504 0.0F,
505 0x3FUL,
508 const EAXREVERBPROPERTIES EAXREVERB_PRESET_LIVINGROOM =
510 EAX_ENVIRONMENT_LIVINGROOM,
511 2.5F,
512 1.0F,
513 -1'000L,
514 -6'000L,
516 0.50F,
517 0.10F,
518 1.0F,
519 -1'376,
520 0.003F,
521 EAXVECTOR{},
522 -1'104L,
523 0.004F,
524 EAXVECTOR{},
525 0.250F,
526 0.0F,
527 0.250F,
528 0.0F,
529 -5.0F,
530 5'000.0F,
531 250.0F,
532 0.0F,
533 0x3FUL,
536 const EAXREVERBPROPERTIES EAXREVERB_PRESET_STONEROOM =
538 EAX_ENVIRONMENT_STONEROOM,
539 11.6F,
540 1.0F,
541 -1'000L,
542 -300L,
544 2.31F,
545 0.64F,
546 1.0F,
547 -711L,
548 0.012F,
549 EAXVECTOR{},
550 83L,
551 0.017F,
552 EAXVECTOR{},
553 0.250F,
554 0.0F,
555 0.250F,
556 0.0F,
557 -5.0F,
558 5'000.0F,
559 250.0F,
560 0.0F,
561 0x3FUL,
564 const EAXREVERBPROPERTIES EAXREVERB_PRESET_AUDITORIUM =
566 EAX_ENVIRONMENT_AUDITORIUM,
567 21.6F,
568 1.0F,
569 -1'000L,
570 -476L,
572 4.32F,
573 0.59F,
574 1.0F,
575 -789L,
576 0.020F,
577 EAXVECTOR{},
578 -289L,
579 0.030F,
580 EAXVECTOR{},
581 0.250F,
582 0.0F,
583 0.250F,
584 0.0F,
585 -5.0F,
586 5'000.0F,
587 250.0F,
588 0.0F,
589 0x3FUL,
592 const EAXREVERBPROPERTIES EAXREVERB_PRESET_CONCERTHALL =
594 EAX_ENVIRONMENT_CONCERTHALL,
595 19.6F,
596 1.0F,
597 -1'000L,
598 -500L,
600 3.92F,
601 0.70F,
602 1.0F,
603 -1'230L,
604 0.020F,
605 EAXVECTOR{},
606 -2L,
607 0.029F,
608 EAXVECTOR{},
609 0.250F,
610 0.0F,
611 0.250F,
612 0.0F,
613 -5.0F,
614 5'000.0F,
615 250.0F,
616 0.0F,
617 0x3FUL,
620 const EAXREVERBPROPERTIES EAXREVERB_PRESET_CAVE =
622 EAX_ENVIRONMENT_CAVE,
623 14.6F,
624 1.0F,
625 -1'000L,
628 2.91F,
629 1.30F,
630 1.0F,
631 -602L,
632 0.015F,
633 EAXVECTOR{},
634 -302L,
635 0.022F,
636 EAXVECTOR{},
637 0.250F,
638 0.0F,
639 0.250F,
640 0.0F,
641 -5.0F,
642 5'000.0F,
643 250.0F,
644 0.0F,
645 0x1FUL,
648 const EAXREVERBPROPERTIES EAXREVERB_PRESET_ARENA =
650 EAX_ENVIRONMENT_ARENA,
651 36.2F,
652 1.0F,
653 -1'000L,
654 -698L,
656 7.24F,
657 0.33F,
658 1.0F,
659 -1'166L,
660 0.020F,
661 EAXVECTOR{},
662 16L,
663 0.030F,
664 EAXVECTOR{},
665 0.250F,
666 0.0F,
667 0.250F,
668 0.0F,
669 -5.0F,
670 5'000.0F,
671 250.0F,
672 0.0F,
673 0x3FUL,
676 const EAXREVERBPROPERTIES EAXREVERB_PRESET_HANGAR =
678 EAX_ENVIRONMENT_HANGAR,
679 50.3F,
680 1.0F,
681 -1'000L,
682 -1'000L,
684 10.05F,
685 0.23F,
686 1.0F,
687 -602L,
688 0.020F,
689 EAXVECTOR{},
690 198L,
691 0.030F,
692 EAXVECTOR{},
693 0.250F,
694 0.0F,
695 0.250F,
696 0.0F,
697 -5.0F,
698 5'000.0F,
699 250.0F,
700 0.0F,
701 0x3FUL,
704 const EAXREVERBPROPERTIES EAXREVERB_PRESET_CARPETTEDHALLWAY =
706 EAX_ENVIRONMENT_CARPETEDHALLWAY,
707 1.9F,
708 1.0F,
709 -1'000L,
710 -4'000L,
712 0.30F,
713 0.10F,
714 1.0F,
715 -1'831L,
716 0.002F,
717 EAXVECTOR{},
718 -1'630L,
719 0.030F,
720 EAXVECTOR{},
721 0.250F,
722 0.0F,
723 0.250F,
724 0.0F,
725 -5.0F,
726 5'000.0F,
727 250.0F,
728 0.0F,
729 0x3FUL,
732 const EAXREVERBPROPERTIES EAXREVERB_PRESET_HALLWAY =
734 EAX_ENVIRONMENT_HALLWAY,
735 1.8F,
736 1.0F,
737 -1'000L,
738 -300L,
740 1.49F,
741 0.59F,
742 1.0F,
743 -1'219L,
744 0.007F,
745 EAXVECTOR{},
746 441L,
747 0.011F,
748 EAXVECTOR{},
749 0.250F,
750 0.0F,
751 0.250F,
752 0.0F,
753 -5.0F,
754 5'000.0F,
755 250.0F,
756 0.0F,
757 0x3FUL,
760 const EAXREVERBPROPERTIES EAXREVERB_PRESET_STONECORRIDOR =
762 EAX_ENVIRONMENT_STONECORRIDOR,
763 13.5F,
764 1.0F,
765 -1'000L,
766 -237L,
768 2.70F,
769 0.79F,
770 1.0F,
771 -1'214L,
772 0.013F,
773 EAXVECTOR{},
774 395L,
775 0.020F,
776 EAXVECTOR{},
777 0.250F,
778 0.0F,
779 0.250F,
780 0.0F,
781 -5.0F,
782 5'000.0F,
783 250.0F,
784 0.0F,
785 0x3FUL,
788 const EAXREVERBPROPERTIES EAXREVERB_PRESET_ALLEY =
790 EAX_ENVIRONMENT_ALLEY,
791 7.5F,
792 0.300F,
793 -1'000L,
794 -270L,
796 1.49F,
797 0.86F,
798 1.0F,
799 -1'204L,
800 0.007F,
801 EAXVECTOR{},
802 -4L,
803 0.011F,
804 EAXVECTOR{},
805 0.125F,
806 0.950F,
807 0.250F,
808 0.0F,
809 -5.0F,
810 5'000.0F,
811 250.0F,
812 0.0F,
813 0x3FUL,
816 const EAXREVERBPROPERTIES EAXREVERB_PRESET_FOREST =
818 EAX_ENVIRONMENT_FOREST,
819 38.0F,
820 0.300F,
821 -1'000L,
822 -3'300L,
824 1.49F,
825 0.54F,
826 1.0F,
827 -2'560L,
828 0.162F,
829 EAXVECTOR{},
830 -229L,
831 0.088F,
832 EAXVECTOR{},
833 0.125F,
834 1.0F,
835 0.250F,
836 0.0F,
837 -5.0F,
838 5'000.0F,
839 250.0F,
840 0.0F,
841 0x3FUL,
844 const EAXREVERBPROPERTIES EAXREVERB_PRESET_CITY =
846 EAX_ENVIRONMENT_CITY,
847 7.5F,
848 0.500F,
849 -1'000L,
850 -800L,
852 1.49F,
853 0.67F,
854 1.0F,
855 -2'273L,
856 0.007F,
857 EAXVECTOR{},
858 -1'691L,
859 0.011F,
860 EAXVECTOR{},
861 0.250F,
862 0.0F,
863 0.250F,
864 0.0F,
865 -5.0F,
866 5'000.0F,
867 250.0F,
868 0.0F,
869 0x3FUL,
872 const EAXREVERBPROPERTIES EAXREVERB_PRESET_MOUNTAINS =
874 EAX_ENVIRONMENT_MOUNTAINS,
875 100.0F,
876 0.270F,
877 -1'000L,
878 -2'500L,
880 1.49F,
881 0.21F,
882 1.0F,
883 -2'780L,
884 0.300F,
885 EAXVECTOR{},
886 -1'434L,
887 0.100F,
888 EAXVECTOR{},
889 0.250F,
890 1.0F,
891 0.250F,
892 0.0F,
893 -5.0F,
894 5'000.0F,
895 250.0F,
896 0.0F,
897 0x1FUL,
900 const EAXREVERBPROPERTIES EAXREVERB_PRESET_QUARRY =
902 EAX_ENVIRONMENT_QUARRY,
903 17.5F,
904 1.0F,
905 -1'000L,
906 -1'000L,
908 1.49F,
909 0.83F,
910 1.0F,
911 -10'000L,
912 0.061F,
913 EAXVECTOR{},
914 500L,
915 0.025F,
916 EAXVECTOR{},
917 0.125F,
918 0.700F,
919 0.250F,
920 0.0F,
921 -5.0F,
922 5'000.0F,
923 250.0F,
924 0.0F,
925 0x3FUL,
928 const EAXREVERBPROPERTIES EAXREVERB_PRESET_PLAIN =
930 EAX_ENVIRONMENT_PLAIN,
931 42.5F,
932 0.210F,
933 -1'000L,
934 -2'000L,
936 1.49F,
937 0.50F,
938 1.0F,
939 -2'466L,
940 0.179F,
941 EAXVECTOR{},
942 -1'926L,
943 0.100F,
944 EAXVECTOR{},
945 0.250F,
946 1.0F,
947 0.250F,
948 0.0F,
949 -5.0F,
950 5'000.0F,
951 250.0F,
952 0.0F,
953 0x3FUL,
956 const EAXREVERBPROPERTIES EAXREVERB_PRESET_PARKINGLOT =
958 EAX_ENVIRONMENT_PARKINGLOT,
959 8.3F,
960 1.0F,
961 -1'000L,
964 1.65F,
965 1.50F,
966 1.0F,
967 -1'363L,
968 0.008F,
969 EAXVECTOR{},
970 -1'153L,
971 0.012F,
972 EAXVECTOR{},
973 0.250F,
974 0.0F,
975 0.250F,
976 0.0F,
977 -5.0F,
978 5'000.0F,
979 250.0F,
980 0.0F,
981 0x1FUL,
984 const EAXREVERBPROPERTIES EAXREVERB_PRESET_SEWERPIPE =
986 EAX_ENVIRONMENT_SEWERPIPE,
987 1.7F,
988 0.800F,
989 -1'000L,
990 -1'000L,
992 2.81F,
993 0.14F,
994 1.0F,
995 429L,
996 0.014F,
997 EAXVECTOR{},
998 1'023L,
999 0.021F,
1000 EAXVECTOR{},
1001 0.250F,
1002 0.0F,
1003 0.250F,
1004 0.0F,
1005 -5.0F,
1006 5'000.0F,
1007 250.0F,
1008 0.0F,
1009 0x3FUL,
1012 const EAXREVERBPROPERTIES EAXREVERB_PRESET_UNDERWATER =
1014 EAX_ENVIRONMENT_UNDERWATER,
1015 1.8F,
1016 1.0F,
1017 -1'000L,
1018 -4'000L,
1020 1.49F,
1021 0.10F,
1022 1.0F,
1023 -449L,
1024 0.007F,
1025 EAXVECTOR{},
1026 1'700L,
1027 0.011F,
1028 EAXVECTOR{},
1029 0.250F,
1030 0.0F,
1031 1.180F,
1032 0.348F,
1033 -5.0F,
1034 5'000.0F,
1035 250.0F,
1036 0.0F,
1037 0x3FUL,
1040 const EAXREVERBPROPERTIES EAXREVERB_PRESET_DRUGGED =
1042 EAX_ENVIRONMENT_DRUGGED,
1043 1.9F,
1044 0.500F,
1045 -1'000L,
1048 8.39F,
1049 1.39F,
1050 1.0F,
1051 -115L,
1052 0.002F,
1053 EAXVECTOR{},
1054 985L,
1055 0.030F,
1056 EAXVECTOR{},
1057 0.250F,
1058 0.0F,
1059 0.250F,
1060 1.0F,
1061 -5.0F,
1062 5'000.0F,
1063 250.0F,
1064 0.0F,
1065 0x1FUL,
1068 const EAXREVERBPROPERTIES EAXREVERB_PRESET_DIZZY =
1070 EAX_ENVIRONMENT_DIZZY,
1071 1.8F,
1072 0.600F,
1073 -1'000L,
1074 -400L,
1076 17.23F,
1077 0.56F,
1078 1.0F,
1079 -1'713L,
1080 0.020F,
1081 EAXVECTOR{},
1082 -613L,
1083 0.030F,
1084 EAXVECTOR{},
1085 0.250F,
1086 1.0F,
1087 0.810F,
1088 0.310F,
1089 -5.0F,
1090 5'000.0F,
1091 250.0F,
1092 0.0F,
1093 0x1FUL,
1096 const EAXREVERBPROPERTIES EAXREVERB_PRESET_PSYCHOTIC =
1098 EAX_ENVIRONMENT_PSYCHOTIC,
1099 1.0F,
1100 0.500F,
1101 -1'000L,
1102 -151L,
1104 7.56F,
1105 0.91F,
1106 1.0F,
1107 -626L,
1108 0.020F,
1109 EAXVECTOR{},
1110 774L,
1111 0.030F,
1112 EAXVECTOR{},
1113 0.250F,
1114 0.0F,
1115 4.0F,
1116 1.0F,
1117 -5.0F,
1118 5'000.0F,
1119 250.0F,
1120 0.0F,
1121 0x1FUL,
1125 const EaxReverbPresets EAXREVERB_PRESETS =
1127 EAXREVERB_PRESET_GENERIC,
1128 EAXREVERB_PRESET_PADDEDCELL,
1129 EAXREVERB_PRESET_ROOM,
1130 EAXREVERB_PRESET_BATHROOM,
1131 EAXREVERB_PRESET_LIVINGROOM,
1132 EAXREVERB_PRESET_STONEROOM,
1133 EAXREVERB_PRESET_AUDITORIUM,
1134 EAXREVERB_PRESET_CONCERTHALL,
1135 EAXREVERB_PRESET_CAVE,
1136 EAXREVERB_PRESET_ARENA,
1137 EAXREVERB_PRESET_HANGAR,
1138 EAXREVERB_PRESET_CARPETTEDHALLWAY,
1139 EAXREVERB_PRESET_HALLWAY,
1140 EAXREVERB_PRESET_STONECORRIDOR,
1141 EAXREVERB_PRESET_ALLEY,
1142 EAXREVERB_PRESET_FOREST,
1143 EAXREVERB_PRESET_CITY,
1144 EAXREVERB_PRESET_MOUNTAINS,
1145 EAXREVERB_PRESET_QUARRY,
1146 EAXREVERB_PRESET_PLAIN,
1147 EAXREVERB_PRESET_PARKINGLOT,
1148 EAXREVERB_PRESET_SEWERPIPE,
1149 EAXREVERB_PRESET_UNDERWATER,
1150 EAXREVERB_PRESET_DRUGGED,
1151 EAXREVERB_PRESET_DIZZY,
1152 EAXREVERB_PRESET_PSYCHOTIC,
1155 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_GENERIC = {EAX_ENVIRONMENT_GENERIC, 0.5F, 1.493F, 0.5F};
1156 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_PADDEDCELL = {EAX_ENVIRONMENT_PADDEDCELL, 0.25F, 0.1F, 0.0F};
1157 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_ROOM = {EAX_ENVIRONMENT_ROOM, 0.417F, 0.4F, 0.666F};
1158 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_BATHROOM = {EAX_ENVIRONMENT_BATHROOM, 0.653F, 1.499F, 0.166F};
1159 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_LIVINGROOM = {EAX_ENVIRONMENT_LIVINGROOM, 0.208F, 0.478F, 0.0F};
1160 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_STONEROOM = {EAX_ENVIRONMENT_STONEROOM, 0.5F, 2.309F, 0.888F};
1161 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_AUDITORIUM = {EAX_ENVIRONMENT_AUDITORIUM, 0.403F, 4.279F, 0.5F};
1162 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_CONCERTHALL = {EAX_ENVIRONMENT_CONCERTHALL, 0.5F, 3.961F, 0.5F};
1163 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_CAVE = {EAX_ENVIRONMENT_CAVE, 0.5F, 2.886F, 1.304F};
1164 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_ARENA = {EAX_ENVIRONMENT_ARENA, 0.361F, 7.284F, 0.332F};
1165 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_HANGAR = {EAX_ENVIRONMENT_HANGAR, 0.5F, 10.0F, 0.3F};
1166 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_CARPETTEDHALLWAY = {EAX_ENVIRONMENT_CARPETEDHALLWAY, 0.153F, 0.259F, 2.0F};
1167 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_HALLWAY = {EAX_ENVIRONMENT_HALLWAY, 0.361F, 1.493F, 0.0F};
1168 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_STONECORRIDOR = {EAX_ENVIRONMENT_STONECORRIDOR, 0.444F, 2.697F, 0.638F};
1169 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_ALLEY = {EAX_ENVIRONMENT_ALLEY, 0.25F, 1.752F, 0.776F};
1170 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_FOREST = {EAX_ENVIRONMENT_FOREST, 0.111F, 3.145F, 0.472F};
1171 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_CITY = {EAX_ENVIRONMENT_CITY, 0.111F, 2.767F, 0.224F};
1172 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_MOUNTAINS = {EAX_ENVIRONMENT_MOUNTAINS, 0.194F, 7.841F, 0.472F};
1173 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_QUARRY = {EAX_ENVIRONMENT_QUARRY, 1.0F, 1.499F, 0.5F};
1174 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_PLAIN = {EAX_ENVIRONMENT_PLAIN, 0.097F, 2.767F, 0.224F};
1175 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_PARKINGLOT = {EAX_ENVIRONMENT_PARKINGLOT, 0.208F, 1.652F, 1.5F};
1176 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_SEWERPIPE = {EAX_ENVIRONMENT_SEWERPIPE, 0.652F, 2.886F, 0.25F};
1177 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_UNDERWATER = {EAX_ENVIRONMENT_UNDERWATER, 1.0F, 1.499F, 0.0F};
1178 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_DRUGGED = {EAX_ENVIRONMENT_DRUGGED, 0.875F, 8.392F, 1.388F};
1179 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_DIZZY = {EAX_ENVIRONMENT_DIZZY, 0.139F, 17.234F, 0.666F};
1180 const EAX_REVERBPROPERTIES EAX1REVERB_PRESET_PSYCHOTIC = {EAX_ENVIRONMENT_PSYCHOTIC, 0.486F, 7.563F, 0.806F};
1182 const Eax1ReverbPresets EAX1REVERB_PRESETS =
1184 EAX1REVERB_PRESET_GENERIC,
1185 EAX1REVERB_PRESET_PADDEDCELL,
1186 EAX1REVERB_PRESET_ROOM,
1187 EAX1REVERB_PRESET_BATHROOM,
1188 EAX1REVERB_PRESET_LIVINGROOM,
1189 EAX1REVERB_PRESET_STONEROOM,
1190 EAX1REVERB_PRESET_AUDITORIUM,
1191 EAX1REVERB_PRESET_CONCERTHALL,
1192 EAX1REVERB_PRESET_CAVE,
1193 EAX1REVERB_PRESET_ARENA,
1194 EAX1REVERB_PRESET_HANGAR,
1195 EAX1REVERB_PRESET_CARPETTEDHALLWAY,
1196 EAX1REVERB_PRESET_HALLWAY,
1197 EAX1REVERB_PRESET_STONECORRIDOR,
1198 EAX1REVERB_PRESET_ALLEY,
1199 EAX1REVERB_PRESET_FOREST,
1200 EAX1REVERB_PRESET_CITY,
1201 EAX1REVERB_PRESET_MOUNTAINS,
1202 EAX1REVERB_PRESET_QUARRY,
1203 EAX1REVERB_PRESET_PLAIN,
1204 EAX1REVERB_PRESET_PARKINGLOT,
1205 EAX1REVERB_PRESET_SEWERPIPE,
1206 EAX1REVERB_PRESET_UNDERWATER,
1207 EAX1REVERB_PRESET_DRUGGED,
1208 EAX1REVERB_PRESET_DIZZY,
1209 EAX1REVERB_PRESET_PSYCHOTIC,