efx-creative.h 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. #ifndef __efxcreative_h_
  2. #define __efxcreative_h_
  3. /**
  4. * efx-creative.h - Environmental Audio Extensions
  5. * for OpenAL Effects Extension.
  6. *
  7. */
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. /**
  12. * Effect object definitions to be used with alEffect functions.
  13. *
  14. * Effect parameter value definitions, ranges, and defaults
  15. * appear farther down in this file.
  16. */
  17. /* AL EAXReverb effect parameters. */
  18. #define AL_EAXREVERB_DENSITY 0x0001
  19. #define AL_EAXREVERB_DIFFUSION 0x0002
  20. #define AL_EAXREVERB_GAIN 0x0003
  21. #define AL_EAXREVERB_GAINHF 0x0004
  22. #define AL_EAXREVERB_GAINLF 0x0005
  23. #define AL_EAXREVERB_DECAY_TIME 0x0006
  24. #define AL_EAXREVERB_DECAY_HFRATIO 0x0007
  25. #define AL_EAXREVERB_DECAY_LFRATIO 0x0008
  26. #define AL_EAXREVERB_REFLECTIONS_GAIN 0x0009
  27. #define AL_EAXREVERB_REFLECTIONS_DELAY 0x000A
  28. #define AL_EAXREVERB_REFLECTIONS_PAN 0x000B
  29. #define AL_EAXREVERB_LATE_REVERB_GAIN 0x000C
  30. #define AL_EAXREVERB_LATE_REVERB_DELAY 0x000D
  31. #define AL_EAXREVERB_LATE_REVERB_PAN 0x000E
  32. #define AL_EAXREVERB_ECHO_TIME 0x000F
  33. #define AL_EAXREVERB_ECHO_DEPTH 0x0010
  34. #define AL_EAXREVERB_MODULATION_TIME 0x0011
  35. #define AL_EAXREVERB_MODULATION_DEPTH 0x0012
  36. #define AL_EAXREVERB_AIR_ABSORPTION_GAINHF 0x0013
  37. #define AL_EAXREVERB_HFREFERENCE 0x0014
  38. #define AL_EAXREVERB_LFREFERENCE 0x0015
  39. #define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR 0x0016
  40. #define AL_EAXREVERB_DECAY_HFLIMIT 0x0017
  41. /* Effect type definitions to be used with AL_EFFECT_TYPE. */
  42. #define AL_EFFECT_EAXREVERB 0x8000
  43. /**********************************************************
  44. * Effect parameter structures, value definitions, ranges and defaults.
  45. */
  46. /**
  47. * AL reverb effect parameter ranges and defaults
  48. */
  49. #define AL_EAXREVERB_MIN_DENSITY 0.0f
  50. #define AL_EAXREVERB_MAX_DENSITY 1.0f
  51. #define AL_EAXREVERB_DEFAULT_DENSITY 1.0f
  52. #define AL_EAXREVERB_MIN_DIFFUSION 0.0f
  53. #define AL_EAXREVERB_MAX_DIFFUSION 1.0f
  54. #define AL_EAXREVERB_DEFAULT_DIFFUSION 1.0f
  55. #define AL_EAXREVERB_MIN_GAIN 0.0f
  56. #define AL_EAXREVERB_MAX_GAIN 1.0f
  57. #define AL_EAXREVERB_DEFAULT_GAIN 0.32f
  58. #define AL_EAXREVERB_MIN_GAINHF 0.0f
  59. #define AL_EAXREVERB_MAX_GAINHF 1.0f
  60. #define AL_EAXREVERB_DEFAULT_GAINHF 0.89f
  61. #define AL_EAXREVERB_MIN_GAINLF 0.0f
  62. #define AL_EAXREVERB_MAX_GAINLF 1.0f
  63. #define AL_EAXREVERB_DEFAULT_GAINLF 1.0f
  64. #define AL_EAXREVERB_MIN_DECAY_TIME 0.1f
  65. #define AL_EAXREVERB_MAX_DECAY_TIME 20.0f
  66. #define AL_EAXREVERB_DEFAULT_DECAY_TIME 1.49f
  67. #define AL_EAXREVERB_MIN_DECAY_HFRATIO 0.1f
  68. #define AL_EAXREVERB_MAX_DECAY_HFRATIO 2.0f
  69. #define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO 0.83f
  70. #define AL_EAXREVERB_MIN_DECAY_LFRATIO 0.1f
  71. #define AL_EAXREVERB_MAX_DECAY_LFRATIO 2.0f
  72. #define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO 1.0f
  73. #define AL_EAXREVERB_MIN_REFLECTIONS_GAIN 0.0f
  74. #define AL_EAXREVERB_MAX_REFLECTIONS_GAIN 3.16f
  75. #define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN 0.05f
  76. #define AL_EAXREVERB_MIN_REFLECTIONS_DELAY 0.0f
  77. #define AL_EAXREVERB_MAX_REFLECTIONS_DELAY 0.3f
  78. #define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY 0.007f
  79. #define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN {0.0f, 0.0f, 0.0f}
  80. #define AL_EAXREVERB_MIN_LATE_REVERB_GAIN 0.0f
  81. #define AL_EAXREVERB_MAX_LATE_REVERB_GAIN 10.0f
  82. #define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN 1.26f
  83. #define AL_EAXREVERB_MIN_LATE_REVERB_DELAY 0.0f
  84. #define AL_EAXREVERB_MAX_LATE_REVERB_DELAY 0.1f
  85. #define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY 0.011f
  86. #define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN {0.0f, 0.0f, 0.0f}
  87. #define AL_EAXREVERB_MIN_ECHO_TIME 0.075f
  88. #define AL_EAXREVERB_MAX_ECHO_TIME 0.25f
  89. #define AL_EAXREVERB_DEFAULT_ECHO_TIME 0.25f
  90. #define AL_EAXREVERB_MIN_ECHO_DEPTH 0.0f
  91. #define AL_EAXREVERB_MAX_ECHO_DEPTH 1.0f
  92. #define AL_EAXREVERB_DEFAULT_ECHO_DEPTH 0.0f
  93. #define AL_EAXREVERB_MIN_MODULATION_TIME 0.04f
  94. #define AL_EAXREVERB_MAX_MODULATION_TIME 4.0f
  95. #define AL_EAXREVERB_DEFAULT_MODULATION_TIME 0.25f
  96. #define AL_EAXREVERB_MIN_MODULATION_DEPTH 0.0f
  97. #define AL_EAXREVERB_MAX_MODULATION_DEPTH 1.0f
  98. #define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH 0.0f
  99. #define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF 0.892f
  100. #define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF 1.0f
  101. #define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF 0.994f
  102. #define AL_EAXREVERB_MIN_HFREFERENCE 1000.0f
  103. #define AL_EAXREVERB_MAX_HFREFERENCE 20000.0f
  104. #define AL_EAXREVERB_DEFAULT_HFREFERENCE 5000.0f
  105. #define AL_EAXREVERB_MIN_LFREFERENCE 20.0f
  106. #define AL_EAXREVERB_MAX_LFREFERENCE 1000.0f
  107. #define AL_EAXREVERB_DEFAULT_LFREFERENCE 250.0f
  108. #define AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR 0.0f
  109. #define AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR 10.0f
  110. #define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR 0.0f
  111. #define AL_EAXREVERB_MIN_DECAY_HFLIMIT AL_FALSE
  112. #define AL_EAXREVERB_MAX_DECAY_HFLIMIT AL_TRUE
  113. #define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE
  114. #ifdef __cplusplus
  115. } /* extern "C" */
  116. #endif
  117. #endif /* __efxcreative_h_ */