ray 0.1.0.pre1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (370) hide show
  1. data/README.md +235 -32
  2. data/Rakefile +20 -49
  3. data/ext/audio.c +68 -0
  4. data/ext/audio_source.c +197 -0
  5. data/ext/buffer_renderer.c +130 -0
  6. data/ext/color.c +179 -0
  7. data/ext/drawable.c +446 -0
  8. data/ext/event.c +337 -0
  9. data/ext/extconf.rb +80 -6
  10. data/ext/font.c +97 -0
  11. data/ext/gl.c +114 -0
  12. data/ext/gl_buffer.c +224 -0
  13. data/ext/gl_index_buffer.c +202 -0
  14. data/ext/gl_int_array.c +139 -0
  15. data/ext/gl_vertex.c +157 -0
  16. data/ext/image.c +263 -0
  17. data/ext/image_target.c +84 -0
  18. data/ext/input.c +53 -0
  19. data/ext/matrix.c +374 -0
  20. data/ext/music.c +113 -0
  21. data/ext/polygon.c +426 -0
  22. data/ext/ray.c +59 -0
  23. data/ext/ray.h +168 -0
  24. data/ext/rect.c +255 -0
  25. data/ext/say.h +31 -0
  26. data/ext/say_all.h +77 -0
  27. data/ext/say_arial.h +14689 -0
  28. data/ext/say_array.c +124 -0
  29. data/ext/say_array.h +34 -0
  30. data/ext/say_audio.c +64 -0
  31. data/ext/say_audio.h +170 -0
  32. data/ext/say_audio_context.c +40 -0
  33. data/ext/say_audio_source.c +96 -0
  34. data/ext/say_basic_type.c +17 -0
  35. data/ext/say_basic_type.h +47 -0
  36. data/ext/say_buffer.c +277 -0
  37. data/ext/say_buffer.h +37 -0
  38. data/ext/say_buffer_renderer.c +121 -0
  39. data/ext/say_buffer_renderer.h +33 -0
  40. data/ext/say_buffer_slice.c +247 -0
  41. data/ext/say_buffer_slice.h +29 -0
  42. data/ext/say_clean_up.c +14 -0
  43. data/ext/say_context.c +163 -0
  44. data/ext/say_context.h +26 -0
  45. data/ext/say_drawable.c +350 -0
  46. data/ext/say_drawable.h +100 -0
  47. data/ext/say_error.c +27 -0
  48. data/ext/say_event.h +213 -0
  49. data/ext/say_font.c +335 -0
  50. data/ext/say_font.h +51 -0
  51. data/ext/say_image.c +283 -0
  52. data/ext/say_image.h +52 -0
  53. data/ext/say_image_target.c +134 -0
  54. data/ext/say_image_target.h +25 -0
  55. data/ext/say_imp.h +70 -0
  56. data/ext/say_index_buffer.c +90 -0
  57. data/ext/say_index_buffer.h +29 -0
  58. data/ext/say_index_buffer_slice.c +227 -0
  59. data/ext/say_index_buffer_slice.h +28 -0
  60. data/ext/say_input.c +35 -0
  61. data/ext/say_matrix.c +314 -0
  62. data/ext/say_matrix.h +55 -0
  63. data/ext/say_music.c +225 -0
  64. data/ext/say_osx.h +62 -0
  65. data/ext/say_osx_context.h +98 -0
  66. data/ext/say_osx_window.h +766 -0
  67. data/ext/say_polygon.c +358 -0
  68. data/ext/say_polygon.h +62 -0
  69. data/ext/say_renderer.c +42 -0
  70. data/ext/say_renderer.h +22 -0
  71. data/ext/say_shader.c +375 -0
  72. data/ext/say_shader.h +91 -0
  73. data/ext/say_sound.c +67 -0
  74. data/ext/say_sound_buffer.c +96 -0
  75. data/ext/say_sprite.c +273 -0
  76. data/ext/say_sprite.h +53 -0
  77. data/ext/say_string.c +9 -0
  78. data/ext/say_table.c +86 -0
  79. data/ext/say_table.h +24 -0
  80. data/ext/say_target.c +264 -0
  81. data/ext/say_target.h +67 -0
  82. data/ext/say_text.c +441 -0
  83. data/ext/say_text.h +56 -0
  84. data/ext/say_thread.c +46 -0
  85. data/ext/say_thread.h +39 -0
  86. data/ext/say_thread_variable.c +44 -0
  87. data/ext/say_utf.c +62 -0
  88. data/ext/say_vertex_type.c +113 -0
  89. data/ext/say_vertex_type.h +40 -0
  90. data/ext/say_vfile.c +57 -0
  91. data/ext/say_view.c +150 -0
  92. data/ext/say_view.h +44 -0
  93. data/ext/say_win.h +24 -0
  94. data/ext/say_win_context.h +91 -0
  95. data/ext/say_win_window.h +670 -0
  96. data/ext/say_window.c +155 -0
  97. data/ext/say_window.h +43 -0
  98. data/ext/say_x11.h +41 -0
  99. data/ext/say_x11_context.h +96 -0
  100. data/ext/say_x11_window.h +818 -0
  101. data/ext/shader.c +302 -0
  102. data/ext/sound.c +118 -0
  103. data/ext/sound_buffer.c +75 -0
  104. data/ext/sprite.c +241 -0
  105. data/ext/stb_image.h +4971 -0
  106. data/ext/stb_image_write.h +511 -0
  107. data/ext/target.c +184 -0
  108. data/ext/text.c +162 -0
  109. data/ext/utils.c +10 -0
  110. data/ext/vector.c +261 -0
  111. data/ext/vendor/freetype/bin/freetype6.dll +0 -0
  112. data/ext/vendor/freetype/bin/zlib1.dll +0 -0
  113. data/ext/vendor/freetype/include/freetype2/freetype/config/ftconfig.h +350 -0
  114. data/ext/vendor/freetype/include/freetype2/freetype/config/ftheader.h +729 -0
  115. data/ext/vendor/freetype/include/freetype2/freetype/config/ftmodule.h +22 -0
  116. data/ext/vendor/freetype/include/freetype2/freetype/config/ftoption.h +695 -0
  117. data/ext/vendor/freetype/include/freetype2/freetype/config/ftstdlib.h +180 -0
  118. data/ext/vendor/freetype/include/freetype2/freetype/freetype.h +3434 -0
  119. data/ext/vendor/freetype/include/freetype2/freetype/ftbbox.h +94 -0
  120. data/ext/vendor/freetype/include/freetype2/freetype/ftbdf.h +200 -0
  121. data/ext/vendor/freetype/include/freetype2/freetype/ftbitmap.h +206 -0
  122. data/ext/vendor/freetype/include/freetype2/freetype/ftcache.h +1110 -0
  123. data/ext/vendor/freetype/include/freetype2/freetype/ftchapters.h +100 -0
  124. data/ext/vendor/freetype/include/freetype2/freetype/fterrdef.h +239 -0
  125. data/ext/vendor/freetype/include/freetype2/freetype/fterrors.h +206 -0
  126. data/ext/vendor/freetype/include/freetype2/freetype/ftgasp.h +113 -0
  127. data/ext/vendor/freetype/include/freetype2/freetype/ftglyph.h +575 -0
  128. data/ext/vendor/freetype/include/freetype2/freetype/ftgxval.h +358 -0
  129. data/ext/vendor/freetype/include/freetype2/freetype/ftgzip.h +102 -0
  130. data/ext/vendor/freetype/include/freetype2/freetype/ftimage.h +1237 -0
  131. data/ext/vendor/freetype/include/freetype2/freetype/ftincrem.h +331 -0
  132. data/ext/vendor/freetype/include/freetype2/freetype/ftlcdfil.h +166 -0
  133. data/ext/vendor/freetype/include/freetype2/freetype/ftlist.h +273 -0
  134. data/ext/vendor/freetype/include/freetype2/freetype/ftlzw.h +99 -0
  135. data/ext/vendor/freetype/include/freetype2/freetype/ftmac.h +272 -0
  136. data/ext/vendor/freetype/include/freetype2/freetype/ftmm.h +378 -0
  137. data/ext/vendor/freetype/include/freetype2/freetype/ftmodapi.h +406 -0
  138. data/ext/vendor/freetype/include/freetype2/freetype/ftmoderr.h +155 -0
  139. data/ext/vendor/freetype/include/freetype2/freetype/ftotval.h +198 -0
  140. data/ext/vendor/freetype/include/freetype2/freetype/ftoutln.h +526 -0
  141. data/ext/vendor/freetype/include/freetype2/freetype/ftpfr.h +172 -0
  142. data/ext/vendor/freetype/include/freetype2/freetype/ftrender.h +229 -0
  143. data/ext/vendor/freetype/include/freetype2/freetype/ftsizes.h +159 -0
  144. data/ext/vendor/freetype/include/freetype2/freetype/ftsnames.h +170 -0
  145. data/ext/vendor/freetype/include/freetype2/freetype/ftstroke.h +716 -0
  146. data/ext/vendor/freetype/include/freetype2/freetype/ftsynth.h +73 -0
  147. data/ext/vendor/freetype/include/freetype2/freetype/ftsystem.h +346 -0
  148. data/ext/vendor/freetype/include/freetype2/freetype/fttrigon.h +350 -0
  149. data/ext/vendor/freetype/include/freetype2/freetype/fttypes.h +583 -0
  150. data/ext/vendor/freetype/include/freetype2/freetype/ftwinfnt.h +263 -0
  151. data/ext/vendor/freetype/include/freetype2/freetype/ftxf86.h +80 -0
  152. data/ext/vendor/freetype/include/freetype2/freetype/t1tables.h +450 -0
  153. data/ext/vendor/freetype/include/freetype2/freetype/ttnameid.h +1132 -0
  154. data/ext/vendor/freetype/include/freetype2/freetype/tttables.h +756 -0
  155. data/ext/vendor/freetype/include/freetype2/freetype/tttags.h +99 -0
  156. data/ext/vendor/freetype/include/freetype2/freetype/ttunpat.h +59 -0
  157. data/ext/vendor/freetype/include/ft2build.h +61 -0
  158. data/ext/vendor/freetype/lib/freetype-bcc.lib +0 -0
  159. data/ext/vendor/freetype/lib/freetype6.def +249 -0
  160. data/ext/vendor/freetype/lib/libfreetype.dll.a +0 -0
  161. data/ext/vendor/freetype/lib/tmp.freetype.lib +0 -0
  162. data/ext/vendor/glew/LICENSE.txt +73 -0
  163. data/ext/vendor/glew/README.txt +18 -0
  164. data/ext/vendor/glew/include/GL/glew.h +15507 -0
  165. data/ext/vendor/glew/include/GL/glxew.h +1568 -0
  166. data/ext/vendor/glew/include/GL/wglew.h +1361 -0
  167. data/ext/vendor/glew/lib/glew32.dll +0 -0
  168. data/ext/vendor/glew/lib/glew32mx.dll +0 -0
  169. data/ext/vendor/glew/lib/libglew32.a +0 -0
  170. data/ext/vendor/glew/lib/libglew32.dll.a +0 -0
  171. data/ext/vendor/glew/lib/libglew32mx.a +0 -0
  172. data/ext/vendor/glew/lib/libglew32mx.dll.a +0 -0
  173. data/ext/vendor/openal/COPYING +484 -0
  174. data/ext/vendor/openal/Win32/soft_oal.dll +0 -0
  175. data/ext/vendor/openal/include/AL/al.h +724 -0
  176. data/ext/vendor/openal/include/AL/alc.h +277 -0
  177. data/ext/vendor/openal/include/AL/alext.h +165 -0
  178. data/ext/vendor/openal/include/AL/efx-creative.h +3 -0
  179. data/ext/vendor/openal/include/AL/efx.h +758 -0
  180. data/ext/vendor/openal/lib/libOpenAL32.dll.a +0 -0
  181. data/ext/vendor/sndfile/bin/libsndfile-1.dll +0 -0
  182. data/ext/vendor/sndfile/include/sndfile.h +666 -0
  183. data/ext/vendor/sndfile/include/sndfile.hh +422 -0
  184. data/ext/vendor/sndfile/lib/libsndfile-1.def +41 -0
  185. data/ext/vendor/sndfile/lib/libsndfile-1.lib +0 -0
  186. data/ext/vertex.c +96 -0
  187. data/ext/view.c +131 -0
  188. data/ext/window.c +183 -0
  189. data/lib/ray/animation.rb +248 -0
  190. data/lib/ray/animation/block_animation.rb +36 -0
  191. data/lib/ray/animation/circular_motion.rb +57 -0
  192. data/lib/ray/animation/color_variation.rb +102 -0
  193. data/lib/ray/animation/combination.rb +71 -0
  194. data/lib/ray/animation/float_variation.rb +76 -0
  195. data/lib/ray/animation/sequence.rb +65 -0
  196. data/lib/ray/animation/sprite_animation.rb +68 -0
  197. data/lib/ray/animation/vector_variation.rb +111 -0
  198. data/lib/ray/animation_list.rb +50 -0
  199. data/lib/ray/audio.rb +4 -7
  200. data/lib/ray/buffer_renderer.rb +9 -0
  201. data/lib/ray/color.rb +41 -6
  202. data/lib/ray/drawable.rb +34 -9
  203. data/lib/ray/dsl.rb +6 -0
  204. data/lib/ray/dsl/event.rb +1 -1
  205. data/lib/ray/dsl/event_listener.rb +14 -10
  206. data/lib/ray/dsl/event_raiser.rb +5 -2
  207. data/lib/ray/dsl/event_runner.rb +4 -10
  208. data/lib/ray/dsl/event_translator.rb +67 -99
  209. data/lib/ray/dsl/handler.rb +1 -1
  210. data/lib/ray/dsl/matcher.rb +40 -27
  211. data/lib/ray/event.rb +22 -0
  212. data/lib/ray/font.rb +0 -42
  213. data/lib/ray/font_set.rb +3 -7
  214. data/lib/ray/game.rb +33 -73
  215. data/lib/ray/gl/int_array.rb +24 -0
  216. data/lib/ray/gl/vertex.rb +106 -0
  217. data/lib/ray/helper.rb +25 -11
  218. data/lib/ray/image.rb +9 -154
  219. data/lib/ray/image_set.rb +3 -8
  220. data/lib/ray/image_target.rb +12 -0
  221. data/lib/ray/matrix.rb +90 -0
  222. data/lib/ray/music.rb +12 -0
  223. data/lib/ray/polygon.rb +77 -0
  224. data/lib/ray/ray.rb +45 -13
  225. data/lib/ray/rect.rb +14 -3
  226. data/lib/ray/resource_set.rb +18 -35
  227. data/lib/ray/scene.rb +43 -81
  228. data/lib/ray/scene_list.rb +12 -5
  229. data/lib/ray/shader.rb +82 -0
  230. data/lib/ray/sound.rb +18 -0
  231. data/lib/ray/sound_buffer.rb +6 -0
  232. data/lib/ray/sound_buffer_set.rb +32 -0
  233. data/lib/ray/sprite.rb +111 -97
  234. data/lib/ray/target.rb +18 -0
  235. data/lib/ray/text.rb +80 -58
  236. data/lib/ray/text_helper.rb +21 -27
  237. data/lib/ray/turtle.rb +49 -38
  238. data/lib/ray/vector.rb +76 -1
  239. data/lib/ray/vertex.rb +24 -0
  240. data/lib/ray/view.rb +47 -0
  241. data/lib/ray/window.rb +23 -0
  242. data/samples/_media/Beep.wav +0 -0
  243. data/samples/_media/CptnRuby Gem.png +0 -0
  244. data/samples/_media/CptnRuby Map.txt +25 -0
  245. data/samples/_media/CptnRuby Tileset.png +0 -0
  246. data/samples/_media/CptnRuby.png +0 -0
  247. data/samples/_media/Space.png +0 -0
  248. data/samples/_media/Star.png +0 -0
  249. data/samples/_media/Starfighter.png +0 -0
  250. data/samples/animation/chain.rb +33 -0
  251. data/samples/animation/circle.rb +38 -0
  252. data/samples/animation/color.rb +18 -0
  253. data/samples/animation/rotation.rb +17 -0
  254. data/samples/animation/sequence.rb +33 -0
  255. data/samples/animation/shader.rb +65 -0
  256. data/samples/animation/sprite_motion.rb +103 -0
  257. data/samples/animation/translation.rb +23 -0
  258. data/samples/audio/spacial.rb +25 -11
  259. data/samples/buffer/buffer.rb +28 -0
  260. data/samples/buffer/index_buffer.rb +36 -0
  261. data/samples/buffer/renderer.rb +27 -0
  262. data/samples/cptn_ruby/cptn_ruby.rb +279 -0
  263. data/samples/hello_world/hello.rb +2 -2
  264. data/samples/hello_world/hello_dsl.rb +3 -3
  265. data/samples/hello_world/text.rb +2 -2
  266. data/samples/opengl/cube.rb +124 -0
  267. data/samples/opengl/image.rb +36 -16
  268. data/samples/opengl/obj_loader.rb +99 -0
  269. data/samples/opengl/opengl.rb +24 -18
  270. data/samples/opengl/shader.rb +36 -26
  271. data/samples/pong/pong.rb +41 -39
  272. data/samples/{run_scene.rb → scenes/run_scene.rb} +21 -7
  273. data/samples/shaders/geometry.rb +98 -0
  274. data/samples/shaders/scene.rb +19 -12
  275. data/samples/shaders/shaders.rb +34 -17
  276. data/samples/shaders/shape.rb +12 -7
  277. data/samples/sokoban/level_1 +11 -7
  278. data/samples/sokoban/sokoban.rb +36 -63
  279. data/samples/starfighter/starfighter.rb +159 -0
  280. data/samples/test/actual_scene.rb +3 -3
  281. data/samples/test/scene_riot.rb +4 -4
  282. data/samples/test/scene_spec.rb +3 -3
  283. data/samples/test/scene_test_unit.rb +1 -1
  284. data/samples/turtle/byzantium.rb +10 -5
  285. data/samples/turtle/hilbert.rb +16 -11
  286. data/samples/turtle/koch.rb +16 -11
  287. data/samples/turtle/mandala.rb +43 -38
  288. data/samples/turtle/tree.rb +13 -8
  289. data/samples/view/resize.rb +26 -0
  290. data/samples/view/view.rb +35 -0
  291. data/samples/window/all_events.rb +44 -0
  292. data/samples/window/change_title.rb +16 -0
  293. data/samples/window/fullscreen.rb +18 -0
  294. data/samples/window/get_pixel.rb +29 -0
  295. data/samples/window/icon.rb +88 -0
  296. data/samples/window/input.rb +27 -0
  297. data/samples/window/no_border.rb +16 -0
  298. data/samples/window/resize.rb +24 -0
  299. data/test/animation/color_variation_test.rb +64 -0
  300. data/test/animation/combination_test.rb +35 -0
  301. data/test/animation/float_variation_test.rb +75 -0
  302. data/test/animation/vector_variation_test.rb +123 -0
  303. data/test/animation_list_test.rb +122 -0
  304. data/test/animation_test.rb +83 -0
  305. data/test/audio_test.rb +88 -33
  306. data/test/buffer_renderer_test.rb +38 -0
  307. data/test/color_test.rb +31 -22
  308. data/test/drawable_test.rb +207 -7
  309. data/test/dsl_test.rb +25 -7
  310. data/test/font_test.rb +6 -40
  311. data/test/game_test.rb +76 -0
  312. data/test/gl_buffer_test.rb +26 -0
  313. data/test/gl_index_buffer_test.rb +17 -0
  314. data/test/gl_vertex_test.rb +117 -0
  315. data/test/helpers.rb +45 -5
  316. data/test/image_target_test.rb +19 -0
  317. data/test/image_test.rb +73 -53
  318. data/test/int_array_test.rb +64 -0
  319. data/test/matrix_test.rb +134 -0
  320. data/test/polygon_test.rb +126 -0
  321. data/test/rect_test.rb +6 -8
  322. data/test/res/frag.c +14 -0
  323. data/test/res/frag3d.c +10 -0
  324. data/test/res/frag_gray.c +17 -0
  325. data/test/res/frag_light3d.c +20 -0
  326. data/test/res/light3d.c +20 -0
  327. data/test/res/sprite.png +0 -0
  328. data/test/res/teapot.obj +12831 -0
  329. data/test/res/vert.c +17 -0
  330. data/test/res/vertex3d.c +14 -0
  331. data/test/resource_set_test.rb +8 -45
  332. data/test/run_all.rb +1 -1
  333. data/test/scene_list_test.rb +79 -0
  334. data/test/scene_test.rb +168 -0
  335. data/test/shader_test.rb +58 -0
  336. data/test/sprite_test.rb +46 -41
  337. data/test/target_test.rb +34 -0
  338. data/test/text_test.rb +20 -31
  339. data/test/turtle_test.rb +35 -20
  340. data/test/vector_test.rb +61 -19
  341. data/test/vertex_test.rb +43 -0
  342. data/test/view_test.rb +61 -0
  343. metadata +347 -126
  344. data/.yardopts +0 -4
  345. data/VERSION +0 -1
  346. data/ext/audio.cpp +0 -723
  347. data/ext/color.cpp +0 -159
  348. data/ext/drawable.cpp +0 -91
  349. data/ext/event.cpp +0 -460
  350. data/ext/font.cpp +0 -190
  351. data/ext/image.cpp +0 -733
  352. data/ext/input.cpp +0 -74
  353. data/ext/ray.cpp +0 -168
  354. data/ext/ray.hpp +0 -356
  355. data/ext/rect.cpp +0 -245
  356. data/ext/shader.cpp +0 -169
  357. data/ext/shape.cpp +0 -409
  358. data/ext/sprite.cpp +0 -306
  359. data/ext/text.cpp +0 -181
  360. data/ext/vector.cpp +0 -215
  361. data/guide.md +0 -619
  362. data/lib/ray/input.rb +0 -10
  363. data/lib/ray/music_set.rb +0 -37
  364. data/lib/ray/rmagick.rb +0 -41
  365. data/lib/ray/shape.rb +0 -132
  366. data/lib/ray/sound_set.rb +0 -37
  367. data/samples/opengl/binding.rb +0 -38
  368. data/test/ray_test.rb +0 -25
  369. data/test/shape_test.rb +0 -101
  370. data/yard_ext.rb +0 -63
@@ -0,0 +1,277 @@
1
+ #ifndef AL_ALC_H
2
+ #define AL_ALC_H
3
+
4
+ #if defined(__cplusplus)
5
+ extern "C" {
6
+ #endif
7
+
8
+ #if defined(AL_LIBTYPE_STATIC)
9
+ #define ALC_API
10
+ #elif defined(_WIN32) && !defined(_XBOX)
11
+ #if defined(AL_BUILD_LIBRARY)
12
+ #define ALC_API __declspec(dllexport)
13
+ #else
14
+ #define ALC_API __declspec(dllimport)
15
+ #endif
16
+ #else
17
+ #if defined(AL_BUILD_LIBRARY) && defined(HAVE_GCC_VISIBILITY)
18
+ #define ALC_API __attribute__((visibility("protected")))
19
+ #else
20
+ #define ALC_API extern
21
+ #endif
22
+ #endif
23
+
24
+ #if defined(_WIN32)
25
+ #define ALC_APIENTRY __cdecl
26
+ #else
27
+ #define ALC_APIENTRY
28
+ #endif
29
+
30
+ #if defined(TARGET_OS_MAC) && TARGET_OS_MAC
31
+ #pragma export on
32
+ #endif
33
+
34
+ /*
35
+ * The ALCAPI, ALCAPIENTRY, and ALC_INVALID macros are deprecated, but are
36
+ * included for applications porting code from AL 1.0
37
+ */
38
+ #define ALCAPI ALC_API
39
+ #define ALCAPIENTRY ALC_APIENTRY
40
+ #define ALC_INVALID 0
41
+
42
+
43
+ #define ALC_VERSION_0_1 1
44
+
45
+ typedef struct ALCdevice_struct ALCdevice;
46
+ typedef struct ALCcontext_struct ALCcontext;
47
+
48
+
49
+ /** 8-bit boolean */
50
+ typedef char ALCboolean;
51
+
52
+ /** character */
53
+ typedef char ALCchar;
54
+
55
+ /** signed 8-bit 2's complement integer */
56
+ typedef signed char ALCbyte;
57
+
58
+ /** unsigned 8-bit integer */
59
+ typedef unsigned char ALCubyte;
60
+
61
+ /** signed 16-bit 2's complement integer */
62
+ typedef short ALCshort;
63
+
64
+ /** unsigned 16-bit integer */
65
+ typedef unsigned short ALCushort;
66
+
67
+ /** signed 32-bit 2's complement integer */
68
+ typedef int ALCint;
69
+
70
+ /** unsigned 32-bit integer */
71
+ typedef unsigned int ALCuint;
72
+
73
+ /** non-negative 32-bit binary integer size */
74
+ typedef int ALCsizei;
75
+
76
+ /** enumerated 32-bit value */
77
+ typedef int ALCenum;
78
+
79
+ /** 32-bit IEEE754 floating-point */
80
+ typedef float ALCfloat;
81
+
82
+ /** 64-bit IEEE754 floating-point */
83
+ typedef double ALCdouble;
84
+
85
+ /** void type (for opaque pointers only) */
86
+ typedef void ALCvoid;
87
+
88
+
89
+ /* Enumerant values begin at column 50. No tabs. */
90
+
91
+ /* Boolean False. */
92
+ #define ALC_FALSE 0
93
+
94
+ /* Boolean True. */
95
+ #define ALC_TRUE 1
96
+
97
+ /**
98
+ * followed by <int> Hz
99
+ */
100
+ #define ALC_FREQUENCY 0x1007
101
+
102
+ /**
103
+ * followed by <int> Hz
104
+ */
105
+ #define ALC_REFRESH 0x1008
106
+
107
+ /**
108
+ * followed by AL_TRUE, AL_FALSE
109
+ */
110
+ #define ALC_SYNC 0x1009
111
+
112
+ /**
113
+ * followed by <int> Num of requested Mono (3D) Sources
114
+ */
115
+ #define ALC_MONO_SOURCES 0x1010
116
+
117
+ /**
118
+ * followed by <int> Num of requested Stereo Sources
119
+ */
120
+ #define ALC_STEREO_SOURCES 0x1011
121
+
122
+ /**
123
+ * errors
124
+ */
125
+
126
+ /**
127
+ * No error
128
+ */
129
+ #define ALC_NO_ERROR ALC_FALSE
130
+
131
+ /**
132
+ * No device
133
+ */
134
+ #define ALC_INVALID_DEVICE 0xA001
135
+
136
+ /**
137
+ * invalid context ID
138
+ */
139
+ #define ALC_INVALID_CONTEXT 0xA002
140
+
141
+ /**
142
+ * bad enum
143
+ */
144
+ #define ALC_INVALID_ENUM 0xA003
145
+
146
+ /**
147
+ * bad value
148
+ */
149
+ #define ALC_INVALID_VALUE 0xA004
150
+
151
+ /**
152
+ * Out of memory.
153
+ */
154
+ #define ALC_OUT_OF_MEMORY 0xA005
155
+
156
+
157
+ /**
158
+ * The Specifier string for default device
159
+ */
160
+ #define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004
161
+ #define ALC_DEVICE_SPECIFIER 0x1005
162
+ #define ALC_EXTENSIONS 0x1006
163
+
164
+ #define ALC_MAJOR_VERSION 0x1000
165
+ #define ALC_MINOR_VERSION 0x1001
166
+
167
+ #define ALC_ATTRIBUTES_SIZE 0x1002
168
+ #define ALC_ALL_ATTRIBUTES 0x1003
169
+
170
+
171
+ /**
172
+ * Capture extension
173
+ */
174
+ #define ALC_CAPTURE_DEVICE_SPECIFIER 0x310
175
+ #define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER 0x311
176
+ #define ALC_CAPTURE_SAMPLES 0x312
177
+
178
+
179
+ /*
180
+ * Context Management
181
+ */
182
+ ALC_API ALCcontext * ALC_APIENTRY alcCreateContext( ALCdevice *device, const ALCint* attrlist );
183
+
184
+ ALC_API ALCboolean ALC_APIENTRY alcMakeContextCurrent( ALCcontext *context );
185
+
186
+ ALC_API void ALC_APIENTRY alcProcessContext( ALCcontext *context );
187
+
188
+ ALC_API void ALC_APIENTRY alcSuspendContext( ALCcontext *context );
189
+
190
+ ALC_API void ALC_APIENTRY alcDestroyContext( ALCcontext *context );
191
+
192
+ ALC_API ALCcontext * ALC_APIENTRY alcGetCurrentContext( void );
193
+
194
+ ALC_API ALCdevice* ALC_APIENTRY alcGetContextsDevice( ALCcontext *context );
195
+
196
+
197
+ /*
198
+ * Device Management
199
+ */
200
+ ALC_API ALCdevice * ALC_APIENTRY alcOpenDevice( const ALCchar *devicename );
201
+
202
+ ALC_API ALCboolean ALC_APIENTRY alcCloseDevice( ALCdevice *device );
203
+
204
+
205
+ /*
206
+ * Error support.
207
+ * Obtain the most recent Context error
208
+ */
209
+ ALC_API ALCenum ALC_APIENTRY alcGetError( ALCdevice *device );
210
+
211
+
212
+ /*
213
+ * Extension support.
214
+ * Query for the presence of an extension, and obtain any appropriate
215
+ * function pointers and enum values.
216
+ */
217
+ ALC_API ALCboolean ALC_APIENTRY alcIsExtensionPresent( ALCdevice *device, const ALCchar *extname );
218
+
219
+ ALC_API void * ALC_APIENTRY alcGetProcAddress( ALCdevice *device, const ALCchar *funcname );
220
+
221
+ ALC_API ALCenum ALC_APIENTRY alcGetEnumValue( ALCdevice *device, const ALCchar *enumname );
222
+
223
+
224
+ /*
225
+ * Query functions
226
+ */
227
+ ALC_API const ALCchar * ALC_APIENTRY alcGetString( ALCdevice *device, ALCenum param );
228
+
229
+ ALC_API void ALC_APIENTRY alcGetIntegerv( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data );
230
+
231
+
232
+ /*
233
+ * Capture functions
234
+ */
235
+ ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
236
+
237
+ ALC_API ALCboolean ALC_APIENTRY alcCaptureCloseDevice( ALCdevice *device );
238
+
239
+ ALC_API void ALC_APIENTRY alcCaptureStart( ALCdevice *device );
240
+
241
+ ALC_API void ALC_APIENTRY alcCaptureStop( ALCdevice *device );
242
+
243
+ ALC_API void ALC_APIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );
244
+
245
+ /*
246
+ * Pointer-to-function types, useful for dynamically getting ALC entry points.
247
+ */
248
+ typedef ALCcontext * (ALC_APIENTRY *LPALCCREATECONTEXT) (ALCdevice *device, const ALCint *attrlist);
249
+ typedef ALCboolean (ALC_APIENTRY *LPALCMAKECONTEXTCURRENT)( ALCcontext *context );
250
+ typedef void (ALC_APIENTRY *LPALCPROCESSCONTEXT)( ALCcontext *context );
251
+ typedef void (ALC_APIENTRY *LPALCSUSPENDCONTEXT)( ALCcontext *context );
252
+ typedef void (ALC_APIENTRY *LPALCDESTROYCONTEXT)( ALCcontext *context );
253
+ typedef ALCcontext * (ALC_APIENTRY *LPALCGETCURRENTCONTEXT)( void );
254
+ typedef ALCdevice * (ALC_APIENTRY *LPALCGETCONTEXTSDEVICE)( ALCcontext *context );
255
+ typedef ALCdevice * (ALC_APIENTRY *LPALCOPENDEVICE)( const ALCchar *devicename );
256
+ typedef ALCboolean (ALC_APIENTRY *LPALCCLOSEDEVICE)( ALCdevice *device );
257
+ typedef ALCenum (ALC_APIENTRY *LPALCGETERROR)( ALCdevice *device );
258
+ typedef ALCboolean (ALC_APIENTRY *LPALCISEXTENSIONPRESENT)( ALCdevice *device, const ALCchar *extname );
259
+ typedef void * (ALC_APIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname );
260
+ typedef ALCenum (ALC_APIENTRY *LPALCGETENUMVALUE)(ALCdevice *device, const ALCchar *enumname );
261
+ typedef const ALCchar* (ALC_APIENTRY *LPALCGETSTRING)( ALCdevice *device, ALCenum param );
262
+ typedef void (ALC_APIENTRY *LPALCGETINTEGERV)( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *dest );
263
+ typedef ALCdevice * (ALC_APIENTRY *LPALCCAPTUREOPENDEVICE)( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
264
+ typedef ALCboolean (ALC_APIENTRY *LPALCCAPTURECLOSEDEVICE)( ALCdevice *device );
265
+ typedef void (ALC_APIENTRY *LPALCCAPTURESTART)( ALCdevice *device );
266
+ typedef void (ALC_APIENTRY *LPALCCAPTURESTOP)( ALCdevice *device );
267
+ typedef void (ALC_APIENTRY *LPALCCAPTURESAMPLES)( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );
268
+
269
+ #if defined(TARGET_OS_MAC) && TARGET_OS_MAC
270
+ #pragma export off
271
+ #endif
272
+
273
+ #if defined(__cplusplus)
274
+ }
275
+ #endif
276
+
277
+ #endif /* AL_ALC_H */
@@ -0,0 +1,165 @@
1
+ /**
2
+ * OpenAL cross platform audio library
3
+ * Copyright (C) 2008 by authors.
4
+ * This library is free software; you can redistribute it and/or
5
+ * modify it under the terms of the GNU Library General Public
6
+ * License as published by the Free Software Foundation; either
7
+ * version 2 of the License, or (at your option) any later version.
8
+ *
9
+ * This library is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ * Library General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Library General Public
15
+ * License along with this library; if not, write to the
16
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17
+ * Boston, MA 02111-1307, USA.
18
+ * Or go to http://www.gnu.org/copyleft/lgpl.html
19
+ */
20
+
21
+ #ifndef AL_ALEXT_H
22
+ #define AL_ALEXT_H
23
+
24
+ #include <stddef.h>
25
+
26
+ #ifdef __cplusplus
27
+ extern "C" {
28
+ #endif
29
+
30
+ #ifndef AL_LOKI_IMA_ADPCM_format
31
+ #define AL_LOKI_IMA_ADPCM_format 1
32
+ #define AL_FORMAT_IMA_ADPCM_MONO16_EXT 0x10000
33
+ #define AL_FORMAT_IMA_ADPCM_STEREO16_EXT 0x10001
34
+ #endif
35
+
36
+ #ifndef AL_LOKI_WAVE_format
37
+ #define AL_LOKI_WAVE_format 1
38
+ #define AL_FORMAT_WAVE_EXT 0x10002
39
+ #endif
40
+
41
+ #ifndef AL_EXT_vorbis
42
+ #define AL_EXT_vorbis 1
43
+ #define AL_FORMAT_VORBIS_EXT 0x10003
44
+ #endif
45
+
46
+ #ifndef AL_LOKI_quadriphonic
47
+ #define AL_LOKI_quadriphonic 1
48
+ #define AL_FORMAT_QUAD8_LOKI 0x10004
49
+ #define AL_FORMAT_QUAD16_LOKI 0x10005
50
+ #endif
51
+
52
+ #ifndef AL_EXT_float32
53
+ #define AL_EXT_float32 1
54
+ #define AL_FORMAT_MONO_FLOAT32 0x10010
55
+ #define AL_FORMAT_STEREO_FLOAT32 0x10011
56
+ #endif
57
+
58
+ #ifndef AL_EXT_double
59
+ #define AL_EXT_double 1
60
+ #define AL_FORMAT_MONO_DOUBLE_EXT 0x10012
61
+ #define AL_FORMAT_STEREO_DOUBLE_EXT 0x10013
62
+ #endif
63
+
64
+ #ifndef ALC_LOKI_audio_channel
65
+ #define ALC_LOKI_audio_channel 1
66
+ #define ALC_CHAN_MAIN_LOKI 0x500001
67
+ #define ALC_CHAN_PCM_LOKI 0x500002
68
+ #define ALC_CHAN_CD_LOKI 0x500003
69
+ #endif
70
+
71
+ #ifndef ALC_ENUMERATE_ALL_EXT
72
+ #define ALC_ENUMERATE_ALL_EXT 1
73
+ #define ALC_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012
74
+ #define ALC_ALL_DEVICES_SPECIFIER 0x1013
75
+ #endif
76
+
77
+ #ifndef AL_EXT_MCFORMATS
78
+ #define AL_EXT_MCFORMATS 1
79
+ #define AL_FORMAT_QUAD8 0x1204
80
+ #define AL_FORMAT_QUAD16 0x1205
81
+ #define AL_FORMAT_QUAD32 0x1206
82
+ #define AL_FORMAT_REAR8 0x1207
83
+ #define AL_FORMAT_REAR16 0x1208
84
+ #define AL_FORMAT_REAR32 0x1209
85
+ #define AL_FORMAT_51CHN8 0x120A
86
+ #define AL_FORMAT_51CHN16 0x120B
87
+ #define AL_FORMAT_51CHN32 0x120C
88
+ #define AL_FORMAT_61CHN8 0x120D
89
+ #define AL_FORMAT_61CHN16 0x120E
90
+ #define AL_FORMAT_61CHN32 0x120F
91
+ #define AL_FORMAT_71CHN8 0x1210
92
+ #define AL_FORMAT_71CHN16 0x1211
93
+ #define AL_FORMAT_71CHN32 0x1212
94
+ #endif
95
+
96
+ #ifndef AL_EXT_MULAW_MCFORMATS
97
+ #define AL_EXT_MULAW_MCFORMATS 1
98
+ #define AL_FORMAT_MONO_MULAW 0x10014
99
+ #define AL_FORMAT_STEREO_MULAW 0x10015
100
+ #define AL_FORMAT_QUAD_MULAW 0x10021
101
+ #define AL_FORMAT_REAR_MULAW 0x10022
102
+ #define AL_FORMAT_51CHN_MULAW 0x10023
103
+ #define AL_FORMAT_61CHN_MULAW 0x10024
104
+ #define AL_FORMAT_71CHN_MULAW 0x10025
105
+ #endif
106
+
107
+ #ifndef AL_EXT_IMA4
108
+ #define AL_EXT_IMA4 1
109
+ #define AL_FORMAT_MONO_IMA4 0x1300
110
+ #define AL_FORMAT_STEREO_IMA4 0x1301
111
+ #endif
112
+
113
+ #ifndef AL_EXT_STATIC_BUFFER
114
+ #define AL_EXT_STATIC_BUFFER 1
115
+ typedef ALvoid (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALint,ALenum,ALvoid*,ALsizei,ALsizei);
116
+ #ifdef AL_ALEXT_PROTOTYPES
117
+ AL_API ALvoid AL_APIENTRY alBufferDataStatic(const ALint buffer, ALenum format, ALvoid *data, ALsizei len, ALsizei freq);
118
+ #endif
119
+ #endif
120
+
121
+ #ifndef ALC_EXT_EFX
122
+ #define ALC_EXT_EFX 1
123
+ #include "efx.h"
124
+ #endif
125
+
126
+ #ifndef ALC_EXT_disconnect
127
+ #define ALC_EXT_disconnect 1
128
+ #define ALC_CONNECTED 0x313
129
+ #endif
130
+
131
+ #ifndef ALC_EXT_thread_local_context
132
+ #define ALC_EXT_thread_local_context 1
133
+ typedef ALCboolean (ALC_APIENTRY*PFNALCSETTHREADCONTEXTPROC)(ALCcontext *context);
134
+ typedef ALCcontext* (ALC_APIENTRY*PFNALCGETTHREADCONTEXTPROC)(void);
135
+ #ifdef AL_ALEXT_PROTOTYPES
136
+ ALC_API ALCboolean ALC_APIENTRY alcSetThreadContext(ALCcontext *context);
137
+ ALC_API ALCcontext* ALC_APIENTRY alcGetThreadContext(void);
138
+ #endif
139
+ #endif
140
+
141
+ #ifndef AL_EXT_source_distance_model
142
+ #define AL_EXT_source_distance_model 1
143
+ #define AL_SOURCE_DISTANCE_MODEL 0x200
144
+ #endif
145
+
146
+ #ifndef AL_SOFT_buffer_sub_data
147
+ #define AL_SOFT_buffer_sub_data 1
148
+ #define AL_BYTE_RW_OFFSETS_SOFT 0x1031
149
+ #define AL_SAMPLE_RW_OFFSETS_SOFT 0x1032
150
+ typedef ALvoid (AL_APIENTRY*PFNALBUFFERSUBDATASOFTPROC)(ALuint,ALenum,const ALvoid*,ALsizei,ALsizei);
151
+ #ifdef AL_ALEXT_PROTOTYPES
152
+ AL_API ALvoid AL_APIENTRY alBufferSubDataSOFT(ALuint buffer,ALenum format,const ALvoid *data,ALsizei offset,ALsizei length);
153
+ #endif
154
+ #endif
155
+
156
+ #ifndef AL_SOFT_loop_points
157
+ #define AL_SOFT_loop_points 1
158
+ #define AL_LOOP_POINTS_SOFT 0x2015
159
+ #endif
160
+
161
+ #ifdef __cplusplus
162
+ }
163
+ #endif
164
+
165
+ #endif
@@ -0,0 +1,3 @@
1
+ /* The tokens that would be defined here are already defined in efx.h. This
2
+ * empty file is here to provide compatibility with Windows-based projects
3
+ * that would include it. */
@@ -0,0 +1,758 @@
1
+ #ifndef AL_EFX_H
2
+ #define AL_EFX_H
3
+
4
+
5
+ #ifdef __cplusplus
6
+ extern "C" {
7
+ #endif
8
+
9
+ #define ALC_EXT_EFX_NAME "ALC_EXT_EFX"
10
+
11
+ #define ALC_EFX_MAJOR_VERSION 0x20001
12
+ #define ALC_EFX_MINOR_VERSION 0x20002
13
+ #define ALC_MAX_AUXILIARY_SENDS 0x20003
14
+
15
+
16
+ /* Listener properties. */
17
+ #define AL_METERS_PER_UNIT 0x20004
18
+
19
+ /* Source properties. */
20
+ #define AL_DIRECT_FILTER 0x20005
21
+ #define AL_AUXILIARY_SEND_FILTER 0x20006
22
+ #define AL_AIR_ABSORPTION_FACTOR 0x20007
23
+ #define AL_ROOM_ROLLOFF_FACTOR 0x20008
24
+ #define AL_CONE_OUTER_GAINHF 0x20009
25
+ #define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A
26
+ #define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B
27
+ #define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C
28
+
29
+
30
+ /* Effect properties. */
31
+
32
+ /* Reverb effect parameters */
33
+ #define AL_REVERB_DENSITY 0x0001
34
+ #define AL_REVERB_DIFFUSION 0x0002
35
+ #define AL_REVERB_GAIN 0x0003
36
+ #define AL_REVERB_GAINHF 0x0004
37
+ #define AL_REVERB_DECAY_TIME 0x0005
38
+ #define AL_REVERB_DECAY_HFRATIO 0x0006
39
+ #define AL_REVERB_REFLECTIONS_GAIN 0x0007
40
+ #define AL_REVERB_REFLECTIONS_DELAY 0x0008
41
+ #define AL_REVERB_LATE_REVERB_GAIN 0x0009
42
+ #define AL_REVERB_LATE_REVERB_DELAY 0x000A
43
+ #define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B
44
+ #define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C
45
+ #define AL_REVERB_DECAY_HFLIMIT 0x000D
46
+
47
+ /* EAX Reverb effect parameters */
48
+ #define AL_EAXREVERB_DENSITY 0x0001
49
+ #define AL_EAXREVERB_DIFFUSION 0x0002
50
+ #define AL_EAXREVERB_GAIN 0x0003
51
+ #define AL_EAXREVERB_GAINHF 0x0004
52
+ #define AL_EAXREVERB_GAINLF 0x0005
53
+ #define AL_EAXREVERB_DECAY_TIME 0x0006
54
+ #define AL_EAXREVERB_DECAY_HFRATIO 0x0007
55
+ #define AL_EAXREVERB_DECAY_LFRATIO 0x0008
56
+ #define AL_EAXREVERB_REFLECTIONS_GAIN 0x0009
57
+ #define AL_EAXREVERB_REFLECTIONS_DELAY 0x000A
58
+ #define AL_EAXREVERB_REFLECTIONS_PAN 0x000B
59
+ #define AL_EAXREVERB_LATE_REVERB_GAIN 0x000C
60
+ #define AL_EAXREVERB_LATE_REVERB_DELAY 0x000D
61
+ #define AL_EAXREVERB_LATE_REVERB_PAN 0x000E
62
+ #define AL_EAXREVERB_ECHO_TIME 0x000F
63
+ #define AL_EAXREVERB_ECHO_DEPTH 0x0010
64
+ #define AL_EAXREVERB_MODULATION_TIME 0x0011
65
+ #define AL_EAXREVERB_MODULATION_DEPTH 0x0012
66
+ #define AL_EAXREVERB_AIR_ABSORPTION_GAINHF 0x0013
67
+ #define AL_EAXREVERB_HFREFERENCE 0x0014
68
+ #define AL_EAXREVERB_LFREFERENCE 0x0015
69
+ #define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR 0x0016
70
+ #define AL_EAXREVERB_DECAY_HFLIMIT 0x0017
71
+
72
+ /* Chorus effect 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 effect 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 effect 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 effect 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
+ /* Frequency shifter effect 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
+ /* Vocal morpher effect 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 effect parameters */
116
+ #define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001
117
+ #define AL_PITCH_SHIFTER_FINE_TUNE 0x0002
118
+
119
+ /* Ringmodulator effect 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 effect 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 effect parameters */
131
+ #define AL_COMPRESSOR_ONOFF 0x0001
132
+
133
+ /* Equalizer effect 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 types, used with the AL_EFFECT_TYPE property */
151
+ #define AL_EFFECT_NULL 0x0000
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
+ #define AL_EFFECT_EAXREVERB 0x8000
165
+
166
+ /* Auxiliary Effect Slot properties. */
167
+ #define AL_EFFECTSLOT_EFFECT 0x0001
168
+ #define AL_EFFECTSLOT_GAIN 0x0002
169
+ #define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003
170
+
171
+ /* NULL Auxiliary Slot ID to disable a source send. */
172
+ #define AL_EFFECTSLOT_NULL 0x0000
173
+
174
+
175
+ /* Filter properties. */
176
+
177
+ /* Lowpass filter parameters */
178
+ #define AL_LOWPASS_GAIN 0x0001
179
+ #define AL_LOWPASS_GAINHF 0x0002
180
+
181
+ /* Highpass filter parameters */
182
+ #define AL_HIGHPASS_GAIN 0x0001
183
+ #define AL_HIGHPASS_GAINLF 0x0002
184
+
185
+ /* Bandpass filter parameters */
186
+ #define AL_BANDPASS_GAIN 0x0001
187
+ #define AL_BANDPASS_GAINLF 0x0002
188
+ #define AL_BANDPASS_GAINHF 0x0003
189
+
190
+ /* Filter type */
191
+ #define AL_FILTER_FIRST_PARAMETER 0x0000
192
+ #define AL_FILTER_LAST_PARAMETER 0x8000
193
+ #define AL_FILTER_TYPE 0x8001
194
+
195
+ /* Filter types, used with the AL_FILTER_TYPE property */
196
+ #define AL_FILTER_NULL 0x0000
197
+ #define AL_FILTER_LOWPASS 0x0001
198
+ #define AL_FILTER_HIGHPASS 0x0002
199
+ #define AL_FILTER_BANDPASS 0x0003
200
+
201
+
202
+ /* Effect object function types. */
203
+ typedef void (AL_APIENTRY *LPALGENEFFECTS)(ALsizei, ALuint*);
204
+ typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
205
+ typedef ALboolean (AL_APIENTRY *LPALISEFFECT)(ALuint);
206
+ typedef void (AL_APIENTRY *LPALEFFECTI)(ALuint, ALenum, ALint);
207
+ typedef void (AL_APIENTRY *LPALEFFECTIV)(ALuint, ALenum, ALint*);
208
+ typedef void (AL_APIENTRY *LPALEFFECTF)(ALuint, ALenum, ALfloat);
209
+ typedef void (AL_APIENTRY *LPALEFFECTFV)(ALuint, ALenum, ALfloat*);
210
+ typedef void (AL_APIENTRY *LPALGETEFFECTI)(ALuint, ALenum, ALint*);
211
+ typedef void (AL_APIENTRY *LPALGETEFFECTIV)(ALuint, ALenum, ALint*);
212
+ typedef void (AL_APIENTRY *LPALGETEFFECTF)(ALuint, ALenum, ALfloat*);
213
+ typedef void (AL_APIENTRY *LPALGETEFFECTFV)(ALuint, ALenum, ALfloat*);
214
+
215
+ /* Filter object function types. */
216
+ typedef void (AL_APIENTRY *LPALGENFILTERS)(ALsizei, ALuint*);
217
+ typedef void (AL_APIENTRY *LPALDELETEFILTERS)(ALsizei, ALuint*);
218
+ typedef ALboolean (AL_APIENTRY *LPALISFILTER)(ALuint);
219
+ typedef void (AL_APIENTRY *LPALFILTERI)(ALuint, ALenum, ALint);
220
+ typedef void (AL_APIENTRY *LPALFILTERIV)(ALuint, ALenum, ALint*);
221
+ typedef void (AL_APIENTRY *LPALFILTERF)(ALuint, ALenum, ALfloat);
222
+ typedef void (AL_APIENTRY *LPALFILTERFV)(ALuint, ALenum, ALfloat*);
223
+ typedef void (AL_APIENTRY *LPALGETFILTERI)(ALuint, ALenum, ALint*);
224
+ typedef void (AL_APIENTRY *LPALGETFILTERIV)(ALuint, ALenum, ALint*);
225
+ typedef void (AL_APIENTRY *LPALGETFILTERF)(ALuint, ALenum, ALfloat*);
226
+ typedef void (AL_APIENTRY *LPALGETFILTERFV)(ALuint, ALenum, ALfloat*);
227
+
228
+ /* Auxiliary Effect Slot object function types. */
229
+ typedef void (AL_APIENTRY *LPALGENAUXILIARYEFFECTSLOTS)(ALsizei, ALuint*);
230
+ typedef void (AL_APIENTRY *LPALDELETEAUXILIARYEFFECTSLOTS)(ALsizei, ALuint*);
231
+ typedef ALboolean (AL_APIENTRY *LPALISAUXILIARYEFFECTSLOT)(ALuint);
232
+ typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint);
233
+ typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, ALint*);
234
+ typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat);
235
+ typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, ALfloat*);
236
+ typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint*);
237
+ typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, ALint*);
238
+ typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat*);
239
+ typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, ALfloat*);
240
+
241
+ #ifdef AL_ALEXT_PROTOTYPES
242
+ AL_API ALvoid AL_APIENTRY alGenEffects(ALsizei n, ALuint *effects);
243
+ AL_API ALvoid AL_APIENTRY alDeleteEffects(ALsizei n, ALuint *effects);
244
+ AL_API ALboolean AL_APIENTRY alIsEffect(ALuint effect);
245
+ AL_API ALvoid AL_APIENTRY alEffecti(ALuint effect, ALenum param, ALint iValue);
246
+ AL_API ALvoid AL_APIENTRY alEffectiv(ALuint effect, ALenum param, ALint *piValues);
247
+ AL_API ALvoid AL_APIENTRY alEffectf(ALuint effect, ALenum param, ALfloat flValue);
248
+ AL_API ALvoid AL_APIENTRY alEffectfv(ALuint effect, ALenum param, ALfloat *pflValues);
249
+ AL_API ALvoid AL_APIENTRY alGetEffecti(ALuint effect, ALenum param, ALint *piValue);
250
+ AL_API ALvoid AL_APIENTRY alGetEffectiv(ALuint effect, ALenum param, ALint *piValues);
251
+ AL_API ALvoid AL_APIENTRY alGetEffectf(ALuint effect, ALenum param, ALfloat *pflValue);
252
+ AL_API ALvoid AL_APIENTRY alGetEffectfv(ALuint effect, ALenum param, ALfloat *pflValues);
253
+
254
+ AL_API ALvoid AL_APIENTRY alGenFilters(ALsizei n, ALuint *filters);
255
+ AL_API ALvoid AL_APIENTRY alDeleteFilters(ALsizei n, ALuint *filters);
256
+ AL_API ALboolean AL_APIENTRY alIsFilter(ALuint filter);
257
+ AL_API ALvoid AL_APIENTRY alFilteri(ALuint filter, ALenum param, ALint iValue);
258
+ AL_API ALvoid AL_APIENTRY alFilteriv(ALuint filter, ALenum param, ALint *piValues);
259
+ AL_API ALvoid AL_APIENTRY alFilterf(ALuint filter, ALenum param, ALfloat flValue);
260
+ AL_API ALvoid AL_APIENTRY alFilterfv(ALuint filter, ALenum param, ALfloat *pflValues);
261
+ AL_API ALvoid AL_APIENTRY alGetFilteri(ALuint filter, ALenum param, ALint *piValue);
262
+ AL_API ALvoid AL_APIENTRY alGetFilteriv(ALuint filter, ALenum param, ALint *piValues);
263
+ AL_API ALvoid AL_APIENTRY alGetFilterf(ALuint filter, ALenum param, ALfloat *pflValue);
264
+ AL_API ALvoid AL_APIENTRY alGetFilterfv(ALuint filter, ALenum param, ALfloat *pflValues);
265
+
266
+ AL_API ALvoid AL_APIENTRY alGenAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots);
267
+ AL_API ALvoid AL_APIENTRY alDeleteAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots);
268
+ AL_API ALboolean AL_APIENTRY alIsAuxiliaryEffectSlot(ALuint effectslot);
269
+ AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint iValue);
270
+ AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues);
271
+ AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat flValue);
272
+ AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues);
273
+ AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint *piValue);
274
+ AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues);
275
+ AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat *pflValue);
276
+ AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues);
277
+ #endif
278
+
279
+ /* Filter ranges and defaults. */
280
+
281
+ /* Lowpass filter */
282
+ #define LOWPASS_MIN_GAIN (0.0f)
283
+ #define LOWPASS_MAX_GAIN (1.0f)
284
+ #define LOWPASS_DEFAULT_GAIN (1.0f)
285
+
286
+ #define LOWPASS_MIN_GAINHF (0.0f)
287
+ #define LOWPASS_MAX_GAINHF (1.0f)
288
+ #define LOWPASS_DEFAULT_GAINHF (1.0f)
289
+
290
+ /* Highpass filter */
291
+ #define HIGHPASS_MIN_GAIN (0.0f)
292
+ #define HIGHPASS_MAX_GAIN (1.0f)
293
+ #define HIGHPASS_DEFAULT_GAIN (1.0f)
294
+
295
+ #define HIGHPASS_MIN_GAINLF (0.0f)
296
+ #define HIGHPASS_MAX_GAINLF (1.0f)
297
+ #define HIGHPASS_DEFAULT_GAINLF (1.0f)
298
+
299
+ /* Bandpass filter */
300
+ #define BANDPASS_MIN_GAIN (0.0f)
301
+ #define BANDPASS_MAX_GAIN (1.0f)
302
+ #define BANDPASS_DEFAULT_GAIN (1.0f)
303
+
304
+ #define BANDPASS_MIN_GAINHF (0.0f)
305
+ #define BANDPASS_MAX_GAINHF (1.0f)
306
+ #define BANDPASS_DEFAULT_GAINHF (1.0f)
307
+
308
+ #define BANDPASS_MIN_GAINLF (0.0f)
309
+ #define BANDPASS_MAX_GAINLF (1.0f)
310
+ #define BANDPASS_DEFAULT_GAINLF (1.0f)
311
+
312
+
313
+ /* Effect parameter ranges and defaults. */
314
+
315
+ /* Standard reverb effect */
316
+ #define AL_REVERB_MIN_DENSITY (0.0f)
317
+ #define AL_REVERB_MAX_DENSITY (1.0f)
318
+ #define AL_REVERB_DEFAULT_DENSITY (1.0f)
319
+
320
+ #define AL_REVERB_MIN_DIFFUSION (0.0f)
321
+ #define AL_REVERB_MAX_DIFFUSION (1.0f)
322
+ #define AL_REVERB_DEFAULT_DIFFUSION (1.0f)
323
+
324
+ #define AL_REVERB_MIN_GAIN (0.0f)
325
+ #define AL_REVERB_MAX_GAIN (1.0f)
326
+ #define AL_REVERB_DEFAULT_GAIN (0.32f)
327
+
328
+ #define AL_REVERB_MIN_GAINHF (0.0f)
329
+ #define AL_REVERB_MAX_GAINHF (1.0f)
330
+ #define AL_REVERB_DEFAULT_GAINHF (0.89f)
331
+
332
+ #define AL_REVERB_MIN_DECAY_TIME (0.1f)
333
+ #define AL_REVERB_MAX_DECAY_TIME (20.0f)
334
+ #define AL_REVERB_DEFAULT_DECAY_TIME (1.49f)
335
+
336
+ #define AL_REVERB_MIN_DECAY_HFRATIO (0.1f)
337
+ #define AL_REVERB_MAX_DECAY_HFRATIO (2.0f)
338
+ #define AL_REVERB_DEFAULT_DECAY_HFRATIO (0.83f)
339
+
340
+ #define AL_REVERB_MIN_REFLECTIONS_GAIN (0.0f)
341
+ #define AL_REVERB_MAX_REFLECTIONS_GAIN (3.16f)
342
+ #define AL_REVERB_DEFAULT_REFLECTIONS_GAIN (0.05f)
343
+
344
+ #define AL_REVERB_MIN_REFLECTIONS_DELAY (0.0f)
345
+ #define AL_REVERB_MAX_REFLECTIONS_DELAY (0.3f)
346
+ #define AL_REVERB_DEFAULT_REFLECTIONS_DELAY (0.007f)
347
+
348
+ #define AL_REVERB_MIN_LATE_REVERB_GAIN (0.0f)
349
+ #define AL_REVERB_MAX_LATE_REVERB_GAIN (10.0f)
350
+ #define AL_REVERB_DEFAULT_LATE_REVERB_GAIN (1.26f)
351
+
352
+ #define AL_REVERB_MIN_LATE_REVERB_DELAY (0.0f)
353
+ #define AL_REVERB_MAX_LATE_REVERB_DELAY (0.1f)
354
+ #define AL_REVERB_DEFAULT_LATE_REVERB_DELAY (0.011f)
355
+
356
+ #define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f)
357
+ #define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f)
358
+ #define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f)
359
+
360
+ #define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f)
361
+ #define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f)
362
+ #define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f)
363
+
364
+ #define AL_REVERB_MIN_DECAY_HFLIMIT AL_FALSE
365
+ #define AL_REVERB_MAX_DECAY_HFLIMIT AL_TRUE
366
+ #define AL_REVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE
367
+
368
+ /* EAX reverb effect */
369
+ #define AL_EAXREVERB_MIN_DENSITY (0.0f)
370
+ #define AL_EAXREVERB_MAX_DENSITY (1.0f)
371
+ #define AL_EAXREVERB_DEFAULT_DENSITY (1.0f)
372
+
373
+ #define AL_EAXREVERB_MIN_DIFFUSION (0.0f)
374
+ #define AL_EAXREVERB_MAX_DIFFUSION (1.0f)
375
+ #define AL_EAXREVERB_DEFAULT_DIFFUSION (1.0f)
376
+
377
+ #define AL_EAXREVERB_MIN_GAIN (0.0f)
378
+ #define AL_EAXREVERB_MAX_GAIN (1.0f)
379
+ #define AL_EAXREVERB_DEFAULT_GAIN (0.32f)
380
+
381
+ #define AL_EAXREVERB_MIN_GAINHF (0.0f)
382
+ #define AL_EAXREVERB_MAX_GAINHF (1.0f)
383
+ #define AL_EAXREVERB_DEFAULT_GAINHF (0.89f)
384
+
385
+ #define AL_EAXREVERB_MIN_GAINLF (0.0f)
386
+ #define AL_EAXREVERB_MAX_GAINLF (1.0f)
387
+ #define AL_EAXREVERB_DEFAULT_GAINLF (1.0f)
388
+
389
+ #define AL_EAXREVERB_MIN_DECAY_TIME (0.1f)
390
+ #define AL_EAXREVERB_MAX_DECAY_TIME (20.0f)
391
+ #define AL_EAXREVERB_DEFAULT_DECAY_TIME (1.49f)
392
+
393
+ #define AL_EAXREVERB_MIN_DECAY_HFRATIO (0.1f)
394
+ #define AL_EAXREVERB_MAX_DECAY_HFRATIO (2.0f)
395
+ #define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO (0.83f)
396
+
397
+ #define AL_EAXREVERB_MIN_DECAY_LFRATIO (0.1f)
398
+ #define AL_EAXREVERB_MAX_DECAY_LFRATIO (2.0f)
399
+ #define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO (1.0f)
400
+
401
+ #define AL_EAXREVERB_MIN_REFLECTIONS_GAIN (0.0f)
402
+ #define AL_EAXREVERB_MAX_REFLECTIONS_GAIN (3.16f)
403
+ #define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN (0.05f)
404
+
405
+ #define AL_EAXREVERB_MIN_REFLECTIONS_DELAY (0.0f)
406
+ #define AL_EAXREVERB_MAX_REFLECTIONS_DELAY (0.3f)
407
+ #define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY (0.007f)
408
+
409
+ #define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ (0.0f)
410
+
411
+ #define AL_EAXREVERB_MIN_LATE_REVERB_GAIN (0.0f)
412
+ #define AL_EAXREVERB_MAX_LATE_REVERB_GAIN (10.0f)
413
+ #define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN (1.26f)
414
+
415
+ #define AL_EAXREVERB_MIN_LATE_REVERB_DELAY (0.0f)
416
+ #define AL_EAXREVERB_MAX_LATE_REVERB_DELAY (0.1f)
417
+ #define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY (0.011f)
418
+
419
+ #define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ (0.0f)
420
+
421
+ #define AL_EAXREVERB_MIN_ECHO_TIME (0.075f)
422
+ #define AL_EAXREVERB_MAX_ECHO_TIME (0.25f)
423
+ #define AL_EAXREVERB_DEFAULT_ECHO_TIME (0.25f)
424
+
425
+ #define AL_EAXREVERB_MIN_ECHO_DEPTH (0.0f)
426
+ #define AL_EAXREVERB_MAX_ECHO_DEPTH (1.0f)
427
+ #define AL_EAXREVERB_DEFAULT_ECHO_DEPTH (0.0f)
428
+
429
+ #define AL_EAXREVERB_MIN_MODULATION_TIME (0.04f)
430
+ #define AL_EAXREVERB_MAX_MODULATION_TIME (4.0f)
431
+ #define AL_EAXREVERB_DEFAULT_MODULATION_TIME (0.25f)
432
+
433
+ #define AL_EAXREVERB_MIN_MODULATION_DEPTH (0.0f)
434
+ #define AL_EAXREVERB_MAX_MODULATION_DEPTH (1.0f)
435
+ #define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH (0.0f)
436
+
437
+ #define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f)
438
+ #define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f)
439
+ #define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f)
440
+
441
+ #define AL_EAXREVERB_MIN_HFREFERENCE (1000.0f)
442
+ #define AL_EAXREVERB_MAX_HFREFERENCE (20000.0f)
443
+ #define AL_EAXREVERB_DEFAULT_HFREFERENCE (5000.0f)
444
+
445
+ #define AL_EAXREVERB_MIN_LFREFERENCE (20.0f)
446
+ #define AL_EAXREVERB_MAX_LFREFERENCE (1000.0f)
447
+ #define AL_EAXREVERB_DEFAULT_LFREFERENCE (250.0f)
448
+
449
+ #define AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f)
450
+ #define AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f)
451
+ #define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f)
452
+
453
+ #define AL_EAXREVERB_MIN_DECAY_HFLIMIT AL_FALSE
454
+ #define AL_EAXREVERB_MAX_DECAY_HFLIMIT AL_TRUE
455
+ #define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE
456
+
457
+ /* Chorus effect */
458
+ #define AL_CHORUS_WAVEFORM_SINUSOID (0)
459
+ #define AL_CHORUS_WAVEFORM_TRIANGLE (1)
460
+
461
+ #define AL_CHORUS_MIN_WAVEFORM (0)
462
+ #define AL_CHORUS_MAX_WAVEFORM (1)
463
+ #define AL_CHORUS_DEFAULT_WAVEFORM (1)
464
+
465
+ #define AL_CHORUS_MIN_PHASE (-180)
466
+ #define AL_CHORUS_MAX_PHASE (180)
467
+ #define AL_CHORUS_DEFAULT_PHASE (90)
468
+
469
+ #define AL_CHORUS_MIN_RATE (0.0f)
470
+ #define AL_CHORUS_MAX_RATE (10.0f)
471
+ #define AL_CHORUS_DEFAULT_RATE (1.1f)
472
+
473
+ #define AL_CHORUS_MIN_DEPTH (0.0f)
474
+ #define AL_CHORUS_MAX_DEPTH (1.0f)
475
+ #define AL_CHORUS_DEFAULT_DEPTH (0.1f)
476
+
477
+ #define AL_CHORUS_MIN_FEEDBACK (-1.0f)
478
+ #define AL_CHORUS_MAX_FEEDBACK (1.0f)
479
+ #define AL_CHORUS_DEFAULT_FEEDBACK (0.25f)
480
+
481
+ #define AL_CHORUS_MIN_DELAY (0.0f)
482
+ #define AL_CHORUS_MAX_DELAY (0.016f)
483
+ #define AL_CHORUS_DEFAULT_DELAY (0.016f)
484
+
485
+ /* Distortion effect */
486
+ #define AL_DISTORTION_MIN_EDGE (0.0f)
487
+ #define AL_DISTORTION_MAX_EDGE (1.0f)
488
+ #define AL_DISTORTION_DEFAULT_EDGE (0.2f)
489
+
490
+ #define AL_DISTORTION_MIN_GAIN (0.01f)
491
+ #define AL_DISTORTION_MAX_GAIN (1.0f)
492
+ #define AL_DISTORTION_DEFAULT_GAIN (0.05f)
493
+
494
+ #define AL_DISTORTION_MIN_LOWPASS_CUTOFF (80.0f)
495
+ #define AL_DISTORTION_MAX_LOWPASS_CUTOFF (24000.0f)
496
+ #define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF (8000.0f)
497
+
498
+ #define AL_DISTORTION_MIN_EQCENTER (80.0f)
499
+ #define AL_DISTORTION_MAX_EQCENTER (24000.0f)
500
+ #define AL_DISTORTION_DEFAULT_EQCENTER (3600.0f)
501
+
502
+ #define AL_DISTORTION_MIN_EQBANDWIDTH (80.0f)
503
+ #define AL_DISTORTION_MAX_EQBANDWIDTH (24000.0f)
504
+ #define AL_DISTORTION_DEFAULT_EQBANDWIDTH (3600.0f)
505
+
506
+ /* Echo effect */
507
+ #define AL_ECHO_MIN_DELAY (0.0f)
508
+ #define AL_ECHO_MAX_DELAY (0.207f)
509
+ #define AL_ECHO_DEFAULT_DELAY (0.1f)
510
+
511
+ #define AL_ECHO_MIN_LRDELAY (0.0f)
512
+ #define AL_ECHO_MAX_LRDELAY (0.404f)
513
+ #define AL_ECHO_DEFAULT_LRDELAY (0.1f)
514
+
515
+ #define AL_ECHO_MIN_DAMPING (0.0f)
516
+ #define AL_ECHO_MAX_DAMPING (0.99f)
517
+ #define AL_ECHO_DEFAULT_DAMPING (0.5f)
518
+
519
+ #define AL_ECHO_MIN_FEEDBACK (0.0f)
520
+ #define AL_ECHO_MAX_FEEDBACK (1.0f)
521
+ #define AL_ECHO_DEFAULT_FEEDBACK (0.5f)
522
+
523
+ #define AL_ECHO_MIN_SPREAD (-1.0f)
524
+ #define AL_ECHO_MAX_SPREAD (1.0f)
525
+ #define AL_ECHO_DEFAULT_SPREAD (-1.0f)
526
+
527
+ /* Flanger effect */
528
+ #define AL_FLANGER_WAVEFORM_SINUSOID (0)
529
+ #define AL_FLANGER_WAVEFORM_TRIANGLE (1)
530
+
531
+ #define AL_FLANGER_MIN_WAVEFORM (0)
532
+ #define AL_FLANGER_MAX_WAVEFORM (1)
533
+ #define AL_FLANGER_DEFAULT_WAVEFORM (1)
534
+
535
+ #define AL_FLANGER_MIN_PHASE (-180)
536
+ #define AL_FLANGER_MAX_PHASE (180)
537
+ #define AL_FLANGER_DEFAULT_PHASE (0)
538
+
539
+ #define AL_FLANGER_MIN_RATE (0.0f)
540
+ #define AL_FLANGER_MAX_RATE (10.0f)
541
+ #define AL_FLANGER_DEFAULT_RATE (0.27f)
542
+
543
+ #define AL_FLANGER_MIN_DEPTH (0.0f)
544
+ #define AL_FLANGER_MAX_DEPTH (1.0f)
545
+ #define AL_FLANGER_DEFAULT_DEPTH (1.0f)
546
+
547
+ #define AL_FLANGER_MIN_FEEDBACK (-1.0f)
548
+ #define AL_FLANGER_MAX_FEEDBACK (1.0f)
549
+ #define AL_FLANGER_DEFAULT_FEEDBACK (-0.5f)
550
+
551
+ #define AL_FLANGER_MIN_DELAY (0.0f)
552
+ #define AL_FLANGER_MAX_DELAY (0.004f)
553
+ #define AL_FLANGER_DEFAULT_DELAY (0.002f)
554
+
555
+ /* Frequency shifter effect */
556
+ #define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY (0.0f)
557
+ #define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY (24000.0f)
558
+ #define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY (0.0f)
559
+
560
+ #define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION (0)
561
+ #define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION (2)
562
+ #define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION (0)
563
+
564
+ #define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN (0)
565
+ #define AL_FREQUENCY_SHIFTER_DIRECTION_UP (1)
566
+ #define AL_FREQUENCY_SHIFTER_DIRECTION_OFF (2)
567
+
568
+ #define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION (0)
569
+ #define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION (2)
570
+ #define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION (0)
571
+
572
+ /* Vocal morpher effect */
573
+ #define AL_VOCAL_MORPHER_MIN_PHONEMEA (0)
574
+ #define AL_VOCAL_MORPHER_MAX_PHONEMEA (29)
575
+ #define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA (0)
576
+
577
+ #define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24)
578
+ #define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING (24)
579
+ #define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING (0)
580
+
581
+ #define AL_VOCAL_MORPHER_MIN_PHONEMEB (0)
582
+ #define AL_VOCAL_MORPHER_MAX_PHONEMEB (29)
583
+ #define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB (10)
584
+
585
+ #define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24)
586
+ #define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING (24)
587
+ #define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING (0)
588
+
589
+ #define AL_VOCAL_MORPHER_PHONEME_A (0)
590
+ #define AL_VOCAL_MORPHER_PHONEME_E (1)
591
+ #define AL_VOCAL_MORPHER_PHONEME_I (2)
592
+ #define AL_VOCAL_MORPHER_PHONEME_O (3)
593
+ #define AL_VOCAL_MORPHER_PHONEME_U (4)
594
+ #define AL_VOCAL_MORPHER_PHONEME_AA (5)
595
+ #define AL_VOCAL_MORPHER_PHONEME_AE (6)
596
+ #define AL_VOCAL_MORPHER_PHONEME_AH (7)
597
+ #define AL_VOCAL_MORPHER_PHONEME_AO (8)
598
+ #define AL_VOCAL_MORPHER_PHONEME_EH (9)
599
+ #define AL_VOCAL_MORPHER_PHONEME_ER (10)
600
+ #define AL_VOCAL_MORPHER_PHONEME_IH (11)
601
+ #define AL_VOCAL_MORPHER_PHONEME_IY (12)
602
+ #define AL_VOCAL_MORPHER_PHONEME_UH (13)
603
+ #define AL_VOCAL_MORPHER_PHONEME_UW (14)
604
+ #define AL_VOCAL_MORPHER_PHONEME_B (15)
605
+ #define AL_VOCAL_MORPHER_PHONEME_D (16)
606
+ #define AL_VOCAL_MORPHER_PHONEME_F (17)
607
+ #define AL_VOCAL_MORPHER_PHONEME_G (18)
608
+ #define AL_VOCAL_MORPHER_PHONEME_J (19)
609
+ #define AL_VOCAL_MORPHER_PHONEME_K (20)
610
+ #define AL_VOCAL_MORPHER_PHONEME_L (21)
611
+ #define AL_VOCAL_MORPHER_PHONEME_M (22)
612
+ #define AL_VOCAL_MORPHER_PHONEME_N (23)
613
+ #define AL_VOCAL_MORPHER_PHONEME_P (24)
614
+ #define AL_VOCAL_MORPHER_PHONEME_R (25)
615
+ #define AL_VOCAL_MORPHER_PHONEME_S (26)
616
+ #define AL_VOCAL_MORPHER_PHONEME_T (27)
617
+ #define AL_VOCAL_MORPHER_PHONEME_V (28)
618
+ #define AL_VOCAL_MORPHER_PHONEME_Z (29)
619
+
620
+ #define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID (0)
621
+ #define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE (1)
622
+ #define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH (2)
623
+
624
+ #define AL_VOCAL_MORPHER_MIN_WAVEFORM (0)
625
+ #define AL_VOCAL_MORPHER_MAX_WAVEFORM (2)
626
+ #define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM (0)
627
+
628
+ #define AL_VOCAL_MORPHER_MIN_RATE (0.0f)
629
+ #define AL_VOCAL_MORPHER_MAX_RATE (10.0f)
630
+ #define AL_VOCAL_MORPHER_DEFAULT_RATE (1.41f)
631
+
632
+ /* Pitch shifter effect */
633
+ #define AL_PITCH_SHIFTER_MIN_COARSE_TUNE (-12)
634
+ #define AL_PITCH_SHIFTER_MAX_COARSE_TUNE (12)
635
+ #define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE (12)
636
+
637
+ #define AL_PITCH_SHIFTER_MIN_FINE_TUNE (-50)
638
+ #define AL_PITCH_SHIFTER_MAX_FINE_TUNE (50)
639
+ #define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE (0)
640
+
641
+ /* Ring modulator effect */
642
+ #define AL_RING_MODULATOR_MIN_FREQUENCY (0.0f)
643
+ #define AL_RING_MODULATOR_MAX_FREQUENCY (8000.0f)
644
+ #define AL_RING_MODULATOR_DEFAULT_FREQUENCY (440.0f)
645
+
646
+ #define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF (0.0f)
647
+ #define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF (24000.0f)
648
+ #define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF (800.0f)
649
+
650
+ #define AL_RING_MODULATOR_SINUSOID (0)
651
+ #define AL_RING_MODULATOR_SAWTOOTH (1)
652
+ #define AL_RING_MODULATOR_SQUARE (2)
653
+
654
+ #define AL_RING_MODULATOR_MIN_WAVEFORM (0)
655
+ #define AL_RING_MODULATOR_MAX_WAVEFORM (2)
656
+ #define AL_RING_MODULATOR_DEFAULT_WAVEFORM (0)
657
+
658
+ /* Autowah effect */
659
+ #define AL_AUTOWAH_MIN_ATTACK_TIME (0.0001f)
660
+ #define AL_AUTOWAH_MAX_ATTACK_TIME (1.0f)
661
+ #define AL_AUTOWAH_DEFAULT_ATTACK_TIME (0.06f)
662
+
663
+ #define AL_AUTOWAH_MIN_RELEASE_TIME (0.0001f)
664
+ #define AL_AUTOWAH_MAX_RELEASE_TIME (1.0f)
665
+ #define AL_AUTOWAH_DEFAULT_RELEASE_TIME (0.06f)
666
+
667
+ #define AL_AUTOWAH_MIN_RESONANCE (2.0f)
668
+ #define AL_AUTOWAH_MAX_RESONANCE (1000.0f)
669
+ #define AL_AUTOWAH_DEFAULT_RESONANCE (1000.0f)
670
+
671
+ #define AL_AUTOWAH_MIN_PEAK_GAIN (0.00003f)
672
+ #define AL_AUTOWAH_MAX_PEAK_GAIN (31621.0f)
673
+ #define AL_AUTOWAH_DEFAULT_PEAK_GAIN (11.22f)
674
+
675
+ /* Compressor effect */
676
+ #define AL_COMPRESSOR_MIN_ONOFF (0)
677
+ #define AL_COMPRESSOR_MAX_ONOFF (1)
678
+ #define AL_COMPRESSOR_DEFAULT_ONOFF (1)
679
+
680
+ /* Equalizer effect */
681
+ #define AL_EQUALIZER_MIN_LOW_GAIN (0.126f)
682
+ #define AL_EQUALIZER_MAX_LOW_GAIN (7.943f)
683
+ #define AL_EQUALIZER_DEFAULT_LOW_GAIN (1.0f)
684
+
685
+ #define AL_EQUALIZER_MIN_LOW_CUTOFF (50.0f)
686
+ #define AL_EQUALIZER_MAX_LOW_CUTOFF (800.0f)
687
+ #define AL_EQUALIZER_DEFAULT_LOW_CUTOFF (200.0f)
688
+
689
+ #define AL_EQUALIZER_MIN_MID1_GAIN (0.126f)
690
+ #define AL_EQUALIZER_MAX_MID1_GAIN (7.943f)
691
+ #define AL_EQUALIZER_DEFAULT_MID1_GAIN (1.0f)
692
+
693
+ #define AL_EQUALIZER_MIN_MID1_CENTER (200.0f)
694
+ #define AL_EQUALIZER_MAX_MID1_CENTER (3000.0f)
695
+ #define AL_EQUALIZER_DEFAULT_MID1_CENTER (500.0f)
696
+
697
+ #define AL_EQUALIZER_MIN_MID1_WIDTH (0.01f)
698
+ #define AL_EQUALIZER_MAX_MID1_WIDTH (1.0f)
699
+ #define AL_EQUALIZER_DEFAULT_MID1_WIDTH (1.0f)
700
+
701
+ #define AL_EQUALIZER_MIN_MID2_GAIN (0.126f)
702
+ #define AL_EQUALIZER_MAX_MID2_GAIN (7.943f)
703
+ #define AL_EQUALIZER_DEFAULT_MID2_GAIN (1.0f)
704
+
705
+ #define AL_EQUALIZER_MIN_MID2_CENTER (1000.0f)
706
+ #define AL_EQUALIZER_MAX_MID2_CENTER (8000.0f)
707
+ #define AL_EQUALIZER_DEFAULT_MID2_CENTER (3000.0f)
708
+
709
+ #define AL_EQUALIZER_MIN_MID2_WIDTH (0.01f)
710
+ #define AL_EQUALIZER_MAX_MID2_WIDTH (1.0f)
711
+ #define AL_EQUALIZER_DEFAULT_MID2_WIDTH (1.0f)
712
+
713
+ #define AL_EQUALIZER_MIN_HIGH_GAIN (0.126f)
714
+ #define AL_EQUALIZER_MAX_HIGH_GAIN (7.943f)
715
+ #define AL_EQUALIZER_DEFAULT_HIGH_GAIN (1.0f)
716
+
717
+ #define AL_EQUALIZER_MIN_HIGH_CUTOFF (4000.0f)
718
+ #define AL_EQUALIZER_MAX_HIGH_CUTOFF (16000.0f)
719
+ #define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF (6000.0f)
720
+
721
+
722
+ /* Source parameter value ranges and defaults. */
723
+ #define AL_MIN_AIR_ABSORPTION_FACTOR (0.0f)
724
+ #define AL_MAX_AIR_ABSORPTION_FACTOR (10.0f)
725
+ #define AL_DEFAULT_AIR_ABSORPTION_FACTOR (0.0f)
726
+
727
+ #define AL_MIN_ROOM_ROLLOFF_FACTOR (0.0f)
728
+ #define AL_MAX_ROOM_ROLLOFF_FACTOR (10.0f)
729
+ #define AL_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f)
730
+
731
+ #define AL_MIN_CONE_OUTER_GAINHF (0.0f)
732
+ #define AL_MAX_CONE_OUTER_GAINHF (1.0f)
733
+ #define AL_DEFAULT_CONE_OUTER_GAINHF (1.0f)
734
+
735
+ #define AL_MIN_DIRECT_FILTER_GAINHF_AUTO AL_FALSE
736
+ #define AL_MAX_DIRECT_FILTER_GAINHF_AUTO AL_TRUE
737
+ #define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO AL_TRUE
738
+
739
+ #define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_FALSE
740
+ #define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE
741
+ #define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE
742
+
743
+ #define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE
744
+ #define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
745
+ #define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
746
+
747
+
748
+ /* Listener parameter value ranges and defaults. */
749
+ #define AL_MIN_METERS_PER_UNIT FLT_MIN
750
+ #define AL_MAX_METERS_PER_UNIT FLT_MAX
751
+ #define AL_DEFAULT_METERS_PER_UNIT (1.0f)
752
+
753
+
754
+ #ifdef __cplusplus
755
+ } /* extern "C" */
756
+ #endif
757
+
758
+ #endif /* AL_EFX_H */