gosu 0.15.2 → 1.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. checksums.yaml +4 -4
  2. data/dependencies/SDL/include/SDL.h +138 -0
  3. data/dependencies/SDL/include/SDL_assert.h +293 -0
  4. data/dependencies/SDL/include/SDL_atomic.h +295 -0
  5. data/dependencies/SDL/include/SDL_audio.h +859 -0
  6. data/dependencies/SDL/include/SDL_bits.h +121 -0
  7. data/dependencies/SDL/include/SDL_blendmode.h +123 -0
  8. data/dependencies/SDL/include/SDL_clipboard.h +71 -0
  9. data/dependencies/SDL/include/SDL_config.h +55 -0
  10. data/dependencies/SDL/include/SDL_config_android.h +182 -0
  11. data/dependencies/SDL/include/SDL_config_iphoneos.h +207 -0
  12. data/dependencies/SDL/include/SDL_config_macosx.h +266 -0
  13. data/dependencies/SDL/include/SDL_config_minimal.h +85 -0
  14. data/dependencies/SDL/include/SDL_config_os2.h +188 -0
  15. data/dependencies/SDL/include/SDL_config_pandora.h +135 -0
  16. data/dependencies/SDL/include/SDL_config_psp.h +165 -0
  17. data/dependencies/SDL/include/SDL_config_windows.h +288 -0
  18. data/dependencies/SDL/include/SDL_config_winrt.h +243 -0
  19. data/dependencies/SDL/include/SDL_config_wiz.h +149 -0
  20. data/dependencies/SDL/include/SDL_copying.h +20 -0
  21. data/dependencies/SDL/include/SDL_cpuinfo.h +299 -0
  22. data/dependencies/SDL/include/SDL_egl.h +1676 -0
  23. data/dependencies/SDL/include/SDL_endian.h +263 -0
  24. data/dependencies/SDL/include/SDL_error.h +112 -0
  25. data/dependencies/SDL/include/SDL_events.h +827 -0
  26. data/dependencies/SDL/include/SDL_filesystem.h +136 -0
  27. data/dependencies/SDL/include/SDL_gamecontroller.h +541 -0
  28. data/dependencies/SDL/include/SDL_gesture.h +87 -0
  29. data/dependencies/SDL/include/SDL_haptic.h +1247 -0
  30. data/dependencies/SDL/include/SDL_hints.h +1578 -0
  31. data/dependencies/SDL/include/SDL_joystick.h +499 -0
  32. data/dependencies/SDL/include/SDL_keyboard.h +217 -0
  33. data/dependencies/SDL/include/SDL_keycode.h +351 -0
  34. data/dependencies/SDL/include/SDL_loadso.h +81 -0
  35. data/dependencies/SDL/include/SDL_locale.h +101 -0
  36. data/dependencies/SDL/include/SDL_log.h +211 -0
  37. data/dependencies/SDL/include/SDL_main.h +180 -0
  38. data/dependencies/SDL/include/SDL_messagebox.h +146 -0
  39. data/dependencies/SDL/include/SDL_metal.h +117 -0
  40. data/dependencies/SDL/include/SDL_misc.h +75 -0
  41. data/dependencies/SDL/include/SDL_mouse.h +302 -0
  42. data/dependencies/SDL/include/SDL_mutex.h +251 -0
  43. data/dependencies/SDL/include/SDL_name.h +33 -0
  44. data/dependencies/SDL/include/SDL_opengl.h +2183 -0
  45. data/dependencies/SDL/include/SDL_opengl_glext.h +11180 -0
  46. data/dependencies/SDL/include/SDL_opengles.h +39 -0
  47. data/dependencies/SDL/include/SDL_opengles2.h +52 -0
  48. data/dependencies/SDL/include/SDL_opengles2_gl2.h +621 -0
  49. data/dependencies/SDL/include/SDL_opengles2_gl2ext.h +2050 -0
  50. data/dependencies/SDL/include/SDL_opengles2_gl2platform.h +30 -0
  51. data/dependencies/SDL/include/SDL_opengles2_khrplatform.h +282 -0
  52. data/dependencies/SDL/include/SDL_pixels.h +479 -0
  53. data/dependencies/SDL/include/SDL_platform.h +198 -0
  54. data/dependencies/SDL/include/SDL_power.h +75 -0
  55. data/dependencies/SDL/include/SDL_quit.h +58 -0
  56. data/dependencies/SDL/include/SDL_rect.h +174 -0
  57. data/dependencies/SDL/include/SDL_render.h +1158 -0
  58. data/dependencies/SDL/include/SDL_revision.h +2 -0
  59. data/dependencies/SDL/include/SDL_rwops.h +283 -0
  60. data/dependencies/SDL/include/SDL_scancode.h +413 -0
  61. data/dependencies/SDL/include/SDL_sensor.h +267 -0
  62. data/dependencies/SDL/include/SDL_shape.h +144 -0
  63. data/dependencies/SDL/include/SDL_stdinc.h +647 -0
  64. data/dependencies/SDL/include/SDL_surface.h +563 -0
  65. data/dependencies/SDL/include/SDL_system.h +325 -0
  66. data/dependencies/SDL/include/SDL_syswm.h +354 -0
  67. data/dependencies/SDL/include/SDL_test.h +69 -0
  68. data/dependencies/SDL/include/SDL_test_assert.h +105 -0
  69. data/dependencies/SDL/include/SDL_test_common.h +218 -0
  70. data/dependencies/SDL/include/SDL_test_compare.h +69 -0
  71. data/dependencies/SDL/include/SDL_test_crc32.h +124 -0
  72. data/dependencies/SDL/include/SDL_test_font.h +81 -0
  73. data/dependencies/SDL/include/SDL_test_fuzzer.h +384 -0
  74. data/dependencies/SDL/include/SDL_test_harness.h +134 -0
  75. data/dependencies/SDL/include/SDL_test_images.h +78 -0
  76. data/dependencies/SDL/include/SDL_test_log.h +67 -0
  77. data/dependencies/SDL/include/SDL_test_md5.h +129 -0
  78. data/dependencies/SDL/include/SDL_test_memory.h +63 -0
  79. data/dependencies/SDL/include/SDL_test_random.h +115 -0
  80. data/dependencies/SDL/include/SDL_thread.h +366 -0
  81. data/dependencies/SDL/include/SDL_timer.h +115 -0
  82. data/dependencies/SDL/include/SDL_touch.h +102 -0
  83. data/dependencies/SDL/include/SDL_types.h +29 -0
  84. data/dependencies/SDL/include/SDL_version.h +162 -0
  85. data/dependencies/SDL/include/SDL_video.h +1282 -0
  86. data/dependencies/SDL/include/SDL_vulkan.h +276 -0
  87. data/dependencies/SDL/include/begin_code.h +166 -0
  88. data/dependencies/SDL/include/close_code.h +40 -0
  89. data/dependencies/SDL/lib/x64/libSDL2.dll.a +0 -0
  90. data/dependencies/SDL/lib/x86/libSDL2.dll.a +0 -0
  91. data/dependencies/SDL_sound/SDL_sound.c +795 -0
  92. data/dependencies/SDL_sound/SDL_sound.h +725 -0
  93. data/dependencies/SDL_sound/SDL_sound_aiff.c +537 -0
  94. data/dependencies/SDL_sound/SDL_sound_au.c +352 -0
  95. data/dependencies/SDL_sound/SDL_sound_coreaudio.c +747 -0
  96. data/dependencies/SDL_sound/SDL_sound_flac.c +182 -0
  97. data/dependencies/SDL_sound/SDL_sound_internal.h +304 -0
  98. data/dependencies/SDL_sound/SDL_sound_modplug.c +228 -0
  99. data/dependencies/SDL_sound/SDL_sound_mp3.c +184 -0
  100. data/dependencies/SDL_sound/SDL_sound_raw.c +164 -0
  101. data/dependencies/SDL_sound/SDL_sound_shn.c +1309 -0
  102. data/dependencies/SDL_sound/SDL_sound_voc.c +550 -0
  103. data/dependencies/SDL_sound/SDL_sound_vorbis.c +223 -0
  104. data/dependencies/SDL_sound/SDL_sound_wav.c +783 -0
  105. data/dependencies/SDL_sound/dr_flac.h +5906 -0
  106. data/dependencies/SDL_sound/dr_mp3.h +2832 -0
  107. data/dependencies/SDL_sound/libmodplug/fastmix.c +1748 -0
  108. data/dependencies/SDL_sound/libmodplug/libmodplug.h +1001 -0
  109. data/dependencies/SDL_sound/libmodplug/load_669.c +188 -0
  110. data/dependencies/SDL_sound/libmodplug/load_abc.c +4725 -0
  111. data/dependencies/SDL_sound/libmodplug/load_amf.c +403 -0
  112. data/dependencies/SDL_sound/libmodplug/load_ams.c +587 -0
  113. data/dependencies/SDL_sound/libmodplug/load_dbm.c +357 -0
  114. data/dependencies/SDL_sound/libmodplug/load_dmf.c +531 -0
  115. data/dependencies/SDL_sound/libmodplug/load_dsm.c +232 -0
  116. data/dependencies/SDL_sound/libmodplug/load_far.c +253 -0
  117. data/dependencies/SDL_sound/libmodplug/load_it.c +796 -0
  118. data/dependencies/SDL_sound/libmodplug/load_mdl.c +488 -0
  119. data/dependencies/SDL_sound/libmodplug/load_med.c +757 -0
  120. data/dependencies/SDL_sound/libmodplug/load_mid.c +1405 -0
  121. data/dependencies/SDL_sound/libmodplug/load_mod.c +269 -0
  122. data/dependencies/SDL_sound/libmodplug/load_mt2.c +546 -0
  123. data/dependencies/SDL_sound/libmodplug/load_mtm.c +142 -0
  124. data/dependencies/SDL_sound/libmodplug/load_okt.c +192 -0
  125. data/dependencies/SDL_sound/libmodplug/load_pat.c +1143 -0
  126. data/dependencies/SDL_sound/libmodplug/load_pat.h +25 -0
  127. data/dependencies/SDL_sound/libmodplug/load_psm.c +350 -0
  128. data/dependencies/SDL_sound/libmodplug/load_ptm.c +204 -0
  129. data/dependencies/SDL_sound/libmodplug/load_s3m.c +325 -0
  130. data/dependencies/SDL_sound/libmodplug/load_stm.c +180 -0
  131. data/dependencies/SDL_sound/libmodplug/load_ult.c +206 -0
  132. data/dependencies/SDL_sound/libmodplug/load_umx.c +51 -0
  133. data/dependencies/SDL_sound/libmodplug/load_xm.c +554 -0
  134. data/dependencies/SDL_sound/libmodplug/mmcmp.c +382 -0
  135. data/dependencies/SDL_sound/libmodplug/modplug.c +170 -0
  136. data/dependencies/SDL_sound/libmodplug/modplug.h +90 -0
  137. data/dependencies/SDL_sound/libmodplug/snd_dsp.c +301 -0
  138. data/dependencies/SDL_sound/libmodplug/snd_flt.c +63 -0
  139. data/dependencies/SDL_sound/libmodplug/snd_fx.c +2350 -0
  140. data/dependencies/SDL_sound/libmodplug/sndfile.c +1169 -0
  141. data/dependencies/SDL_sound/libmodplug/sndmix.c +1034 -0
  142. data/dependencies/SDL_sound/libmodplug/tables.h +371 -0
  143. data/{src/stb_vorbis.c → dependencies/SDL_sound/stb_vorbis.h} +143 -78
  144. data/dependencies/al_soft/AL/al.h +655 -0
  145. data/dependencies/al_soft/AL/alc.h +270 -0
  146. data/dependencies/al_soft/AL/alext.h +585 -0
  147. data/dependencies/al_soft/AL/efx-creative.h +3 -0
  148. data/dependencies/al_soft/AL/efx-presets.h +402 -0
  149. data/dependencies/al_soft/AL/efx.h +762 -0
  150. data/dependencies/al_soft/x64/libOpenAL32.dll.a +0 -0
  151. data/dependencies/al_soft/x86/libOpenAL32.dll.a +0 -0
  152. data/{src → dependencies/stb}/stb_image.h +330 -127
  153. data/{src → dependencies/stb}/stb_image_write.h +156 -85
  154. data/{src → dependencies/stb}/stb_truetype.h +192 -69
  155. data/{src → dependencies/utf8proc}/utf8proc.c +0 -0
  156. data/{src → dependencies/utf8proc}/utf8proc.h +0 -0
  157. data/{src → dependencies/utf8proc}/utf8proc_data.h +0 -0
  158. data/ext/gosu/extconf.rb +56 -22
  159. data/{Gosu → include/Gosu}/Audio.hpp +6 -8
  160. data/{Gosu → include/Gosu}/AutoLink.hpp +0 -0
  161. data/include/Gosu/Bitmap.hpp +100 -0
  162. data/{Gosu → include/Gosu}/Buttons.hpp +94 -35
  163. data/{Gosu → include/Gosu}/Channel.h +0 -0
  164. data/{Gosu → include/Gosu}/Color.h +0 -0
  165. data/{Gosu → include/Gosu}/Color.hpp +0 -0
  166. data/{Gosu → include/Gosu}/Directories.hpp +0 -0
  167. data/{Gosu → include/Gosu}/Font.h +0 -0
  168. data/{Gosu → include/Gosu}/Font.hpp +0 -0
  169. data/{Gosu → include/Gosu}/Fwd.hpp +0 -0
  170. data/{Gosu → include/Gosu}/Gosu.h +3 -0
  171. data/{Gosu → include/Gosu}/Gosu.hpp +0 -0
  172. data/{Gosu → include/Gosu}/Graphics.hpp +0 -0
  173. data/{Gosu → include/Gosu}/GraphicsBase.hpp +0 -0
  174. data/{Gosu → include/Gosu}/IO.hpp +0 -0
  175. data/{Gosu → include/Gosu}/Image.h +0 -0
  176. data/{Gosu → include/Gosu}/Image.hpp +7 -6
  177. data/{Gosu → include/Gosu}/ImageData.hpp +0 -0
  178. data/{Gosu → include/Gosu}/Input.hpp +30 -15
  179. data/{Gosu → include/Gosu}/Inspection.hpp +0 -0
  180. data/{Gosu → include/Gosu}/Math.hpp +0 -0
  181. data/{Gosu → include/Gosu}/Platform.hpp +0 -0
  182. data/{Gosu → include/Gosu}/Sample.h +0 -0
  183. data/{Gosu → include/Gosu}/Song.h +0 -0
  184. data/{Gosu → include/Gosu}/Text.hpp +0 -0
  185. data/{Gosu → include/Gosu}/TextInput.h +0 -0
  186. data/{Gosu → include/Gosu}/TextInput.hpp +0 -0
  187. data/{Gosu → include/Gosu}/Timing.hpp +0 -0
  188. data/{Gosu → include/Gosu}/Utility.hpp +1 -1
  189. data/{Gosu → include/Gosu}/Version.hpp +0 -0
  190. data/{Gosu → include/Gosu}/Window.h +2 -0
  191. data/{Gosu → include/Gosu}/Window.hpp +21 -13
  192. data/lib/OpenAL32.dll +0 -0
  193. data/lib/SDL2.dll +0 -0
  194. data/lib/gosu.rb +0 -3
  195. data/lib/gosu/patches.rb +0 -9
  196. data/lib/gosu/swig_patches.rb +3 -2
  197. data/lib/libmpg123.dll +0 -0
  198. data/lib/libsndfile.dll +0 -0
  199. data/lib64/OpenAL32.dll +0 -0
  200. data/lib64/SDL2.dll +0 -0
  201. data/lib64/libmpg123.dll +0 -0
  202. data/lib64/libsndfile.dll +0 -0
  203. data/rdoc/gosu.rb +95 -20
  204. data/src/Audio.cpp +50 -224
  205. data/src/AudioFile.hpp +17 -37
  206. data/src/AudioFileAudioToolbox.cpp +237 -0
  207. data/src/AudioFileSDLSound.cpp +147 -0
  208. data/src/AudioImpl.cpp +3 -12
  209. data/src/AudioImpl.hpp +3 -1
  210. data/src/Bitmap.cpp +85 -83
  211. data/src/BitmapIO.cpp +52 -58
  212. data/src/Constants.cpp +80 -33
  213. data/src/Font.cpp +3 -1
  214. data/src/GosuWrapper.cpp +19 -0
  215. data/src/Graphics.cpp +7 -4
  216. data/src/Image.cpp +13 -16
  217. data/src/Input.cpp +408 -159
  218. data/src/LargeImageData.cpp +1 -1
  219. data/src/MarkupParser.cpp +2 -1
  220. data/src/RubyGosu.cxx +349 -83
  221. data/src/RubyGosu.h +4 -2
  222. data/src/TexChunk.cpp +1 -1
  223. data/src/TextBuilder.cpp +3 -1
  224. data/src/Texture.cpp +1 -1
  225. data/src/TrueTypeFont.cpp +1 -1
  226. data/src/Utility.cpp +11 -7
  227. data/src/Window.cpp +30 -39
  228. data/src/WindowWrapper.cpp +28 -0
  229. metadata +207 -52
  230. data/Gosu/Bitmap.hpp +0 -113
  231. data/src/AudioToolboxFile.hpp +0 -210
  232. data/src/OggFile.hpp +0 -92
  233. data/src/SndFile.hpp +0 -174
  234. data/src/WinMain.cpp +0 -64
@@ -0,0 +1,655 @@
1
+ #ifndef AL_AL_H
2
+ #define AL_AL_H
3
+
4
+ #if defined(__cplusplus)
5
+ extern "C" {
6
+ #endif
7
+
8
+ #ifndef AL_API
9
+ #if defined(AL_LIBTYPE_STATIC)
10
+ #define AL_API
11
+ #elif defined(_WIN32)
12
+ #define AL_API __declspec(dllimport)
13
+ #else
14
+ #define AL_API extern
15
+ #endif
16
+ #endif
17
+
18
+ #if defined(_WIN32)
19
+ #define AL_APIENTRY __cdecl
20
+ #else
21
+ #define AL_APIENTRY
22
+ #endif
23
+
24
+
25
+ /* Deprecated macros. */
26
+ #define OPENAL
27
+ #define ALAPI AL_API
28
+ #define ALAPIENTRY AL_APIENTRY
29
+ #define AL_INVALID (-1)
30
+ #define AL_ILLEGAL_ENUM AL_INVALID_ENUM
31
+ #define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION
32
+
33
+ /* Supported AL versions. */
34
+ #define AL_VERSION_1_0
35
+ #define AL_VERSION_1_1
36
+
37
+ /** 8-bit boolean */
38
+ typedef char ALboolean;
39
+
40
+ /** character */
41
+ typedef char ALchar;
42
+
43
+ /** signed 8-bit 2's complement integer */
44
+ typedef signed char ALbyte;
45
+
46
+ /** unsigned 8-bit integer */
47
+ typedef unsigned char ALubyte;
48
+
49
+ /** signed 16-bit 2's complement integer */
50
+ typedef short ALshort;
51
+
52
+ /** unsigned 16-bit integer */
53
+ typedef unsigned short ALushort;
54
+
55
+ /** signed 32-bit 2's complement integer */
56
+ typedef int ALint;
57
+
58
+ /** unsigned 32-bit integer */
59
+ typedef unsigned int ALuint;
60
+
61
+ /** non-negative 32-bit binary integer size */
62
+ typedef int ALsizei;
63
+
64
+ /** enumerated 32-bit value */
65
+ typedef int ALenum;
66
+
67
+ /** 32-bit IEEE754 floating-point */
68
+ typedef float ALfloat;
69
+
70
+ /** 64-bit IEEE754 floating-point */
71
+ typedef double ALdouble;
72
+
73
+ /** void type (for opaque pointers only) */
74
+ typedef void ALvoid;
75
+
76
+
77
+ /* Enumerant values begin at column 50. No tabs. */
78
+
79
+ /** "no distance model" or "no buffer" */
80
+ #define AL_NONE 0
81
+
82
+ /** Boolean False. */
83
+ #define AL_FALSE 0
84
+
85
+ /** Boolean True. */
86
+ #define AL_TRUE 1
87
+
88
+
89
+ /**
90
+ * Relative source.
91
+ * Type: ALboolean
92
+ * Range: [AL_TRUE, AL_FALSE]
93
+ * Default: AL_FALSE
94
+ *
95
+ * Specifies if the Source has relative coordinates.
96
+ */
97
+ #define AL_SOURCE_RELATIVE 0x202
98
+
99
+
100
+ /**
101
+ * Inner cone angle, in degrees.
102
+ * Type: ALint, ALfloat
103
+ * Range: [0 - 360]
104
+ * Default: 360
105
+ *
106
+ * The angle covered by the inner cone, where the source will not attenuate.
107
+ */
108
+ #define AL_CONE_INNER_ANGLE 0x1001
109
+
110
+ /**
111
+ * Outer cone angle, in degrees.
112
+ * Range: [0 - 360]
113
+ * Default: 360
114
+ *
115
+ * The angle covered by the outer cone, where the source will be fully
116
+ * attenuated.
117
+ */
118
+ #define AL_CONE_OUTER_ANGLE 0x1002
119
+
120
+ /**
121
+ * Source pitch.
122
+ * Type: ALfloat
123
+ * Range: [0.5 - 2.0]
124
+ * Default: 1.0
125
+ *
126
+ * A multiplier for the frequency (sample rate) of the source's buffer.
127
+ */
128
+ #define AL_PITCH 0x1003
129
+
130
+ /**
131
+ * Source or listener position.
132
+ * Type: ALfloat[3], ALint[3]
133
+ * Default: {0, 0, 0}
134
+ *
135
+ * The source or listener location in three dimensional space.
136
+ *
137
+ * OpenAL, like OpenGL, uses a right handed coordinate system, where in a
138
+ * frontal default view X (thumb) points right, Y points up (index finger), and
139
+ * Z points towards the viewer/camera (middle finger).
140
+ *
141
+ * To switch from a left handed coordinate system, flip the sign on the Z
142
+ * coordinate.
143
+ */
144
+ #define AL_POSITION 0x1004
145
+
146
+ /**
147
+ * Source direction.
148
+ * Type: ALfloat[3], ALint[3]
149
+ * Default: {0, 0, 0}
150
+ *
151
+ * Specifies the current direction in local space.
152
+ * A zero-length vector specifies an omni-directional source (cone is ignored).
153
+ */
154
+ #define AL_DIRECTION 0x1005
155
+
156
+ /**
157
+ * Source or listener velocity.
158
+ * Type: ALfloat[3], ALint[3]
159
+ * Default: {0, 0, 0}
160
+ *
161
+ * Specifies the current velocity in local space.
162
+ */
163
+ #define AL_VELOCITY 0x1006
164
+
165
+ /**
166
+ * Source looping.
167
+ * Type: ALboolean
168
+ * Range: [AL_TRUE, AL_FALSE]
169
+ * Default: AL_FALSE
170
+ *
171
+ * Specifies whether source is looping.
172
+ */
173
+ #define AL_LOOPING 0x1007
174
+
175
+ /**
176
+ * Source buffer.
177
+ * Type: ALuint
178
+ * Range: any valid Buffer.
179
+ *
180
+ * Specifies the buffer to provide sound samples.
181
+ */
182
+ #define AL_BUFFER 0x1009
183
+
184
+ /**
185
+ * Source or listener gain.
186
+ * Type: ALfloat
187
+ * Range: [0.0 - ]
188
+ *
189
+ * A value of 1.0 means unattenuated. Each division by 2 equals an attenuation
190
+ * of about -6dB. Each multiplicaton by 2 equals an amplification of about
191
+ * +6dB.
192
+ *
193
+ * A value of 0.0 is meaningless with respect to a logarithmic scale; it is
194
+ * silent.
195
+ */
196
+ #define AL_GAIN 0x100A
197
+
198
+ /**
199
+ * Minimum source gain.
200
+ * Type: ALfloat
201
+ * Range: [0.0 - 1.0]
202
+ *
203
+ * The minimum gain allowed for a source, after distance and cone attenation is
204
+ * applied (if applicable).
205
+ */
206
+ #define AL_MIN_GAIN 0x100D
207
+
208
+ /**
209
+ * Maximum source gain.
210
+ * Type: ALfloat
211
+ * Range: [0.0 - 1.0]
212
+ *
213
+ * The maximum gain allowed for a source, after distance and cone attenation is
214
+ * applied (if applicable).
215
+ */
216
+ #define AL_MAX_GAIN 0x100E
217
+
218
+ /**
219
+ * Listener orientation.
220
+ * Type: ALfloat[6]
221
+ * Default: {0.0, 0.0, -1.0, 0.0, 1.0, 0.0}
222
+ *
223
+ * Effectively two three dimensional vectors. The first vector is the front (or
224
+ * "at") and the second is the top (or "up").
225
+ *
226
+ * Both vectors are in local space.
227
+ */
228
+ #define AL_ORIENTATION 0x100F
229
+
230
+ /**
231
+ * Source state (query only).
232
+ * Type: ALint
233
+ * Range: [AL_INITIAL, AL_PLAYING, AL_PAUSED, AL_STOPPED]
234
+ */
235
+ #define AL_SOURCE_STATE 0x1010
236
+
237
+ /* Source state values. */
238
+ #define AL_INITIAL 0x1011
239
+ #define AL_PLAYING 0x1012
240
+ #define AL_PAUSED 0x1013
241
+ #define AL_STOPPED 0x1014
242
+
243
+ /**
244
+ * Source Buffer Queue size (query only).
245
+ * Type: ALint
246
+ *
247
+ * The number of buffers queued using alSourceQueueBuffers, minus the buffers
248
+ * removed with alSourceUnqueueBuffers.
249
+ */
250
+ #define AL_BUFFERS_QUEUED 0x1015
251
+
252
+ /**
253
+ * Source Buffer Queue processed count (query only).
254
+ * Type: ALint
255
+ *
256
+ * The number of queued buffers that have been fully processed, and can be
257
+ * removed with alSourceUnqueueBuffers.
258
+ *
259
+ * Looping sources will never fully process buffers because they will be set to
260
+ * play again for when the source loops.
261
+ */
262
+ #define AL_BUFFERS_PROCESSED 0x1016
263
+
264
+ /**
265
+ * Source reference distance.
266
+ * Type: ALfloat
267
+ * Range: [0.0 - ]
268
+ * Default: 1.0
269
+ *
270
+ * The distance in units that no attenuation occurs.
271
+ *
272
+ * At 0.0, no distance attenuation ever occurs on non-linear attenuation models.
273
+ */
274
+ #define AL_REFERENCE_DISTANCE 0x1020
275
+
276
+ /**
277
+ * Source rolloff factor.
278
+ * Type: ALfloat
279
+ * Range: [0.0 - ]
280
+ * Default: 1.0
281
+ *
282
+ * Multiplier to exaggerate or diminish distance attenuation.
283
+ *
284
+ * At 0.0, no distance attenuation ever occurs.
285
+ */
286
+ #define AL_ROLLOFF_FACTOR 0x1021
287
+
288
+ /**
289
+ * Outer cone gain.
290
+ * Type: ALfloat
291
+ * Range: [0.0 - 1.0]
292
+ * Default: 0.0
293
+ *
294
+ * The gain attenuation applied when the listener is outside of the source's
295
+ * outer cone.
296
+ */
297
+ #define AL_CONE_OUTER_GAIN 0x1022
298
+
299
+ /**
300
+ * Source maximum distance.
301
+ * Type: ALfloat
302
+ * Range: [0.0 - ]
303
+ * Default: FLT_MAX
304
+ *
305
+ * The distance above which the source is not attenuated any further with a
306
+ * clamped distance model, or where attenuation reaches 0.0 gain for linear
307
+ * distance models with a default rolloff factor.
308
+ */
309
+ #define AL_MAX_DISTANCE 0x1023
310
+
311
+ /** Source buffer position, in seconds */
312
+ #define AL_SEC_OFFSET 0x1024
313
+ /** Source buffer position, in sample frames */
314
+ #define AL_SAMPLE_OFFSET 0x1025
315
+ /** Source buffer position, in bytes */
316
+ #define AL_BYTE_OFFSET 0x1026
317
+
318
+ /**
319
+ * Source type (query only).
320
+ * Type: ALint
321
+ * Range: [AL_STATIC, AL_STREAMING, AL_UNDETERMINED]
322
+ *
323
+ * A Source is Static if a Buffer has been attached using AL_BUFFER.
324
+ *
325
+ * A Source is Streaming if one or more Buffers have been attached using
326
+ * alSourceQueueBuffers.
327
+ *
328
+ * A Source is Undetermined when it has the NULL buffer attached using
329
+ * AL_BUFFER.
330
+ */
331
+ #define AL_SOURCE_TYPE 0x1027
332
+
333
+ /* Source type values. */
334
+ #define AL_STATIC 0x1028
335
+ #define AL_STREAMING 0x1029
336
+ #define AL_UNDETERMINED 0x1030
337
+
338
+ /** Unsigned 8-bit mono buffer format. */
339
+ #define AL_FORMAT_MONO8 0x1100
340
+ /** Signed 16-bit mono buffer format. */
341
+ #define AL_FORMAT_MONO16 0x1101
342
+ /** Unsigned 8-bit stereo buffer format. */
343
+ #define AL_FORMAT_STEREO8 0x1102
344
+ /** Signed 16-bit stereo buffer format. */
345
+ #define AL_FORMAT_STEREO16 0x1103
346
+
347
+ /** Buffer frequency (query only). */
348
+ #define AL_FREQUENCY 0x2001
349
+ /** Buffer bits per sample (query only). */
350
+ #define AL_BITS 0x2002
351
+ /** Buffer channel count (query only). */
352
+ #define AL_CHANNELS 0x2003
353
+ /** Buffer data size (query only). */
354
+ #define AL_SIZE 0x2004
355
+
356
+ /* Buffer state. Not for public use. */
357
+ #define AL_UNUSED 0x2010
358
+ #define AL_PENDING 0x2011
359
+ #define AL_PROCESSED 0x2012
360
+
361
+
362
+ /** No error. */
363
+ #define AL_NO_ERROR 0
364
+
365
+ /** Invalid name paramater passed to AL call. */
366
+ #define AL_INVALID_NAME 0xA001
367
+
368
+ /** Invalid enum parameter passed to AL call. */
369
+ #define AL_INVALID_ENUM 0xA002
370
+
371
+ /** Invalid value parameter passed to AL call. */
372
+ #define AL_INVALID_VALUE 0xA003
373
+
374
+ /** Illegal AL call. */
375
+ #define AL_INVALID_OPERATION 0xA004
376
+
377
+ /** Not enough memory. */
378
+ #define AL_OUT_OF_MEMORY 0xA005
379
+
380
+
381
+ /** Context string: Vendor ID. */
382
+ #define AL_VENDOR 0xB001
383
+ /** Context string: Version. */
384
+ #define AL_VERSION 0xB002
385
+ /** Context string: Renderer ID. */
386
+ #define AL_RENDERER 0xB003
387
+ /** Context string: Space-separated extension list. */
388
+ #define AL_EXTENSIONS 0xB004
389
+
390
+
391
+ /**
392
+ * Doppler scale.
393
+ * Type: ALfloat
394
+ * Range: [0.0 - ]
395
+ * Default: 1.0
396
+ *
397
+ * Scale for source and listener velocities.
398
+ */
399
+ #define AL_DOPPLER_FACTOR 0xC000
400
+ AL_API void AL_APIENTRY alDopplerFactor(ALfloat value);
401
+
402
+ /**
403
+ * Doppler velocity (deprecated).
404
+ *
405
+ * A multiplier applied to the Speed of Sound.
406
+ */
407
+ #define AL_DOPPLER_VELOCITY 0xC001
408
+ AL_API void AL_APIENTRY alDopplerVelocity(ALfloat value);
409
+
410
+ /**
411
+ * Speed of Sound, in units per second.
412
+ * Type: ALfloat
413
+ * Range: [0.0001 - ]
414
+ * Default: 343.3
415
+ *
416
+ * The speed at which sound waves are assumed to travel, when calculating the
417
+ * doppler effect.
418
+ */
419
+ #define AL_SPEED_OF_SOUND 0xC003
420
+ AL_API void AL_APIENTRY alSpeedOfSound(ALfloat value);
421
+
422
+ /**
423
+ * Distance attenuation model.
424
+ * Type: ALint
425
+ * Range: [AL_NONE, AL_INVERSE_DISTANCE, AL_INVERSE_DISTANCE_CLAMPED,
426
+ * AL_LINEAR_DISTANCE, AL_LINEAR_DISTANCE_CLAMPED,
427
+ * AL_EXPONENT_DISTANCE, AL_EXPONENT_DISTANCE_CLAMPED]
428
+ * Default: AL_INVERSE_DISTANCE_CLAMPED
429
+ *
430
+ * The model by which sources attenuate with distance.
431
+ *
432
+ * None - No distance attenuation.
433
+ * Inverse - Doubling the distance halves the source gain.
434
+ * Linear - Linear gain scaling between the reference and max distances.
435
+ * Exponent - Exponential gain dropoff.
436
+ *
437
+ * Clamped variations work like the non-clamped counterparts, except the
438
+ * distance calculated is clamped between the reference and max distances.
439
+ */
440
+ #define AL_DISTANCE_MODEL 0xD000
441
+ AL_API void AL_APIENTRY alDistanceModel(ALenum distanceModel);
442
+
443
+ /* Distance model values. */
444
+ #define AL_INVERSE_DISTANCE 0xD001
445
+ #define AL_INVERSE_DISTANCE_CLAMPED 0xD002
446
+ #define AL_LINEAR_DISTANCE 0xD003
447
+ #define AL_LINEAR_DISTANCE_CLAMPED 0xD004
448
+ #define AL_EXPONENT_DISTANCE 0xD005
449
+ #define AL_EXPONENT_DISTANCE_CLAMPED 0xD006
450
+
451
+ /* Renderer State management. */
452
+ AL_API void AL_APIENTRY alEnable(ALenum capability);
453
+ AL_API void AL_APIENTRY alDisable(ALenum capability);
454
+ AL_API ALboolean AL_APIENTRY alIsEnabled(ALenum capability);
455
+
456
+ /* State retrieval. */
457
+ AL_API const ALchar* AL_APIENTRY alGetString(ALenum param);
458
+ AL_API void AL_APIENTRY alGetBooleanv(ALenum param, ALboolean *values);
459
+ AL_API void AL_APIENTRY alGetIntegerv(ALenum param, ALint *values);
460
+ AL_API void AL_APIENTRY alGetFloatv(ALenum param, ALfloat *values);
461
+ AL_API void AL_APIENTRY alGetDoublev(ALenum param, ALdouble *values);
462
+ AL_API ALboolean AL_APIENTRY alGetBoolean(ALenum param);
463
+ AL_API ALint AL_APIENTRY alGetInteger(ALenum param);
464
+ AL_API ALfloat AL_APIENTRY alGetFloat(ALenum param);
465
+ AL_API ALdouble AL_APIENTRY alGetDouble(ALenum param);
466
+
467
+ /* Error retrieval. */
468
+
469
+ /** Obtain the first error generated in the AL context since the last check. */
470
+ AL_API ALenum AL_APIENTRY alGetError(void);
471
+
472
+ /** Query for the presence of an extension on the AL context. */
473
+ AL_API ALboolean AL_APIENTRY alIsExtensionPresent(const ALchar *extname);
474
+ /**
475
+ * Retrieve the address of a function. The returned function may be context-
476
+ * specific.
477
+ */
478
+ AL_API void* AL_APIENTRY alGetProcAddress(const ALchar *fname);
479
+ /**
480
+ * Retrieve the value of an enum. The returned value may be context-specific.
481
+ */
482
+ AL_API ALenum AL_APIENTRY alGetEnumValue(const ALchar *ename);
483
+
484
+
485
+ /* Set Listener parameters */
486
+ AL_API void AL_APIENTRY alListenerf(ALenum param, ALfloat value);
487
+ AL_API void AL_APIENTRY alListener3f(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
488
+ AL_API void AL_APIENTRY alListenerfv(ALenum param, const ALfloat *values);
489
+ AL_API void AL_APIENTRY alListeneri(ALenum param, ALint value);
490
+ AL_API void AL_APIENTRY alListener3i(ALenum param, ALint value1, ALint value2, ALint value3);
491
+ AL_API void AL_APIENTRY alListeneriv(ALenum param, const ALint *values);
492
+
493
+ /* Get Listener parameters */
494
+ AL_API void AL_APIENTRY alGetListenerf(ALenum param, ALfloat *value);
495
+ AL_API void AL_APIENTRY alGetListener3f(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
496
+ AL_API void AL_APIENTRY alGetListenerfv(ALenum param, ALfloat *values);
497
+ AL_API void AL_APIENTRY alGetListeneri(ALenum param, ALint *value);
498
+ AL_API void AL_APIENTRY alGetListener3i(ALenum param, ALint *value1, ALint *value2, ALint *value3);
499
+ AL_API void AL_APIENTRY alGetListeneriv(ALenum param, ALint *values);
500
+
501
+
502
+ /** Create Source objects. */
503
+ AL_API void AL_APIENTRY alGenSources(ALsizei n, ALuint *sources);
504
+ /** Delete Source objects. */
505
+ AL_API void AL_APIENTRY alDeleteSources(ALsizei n, const ALuint *sources);
506
+ /** Verify a handle is a valid Source. */
507
+ AL_API ALboolean AL_APIENTRY alIsSource(ALuint source);
508
+
509
+ /* Set Source parameters. */
510
+ AL_API void AL_APIENTRY alSourcef(ALuint source, ALenum param, ALfloat value);
511
+ AL_API void AL_APIENTRY alSource3f(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
512
+ AL_API void AL_APIENTRY alSourcefv(ALuint source, ALenum param, const ALfloat *values);
513
+ AL_API void AL_APIENTRY alSourcei(ALuint source, ALenum param, ALint value);
514
+ AL_API void AL_APIENTRY alSource3i(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
515
+ AL_API void AL_APIENTRY alSourceiv(ALuint source, ALenum param, const ALint *values);
516
+
517
+ /* Get Source parameters. */
518
+ AL_API void AL_APIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat *value);
519
+ AL_API void AL_APIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
520
+ AL_API void AL_APIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat *values);
521
+ AL_API void AL_APIENTRY alGetSourcei(ALuint source, ALenum param, ALint *value);
522
+ AL_API void AL_APIENTRY alGetSource3i(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3);
523
+ AL_API void AL_APIENTRY alGetSourceiv(ALuint source, ALenum param, ALint *values);
524
+
525
+
526
+ /** Play, replay, or resume (if paused) a list of Sources */
527
+ AL_API void AL_APIENTRY alSourcePlayv(ALsizei n, const ALuint *sources);
528
+ /** Stop a list of Sources */
529
+ AL_API void AL_APIENTRY alSourceStopv(ALsizei n, const ALuint *sources);
530
+ /** Rewind a list of Sources */
531
+ AL_API void AL_APIENTRY alSourceRewindv(ALsizei n, const ALuint *sources);
532
+ /** Pause a list of Sources */
533
+ AL_API void AL_APIENTRY alSourcePausev(ALsizei n, const ALuint *sources);
534
+
535
+ /** Play, replay, or resume a Source */
536
+ AL_API void AL_APIENTRY alSourcePlay(ALuint source);
537
+ /** Stop a Source */
538
+ AL_API void AL_APIENTRY alSourceStop(ALuint source);
539
+ /** Rewind a Source (set playback postiton to beginning) */
540
+ AL_API void AL_APIENTRY alSourceRewind(ALuint source);
541
+ /** Pause a Source */
542
+ AL_API void AL_APIENTRY alSourcePause(ALuint source);
543
+
544
+ /** Queue buffers onto a source */
545
+ AL_API void AL_APIENTRY alSourceQueueBuffers(ALuint source, ALsizei nb, const ALuint *buffers);
546
+ /** Unqueue processed buffers from a source */
547
+ AL_API void AL_APIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei nb, ALuint *buffers);
548
+
549
+
550
+ /** Create Buffer objects */
551
+ AL_API void AL_APIENTRY alGenBuffers(ALsizei n, ALuint *buffers);
552
+ /** Delete Buffer objects */
553
+ AL_API void AL_APIENTRY alDeleteBuffers(ALsizei n, const ALuint *buffers);
554
+ /** Verify a handle is a valid Buffer */
555
+ AL_API ALboolean AL_APIENTRY alIsBuffer(ALuint buffer);
556
+
557
+ /** Specifies the data to be copied into a buffer */
558
+ AL_API void AL_APIENTRY alBufferData(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq);
559
+
560
+ /* Set Buffer parameters, */
561
+ AL_API void AL_APIENTRY alBufferf(ALuint buffer, ALenum param, ALfloat value);
562
+ AL_API void AL_APIENTRY alBuffer3f(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
563
+ AL_API void AL_APIENTRY alBufferfv(ALuint buffer, ALenum param, const ALfloat *values);
564
+ AL_API void AL_APIENTRY alBufferi(ALuint buffer, ALenum param, ALint value);
565
+ AL_API void AL_APIENTRY alBuffer3i(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3);
566
+ AL_API void AL_APIENTRY alBufferiv(ALuint buffer, ALenum param, const ALint *values);
567
+
568
+ /* Get Buffer parameters. */
569
+ AL_API void AL_APIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat *value);
570
+ AL_API void AL_APIENTRY alGetBuffer3f(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
571
+ AL_API void AL_APIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat *values);
572
+ AL_API void AL_APIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint *value);
573
+ AL_API void AL_APIENTRY alGetBuffer3i(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3);
574
+ AL_API void AL_APIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint *values);
575
+
576
+ /* Pointer-to-function type, useful for dynamically getting AL entry points. */
577
+ typedef void (AL_APIENTRY *LPALENABLE)(ALenum capability);
578
+ typedef void (AL_APIENTRY *LPALDISABLE)(ALenum capability);
579
+ typedef ALboolean (AL_APIENTRY *LPALISENABLED)(ALenum capability);
580
+ typedef const ALchar* (AL_APIENTRY *LPALGETSTRING)(ALenum param);
581
+ typedef void (AL_APIENTRY *LPALGETBOOLEANV)(ALenum param, ALboolean *values);
582
+ typedef void (AL_APIENTRY *LPALGETINTEGERV)(ALenum param, ALint *values);
583
+ typedef void (AL_APIENTRY *LPALGETFLOATV)(ALenum param, ALfloat *values);
584
+ typedef void (AL_APIENTRY *LPALGETDOUBLEV)(ALenum param, ALdouble *values);
585
+ typedef ALboolean (AL_APIENTRY *LPALGETBOOLEAN)(ALenum param);
586
+ typedef ALint (AL_APIENTRY *LPALGETINTEGER)(ALenum param);
587
+ typedef ALfloat (AL_APIENTRY *LPALGETFLOAT)(ALenum param);
588
+ typedef ALdouble (AL_APIENTRY *LPALGETDOUBLE)(ALenum param);
589
+ typedef ALenum (AL_APIENTRY *LPALGETERROR)(void);
590
+ typedef ALboolean (AL_APIENTRY *LPALISEXTENSIONPRESENT)(const ALchar *extname);
591
+ typedef void* (AL_APIENTRY *LPALGETPROCADDRESS)(const ALchar *fname);
592
+ typedef ALenum (AL_APIENTRY *LPALGETENUMVALUE)(const ALchar *ename);
593
+ typedef void (AL_APIENTRY *LPALLISTENERF)(ALenum param, ALfloat value);
594
+ typedef void (AL_APIENTRY *LPALLISTENER3F)(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
595
+ typedef void (AL_APIENTRY *LPALLISTENERFV)(ALenum param, const ALfloat *values);
596
+ typedef void (AL_APIENTRY *LPALLISTENERI)(ALenum param, ALint value);
597
+ typedef void (AL_APIENTRY *LPALLISTENER3I)(ALenum param, ALint value1, ALint value2, ALint value3);
598
+ typedef void (AL_APIENTRY *LPALLISTENERIV)(ALenum param, const ALint *values);
599
+ typedef void (AL_APIENTRY *LPALGETLISTENERF)(ALenum param, ALfloat *value);
600
+ typedef void (AL_APIENTRY *LPALGETLISTENER3F)(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
601
+ typedef void (AL_APIENTRY *LPALGETLISTENERFV)(ALenum param, ALfloat *values);
602
+ typedef void (AL_APIENTRY *LPALGETLISTENERI)(ALenum param, ALint *value);
603
+ typedef void (AL_APIENTRY *LPALGETLISTENER3I)(ALenum param, ALint *value1, ALint *value2, ALint *value3);
604
+ typedef void (AL_APIENTRY *LPALGETLISTENERIV)(ALenum param, ALint *values);
605
+ typedef void (AL_APIENTRY *LPALGENSOURCES)(ALsizei n, ALuint *sources);
606
+ typedef void (AL_APIENTRY *LPALDELETESOURCES)(ALsizei n, const ALuint *sources);
607
+ typedef ALboolean (AL_APIENTRY *LPALISSOURCE)(ALuint source);
608
+ typedef void (AL_APIENTRY *LPALSOURCEF)(ALuint source, ALenum param, ALfloat value);
609
+ typedef void (AL_APIENTRY *LPALSOURCE3F)(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
610
+ typedef void (AL_APIENTRY *LPALSOURCEFV)(ALuint source, ALenum param, const ALfloat *values);
611
+ typedef void (AL_APIENTRY *LPALSOURCEI)(ALuint source, ALenum param, ALint value);
612
+ typedef void (AL_APIENTRY *LPALSOURCE3I)(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
613
+ typedef void (AL_APIENTRY *LPALSOURCEIV)(ALuint source, ALenum param, const ALint *values);
614
+ typedef void (AL_APIENTRY *LPALGETSOURCEF)(ALuint source, ALenum param, ALfloat *value);
615
+ typedef void (AL_APIENTRY *LPALGETSOURCE3F)(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
616
+ typedef void (AL_APIENTRY *LPALGETSOURCEFV)(ALuint source, ALenum param, ALfloat *values);
617
+ typedef void (AL_APIENTRY *LPALGETSOURCEI)(ALuint source, ALenum param, ALint *value);
618
+ typedef void (AL_APIENTRY *LPALGETSOURCE3I)(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3);
619
+ typedef void (AL_APIENTRY *LPALGETSOURCEIV)(ALuint source, ALenum param, ALint *values);
620
+ typedef void (AL_APIENTRY *LPALSOURCEPLAYV)(ALsizei n, const ALuint *sources);
621
+ typedef void (AL_APIENTRY *LPALSOURCESTOPV)(ALsizei n, const ALuint *sources);
622
+ typedef void (AL_APIENTRY *LPALSOURCEREWINDV)(ALsizei n, const ALuint *sources);
623
+ typedef void (AL_APIENTRY *LPALSOURCEPAUSEV)(ALsizei n, const ALuint *sources);
624
+ typedef void (AL_APIENTRY *LPALSOURCEPLAY)(ALuint source);
625
+ typedef void (AL_APIENTRY *LPALSOURCESTOP)(ALuint source);
626
+ typedef void (AL_APIENTRY *LPALSOURCEREWIND)(ALuint source);
627
+ typedef void (AL_APIENTRY *LPALSOURCEPAUSE)(ALuint source);
628
+ typedef void (AL_APIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint source, ALsizei nb, const ALuint *buffers);
629
+ typedef void (AL_APIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint source, ALsizei nb, ALuint *buffers);
630
+ typedef void (AL_APIENTRY *LPALGENBUFFERS)(ALsizei n, ALuint *buffers);
631
+ typedef void (AL_APIENTRY *LPALDELETEBUFFERS)(ALsizei n, const ALuint *buffers);
632
+ typedef ALboolean (AL_APIENTRY *LPALISBUFFER)(ALuint buffer);
633
+ typedef void (AL_APIENTRY *LPALBUFFERDATA)(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq);
634
+ typedef void (AL_APIENTRY *LPALBUFFERF)(ALuint buffer, ALenum param, ALfloat value);
635
+ typedef void (AL_APIENTRY *LPALBUFFER3F)(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
636
+ typedef void (AL_APIENTRY *LPALBUFFERFV)(ALuint buffer, ALenum param, const ALfloat *values);
637
+ typedef void (AL_APIENTRY *LPALBUFFERI)(ALuint buffer, ALenum param, ALint value);
638
+ typedef void (AL_APIENTRY *LPALBUFFER3I)(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3);
639
+ typedef void (AL_APIENTRY *LPALBUFFERIV)(ALuint buffer, ALenum param, const ALint *values);
640
+ typedef void (AL_APIENTRY *LPALGETBUFFERF)(ALuint buffer, ALenum param, ALfloat *value);
641
+ typedef void (AL_APIENTRY *LPALGETBUFFER3F)(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
642
+ typedef void (AL_APIENTRY *LPALGETBUFFERFV)(ALuint buffer, ALenum param, ALfloat *values);
643
+ typedef void (AL_APIENTRY *LPALGETBUFFERI)(ALuint buffer, ALenum param, ALint *value);
644
+ typedef void (AL_APIENTRY *LPALGETBUFFER3I)(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3);
645
+ typedef void (AL_APIENTRY *LPALGETBUFFERIV)(ALuint buffer, ALenum param, ALint *values);
646
+ typedef void (AL_APIENTRY *LPALDOPPLERFACTOR)(ALfloat value);
647
+ typedef void (AL_APIENTRY *LPALDOPPLERVELOCITY)(ALfloat value);
648
+ typedef void (AL_APIENTRY *LPALSPEEDOFSOUND)(ALfloat value);
649
+ typedef void (AL_APIENTRY *LPALDISTANCEMODEL)(ALenum distanceModel);
650
+
651
+ #if defined(__cplusplus)
652
+ } /* extern "C" */
653
+ #endif
654
+
655
+ #endif /* AL_AL_H */