Mercurial > fife-parpg
comparison ext/openal-soft/include/AL/al.h @ 0:4a0efb7baf70
* Datasets becomes the new trunk and retires after that :-)
author | mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Sun, 29 Jun 2008 18:44:17 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4a0efb7baf70 |
---|---|
1 #ifndef AL_AL_H | |
2 #define AL_AL_H | |
3 | |
4 #if defined(__cplusplus) | |
5 extern "C" { | |
6 #endif | |
7 | |
8 #if defined(_WIN32) && !defined(_XBOX) | |
9 /* _OPENAL32LIB is deprecated */ | |
10 #if defined(AL_BUILD_LIBRARY) || defined (_OPENAL32LIB) | |
11 #define AL_API __declspec(dllexport) | |
12 #else | |
13 #define AL_API __declspec(dllimport) | |
14 #endif | |
15 #else | |
16 #if defined(AL_BUILD_LIBRARY) && defined(HAVE_GCC_VISIBILITY) | |
17 #define AL_API __attribute__((visibility("default"))) | |
18 #else | |
19 #define AL_API extern | |
20 #endif | |
21 #endif | |
22 | |
23 #if defined(_WIN32) | |
24 #define AL_APIENTRY __cdecl | |
25 #else | |
26 #define AL_APIENTRY | |
27 #endif | |
28 | |
29 #if defined(TARGET_OS_MAC) && TARGET_OS_MAC | |
30 #pragma export on | |
31 #endif | |
32 | |
33 /* | |
34 * The OPENAL, ALAPI, ALAPIENTRY, AL_INVALID, AL_ILLEGAL_ENUM, and | |
35 * AL_ILLEGAL_COMMAND macros are deprecated, but are included for | |
36 * applications porting code from AL 1.0 | |
37 */ | |
38 #define OPENAL | |
39 #define ALAPI AL_API | |
40 #define ALAPIENTRY AL_APIENTRY | |
41 #define AL_INVALID (-1) | |
42 #define AL_ILLEGAL_ENUM AL_INVALID_ENUM | |
43 #define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION | |
44 | |
45 #define AL_VERSION_1_0 | |
46 #define AL_VERSION_1_1 | |
47 | |
48 | |
49 /** 8-bit boolean */ | |
50 typedef char ALboolean; | |
51 | |
52 /** character */ | |
53 typedef char ALchar; | |
54 | |
55 /** signed 8-bit 2's complement integer */ | |
56 typedef char ALbyte; | |
57 | |
58 /** unsigned 8-bit integer */ | |
59 typedef unsigned char ALubyte; | |
60 | |
61 /** signed 16-bit 2's complement integer */ | |
62 typedef short ALshort; | |
63 | |
64 /** unsigned 16-bit integer */ | |
65 typedef unsigned short ALushort; | |
66 | |
67 /** signed 32-bit 2's complement integer */ | |
68 typedef int ALint; | |
69 | |
70 /** unsigned 32-bit integer */ | |
71 typedef unsigned int ALuint; | |
72 | |
73 /** non-negative 32-bit binary integer size */ | |
74 typedef int ALsizei; | |
75 | |
76 /** enumerated 32-bit value */ | |
77 typedef int ALenum; | |
78 | |
79 /** 32-bit IEEE754 floating-point */ | |
80 typedef float ALfloat; | |
81 | |
82 /** 64-bit IEEE754 floating-point */ | |
83 typedef double ALdouble; | |
84 | |
85 /** void type (for opaque pointers only) */ | |
86 typedef void ALvoid; | |
87 | |
88 | |
89 /* Enumerant values begin at column 50. No tabs. */ | |
90 | |
91 /* "no distance model" or "no buffer" */ | |
92 #define AL_NONE 0 | |
93 | |
94 /* Boolean False. */ | |
95 #define AL_FALSE 0 | |
96 | |
97 /** Boolean True. */ | |
98 #define AL_TRUE 1 | |
99 | |
100 /** Indicate Source has relative coordinates. */ | |
101 #define AL_SOURCE_RELATIVE 0x202 | |
102 | |
103 | |
104 | |
105 /** | |
106 * Directional source, inner cone angle, in degrees. | |
107 * Range: [0-360] | |
108 * Default: 360 | |
109 */ | |
110 #define AL_CONE_INNER_ANGLE 0x1001 | |
111 | |
112 /** | |
113 * Directional source, outer cone angle, in degrees. | |
114 * Range: [0-360] | |
115 * Default: 360 | |
116 */ | |
117 #define AL_CONE_OUTER_ANGLE 0x1002 | |
118 | |
119 /** | |
120 * Specify the pitch to be applied, either at source, | |
121 * or on mixer results, at listener. | |
122 * Range: [0.5-2.0] | |
123 * Default: 1.0 | |
124 */ | |
125 #define AL_PITCH 0x1003 | |
126 | |
127 /** | |
128 * Specify the current location in three dimensional space. | |
129 * OpenAL, like OpenGL, uses a right handed coordinate system, | |
130 * where in a frontal default view X (thumb) points right, | |
131 * Y points up (index finger), and Z points towards the | |
132 * viewer/camera (middle finger). | |
133 * To switch from a left handed coordinate system, flip the | |
134 * sign on the Z coordinate. | |
135 * Listener position is always in the world coordinate system. | |
136 */ | |
137 #define AL_POSITION 0x1004 | |
138 | |
139 /** Specify the current direction. */ | |
140 #define AL_DIRECTION 0x1005 | |
141 | |
142 /** Specify the current velocity in three dimensional space. */ | |
143 #define AL_VELOCITY 0x1006 | |
144 | |
145 /** | |
146 * Indicate whether source is looping. | |
147 * Type: ALboolean? | |
148 * Range: [AL_TRUE, AL_FALSE] | |
149 * Default: FALSE. | |
150 */ | |
151 #define AL_LOOPING 0x1007 | |
152 | |
153 /** | |
154 * Indicate the buffer to provide sound samples. | |
155 * Type: ALuint. | |
156 * Range: any valid Buffer id. | |
157 */ | |
158 #define AL_BUFFER 0x1009 | |
159 | |
160 /** | |
161 * Indicate the gain (volume amplification) applied. | |
162 * Type: ALfloat. | |
163 * Range: ]0.0- ] | |
164 * A value of 1.0 means un-attenuated/unchanged. | |
165 * Each division by 2 equals an attenuation of -6dB. | |
166 * Each multiplicaton with 2 equals an amplification of +6dB. | |
167 * A value of 0.0 is meaningless with respect to a logarithmic | |
168 * scale; it is interpreted as zero volume - the channel | |
169 * is effectively disabled. | |
170 */ | |
171 #define AL_GAIN 0x100A | |
172 | |
173 /* | |
174 * Indicate minimum source attenuation | |
175 * Type: ALfloat | |
176 * Range: [0.0 - 1.0] | |
177 * | |
178 * Logarthmic | |
179 */ | |
180 #define AL_MIN_GAIN 0x100D | |
181 | |
182 /** | |
183 * Indicate maximum source attenuation | |
184 * Type: ALfloat | |
185 * Range: [0.0 - 1.0] | |
186 * | |
187 * Logarthmic | |
188 */ | |
189 #define AL_MAX_GAIN 0x100E | |
190 | |
191 /** | |
192 * Indicate listener orientation. | |
193 * | |
194 * at/up | |
195 */ | |
196 #define AL_ORIENTATION 0x100F | |
197 | |
198 /** | |
199 * Source state information. | |
200 */ | |
201 #define AL_SOURCE_STATE 0x1010 | |
202 #define AL_INITIAL 0x1011 | |
203 #define AL_PLAYING 0x1012 | |
204 #define AL_PAUSED 0x1013 | |
205 #define AL_STOPPED 0x1014 | |
206 | |
207 /** | |
208 * Buffer Queue params | |
209 */ | |
210 #define AL_BUFFERS_QUEUED 0x1015 | |
211 #define AL_BUFFERS_PROCESSED 0x1016 | |
212 | |
213 /** | |
214 * Source buffer position information | |
215 */ | |
216 #define AL_SEC_OFFSET 0x1024 | |
217 #define AL_SAMPLE_OFFSET 0x1025 | |
218 #define AL_BYTE_OFFSET 0x1026 | |
219 | |
220 /* | |
221 * Source type (Static, Streaming or undetermined) | |
222 * Source is Static if a Buffer has been attached using AL_BUFFER | |
223 * Source is Streaming if one or more Buffers have been attached using alSourceQueueBuffers | |
224 * Source is undetermined when it has the NULL buffer attached | |
225 */ | |
226 #define AL_SOURCE_TYPE 0x1027 | |
227 #define AL_STATIC 0x1028 | |
228 #define AL_STREAMING 0x1029 | |
229 #define AL_UNDETERMINED 0x1030 | |
230 | |
231 /** Sound samples: format specifier. */ | |
232 #define AL_FORMAT_MONO8 0x1100 | |
233 #define AL_FORMAT_MONO16 0x1101 | |
234 #define AL_FORMAT_STEREO8 0x1102 | |
235 #define AL_FORMAT_STEREO16 0x1103 | |
236 | |
237 /** | |
238 * source specific reference distance | |
239 * Type: ALfloat | |
240 * Range: 0.0 - +inf | |
241 * | |
242 * At 0.0, no distance attenuation occurs. Default is | |
243 * 1.0. | |
244 */ | |
245 #define AL_REFERENCE_DISTANCE 0x1020 | |
246 | |
247 /** | |
248 * source specific rolloff factor | |
249 * Type: ALfloat | |
250 * Range: 0.0 - +inf | |
251 * | |
252 */ | |
253 #define AL_ROLLOFF_FACTOR 0x1021 | |
254 | |
255 /** | |
256 * Directional source, outer cone gain. | |
257 * | |
258 * Default: 0.0 | |
259 * Range: [0.0 - 1.0] | |
260 * Logarithmic | |
261 */ | |
262 #define AL_CONE_OUTER_GAIN 0x1022 | |
263 | |
264 /** | |
265 * Indicate distance above which sources are not | |
266 * attenuated using the inverse clamped distance model. | |
267 * | |
268 * Default: +inf | |
269 * Type: ALfloat | |
270 * Range: 0.0 - +inf | |
271 */ | |
272 #define AL_MAX_DISTANCE 0x1023 | |
273 | |
274 /** | |
275 * Sound samples: frequency, in units of Hertz [Hz]. | |
276 * This is the number of samples per second. Half of the | |
277 * sample frequency marks the maximum significant | |
278 * frequency component. | |
279 */ | |
280 #define AL_FREQUENCY 0x2001 | |
281 #define AL_BITS 0x2002 | |
282 #define AL_CHANNELS 0x2003 | |
283 #define AL_SIZE 0x2004 | |
284 | |
285 /** | |
286 * Buffer state. | |
287 * | |
288 * Not supported for public use (yet). | |
289 */ | |
290 #define AL_UNUSED 0x2010 | |
291 #define AL_PENDING 0x2011 | |
292 #define AL_PROCESSED 0x2012 | |
293 | |
294 | |
295 /** Errors: No Error. */ | |
296 #define AL_NO_ERROR AL_FALSE | |
297 | |
298 /** | |
299 * Invalid Name paramater passed to AL call. | |
300 */ | |
301 #define AL_INVALID_NAME 0xA001 | |
302 | |
303 /** | |
304 * Invalid parameter passed to AL call. | |
305 */ | |
306 #define AL_INVALID_ENUM 0xA002 | |
307 | |
308 /** | |
309 * Invalid enum parameter value. | |
310 */ | |
311 #define AL_INVALID_VALUE 0xA003 | |
312 | |
313 /** | |
314 * Illegal call. | |
315 */ | |
316 #define AL_INVALID_OPERATION 0xA004 | |
317 | |
318 | |
319 /** | |
320 * No mojo. | |
321 */ | |
322 #define AL_OUT_OF_MEMORY 0xA005 | |
323 | |
324 | |
325 /** Context strings: Vendor Name. */ | |
326 #define AL_VENDOR 0xB001 | |
327 #define AL_VERSION 0xB002 | |
328 #define AL_RENDERER 0xB003 | |
329 #define AL_EXTENSIONS 0xB004 | |
330 | |
331 /** Global tweakage. */ | |
332 | |
333 /** | |
334 * Doppler scale. Default 1.0 | |
335 */ | |
336 #define AL_DOPPLER_FACTOR 0xC000 | |
337 | |
338 /** | |
339 * Tweaks speed of propagation. | |
340 */ | |
341 #define AL_DOPPLER_VELOCITY 0xC001 | |
342 | |
343 /** | |
344 * Speed of Sound in units per second | |
345 */ | |
346 #define AL_SPEED_OF_SOUND 0xC003 | |
347 | |
348 /** | |
349 * Distance models | |
350 * | |
351 * used in conjunction with DistanceModel | |
352 * | |
353 * implicit: NONE, which disances distance attenuation. | |
354 */ | |
355 #define AL_DISTANCE_MODEL 0xD000 | |
356 #define AL_INVERSE_DISTANCE 0xD001 | |
357 #define AL_INVERSE_DISTANCE_CLAMPED 0xD002 | |
358 #define AL_LINEAR_DISTANCE 0xD003 | |
359 #define AL_LINEAR_DISTANCE_CLAMPED 0xD004 | |
360 #define AL_EXPONENT_DISTANCE 0xD005 | |
361 #define AL_EXPONENT_DISTANCE_CLAMPED 0xD006 | |
362 | |
363 /* | |
364 * Renderer State management | |
365 */ | |
366 AL_API void AL_APIENTRY alEnable( ALenum capability ); | |
367 | |
368 AL_API void AL_APIENTRY alDisable( ALenum capability ); | |
369 | |
370 AL_API ALboolean AL_APIENTRY alIsEnabled( ALenum capability ); | |
371 | |
372 | |
373 /* | |
374 * State retrieval | |
375 */ | |
376 AL_API const ALchar* AL_APIENTRY alGetString( ALenum param ); | |
377 | |
378 AL_API void AL_APIENTRY alGetBooleanv( ALenum param, ALboolean* data ); | |
379 | |
380 AL_API void AL_APIENTRY alGetIntegerv( ALenum param, ALint* data ); | |
381 | |
382 AL_API void AL_APIENTRY alGetFloatv( ALenum param, ALfloat* data ); | |
383 | |
384 AL_API void AL_APIENTRY alGetDoublev( ALenum param, ALdouble* data ); | |
385 | |
386 AL_API ALboolean AL_APIENTRY alGetBoolean( ALenum param ); | |
387 | |
388 AL_API ALint AL_APIENTRY alGetInteger( ALenum param ); | |
389 | |
390 AL_API ALfloat AL_APIENTRY alGetFloat( ALenum param ); | |
391 | |
392 AL_API ALdouble AL_APIENTRY alGetDouble( ALenum param ); | |
393 | |
394 | |
395 /* | |
396 * Error support. | |
397 * Obtain the most recent error generated in the AL state machine. | |
398 */ | |
399 AL_API ALenum AL_APIENTRY alGetError( void ); | |
400 | |
401 | |
402 /* | |
403 * Extension support. | |
404 * Query for the presence of an extension, and obtain any appropriate | |
405 * function pointers and enum values. | |
406 */ | |
407 AL_API ALboolean AL_APIENTRY alIsExtensionPresent( const ALchar* extname ); | |
408 | |
409 AL_API void* AL_APIENTRY alGetProcAddress( const ALchar* fname ); | |
410 | |
411 AL_API ALenum AL_APIENTRY alGetEnumValue( const ALchar* ename ); | |
412 | |
413 | |
414 /* | |
415 * LISTENER | |
416 * Listener represents the location and orientation of the | |
417 * 'user' in 3D-space. | |
418 * | |
419 * Properties include: - | |
420 * | |
421 * Gain AL_GAIN ALfloat | |
422 * Position AL_POSITION ALfloat[3] | |
423 * Velocity AL_VELOCITY ALfloat[3] | |
424 * Orientation AL_ORIENTATION ALfloat[6] (Forward then Up vectors) | |
425 */ | |
426 | |
427 /* | |
428 * Set Listener parameters | |
429 */ | |
430 AL_API void AL_APIENTRY alListenerf( ALenum param, ALfloat value ); | |
431 | |
432 AL_API void AL_APIENTRY alListener3f( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |
433 | |
434 AL_API void AL_APIENTRY alListenerfv( ALenum param, const ALfloat* values ); | |
435 | |
436 AL_API void AL_APIENTRY alListeneri( ALenum param, ALint value ); | |
437 | |
438 AL_API void AL_APIENTRY alListener3i( ALenum param, ALint value1, ALint value2, ALint value3 ); | |
439 | |
440 AL_API void AL_APIENTRY alListeneriv( ALenum param, const ALint* values ); | |
441 | |
442 /* | |
443 * Get Listener parameters | |
444 */ | |
445 AL_API void AL_APIENTRY alGetListenerf( ALenum param, ALfloat* value ); | |
446 | |
447 AL_API void AL_APIENTRY alGetListener3f( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 ); | |
448 | |
449 AL_API void AL_APIENTRY alGetListenerfv( ALenum param, ALfloat* values ); | |
450 | |
451 AL_API void AL_APIENTRY alGetListeneri( ALenum param, ALint* value ); | |
452 | |
453 AL_API void AL_APIENTRY alGetListener3i( ALenum param, ALint *value1, ALint *value2, ALint *value3 ); | |
454 | |
455 AL_API void AL_APIENTRY alGetListeneriv( ALenum param, ALint* values ); | |
456 | |
457 | |
458 /** | |
459 * SOURCE | |
460 * Sources represent individual sound objects in 3D-space. | |
461 * Sources take the PCM data provided in the specified Buffer, | |
462 * apply Source-specific modifications, and then | |
463 * submit them to be mixed according to spatial arrangement etc. | |
464 * | |
465 * Properties include: - | |
466 * | |
467 * Gain AL_GAIN ALfloat | |
468 * Min Gain AL_MIN_GAIN ALfloat | |
469 * Max Gain AL_MAX_GAIN ALfloat | |
470 * Position AL_POSITION ALfloat[3] | |
471 * Velocity AL_VELOCITY ALfloat[3] | |
472 * Direction AL_DIRECTION ALfloat[3] | |
473 * Head Relative Mode AL_SOURCE_RELATIVE ALint (AL_TRUE or AL_FALSE) | |
474 * Reference Distance AL_REFERENCE_DISTANCE ALfloat | |
475 * Max Distance AL_MAX_DISTANCE ALfloat | |
476 * RollOff Factor AL_ROLLOFF_FACTOR ALfloat | |
477 * Inner Angle AL_CONE_INNER_ANGLE ALint or ALfloat | |
478 * Outer Angle AL_CONE_OUTER_ANGLE ALint or ALfloat | |
479 * Cone Outer Gain AL_CONE_OUTER_GAIN ALint or ALfloat | |
480 * Pitch AL_PITCH ALfloat | |
481 * Looping AL_LOOPING ALint (AL_TRUE or AL_FALSE) | |
482 * MS Offset AL_MSEC_OFFSET ALint or ALfloat | |
483 * Byte Offset AL_BYTE_OFFSET ALint or ALfloat | |
484 * Sample Offset AL_SAMPLE_OFFSET ALint or ALfloat | |
485 * Attached Buffer AL_BUFFER ALint | |
486 * State (Query only) AL_SOURCE_STATE ALint | |
487 * Buffers Queued (Query only) AL_BUFFERS_QUEUED ALint | |
488 * Buffers Processed (Query only) AL_BUFFERS_PROCESSED ALint | |
489 */ | |
490 | |
491 /* Create Source objects */ | |
492 AL_API void AL_APIENTRY alGenSources( ALsizei n, ALuint* sources ); | |
493 | |
494 /* Delete Source objects */ | |
495 AL_API void AL_APIENTRY alDeleteSources( ALsizei n, const ALuint* sources ); | |
496 | |
497 /* Verify a handle is a valid Source */ | |
498 AL_API ALboolean AL_APIENTRY alIsSource( ALuint sid ); | |
499 | |
500 /* | |
501 * Set Source parameters | |
502 */ | |
503 AL_API void AL_APIENTRY alSourcef( ALuint sid, ALenum param, ALfloat value ); | |
504 | |
505 AL_API void AL_APIENTRY alSource3f( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |
506 | |
507 AL_API void AL_APIENTRY alSourcefv( ALuint sid, ALenum param, const ALfloat* values ); | |
508 | |
509 AL_API void AL_APIENTRY alSourcei( ALuint sid, ALenum param, ALint value ); | |
510 | |
511 AL_API void AL_APIENTRY alSource3i( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 ); | |
512 | |
513 AL_API void AL_APIENTRY alSourceiv( ALuint sid, ALenum param, const ALint* values ); | |
514 | |
515 /* | |
516 * Get Source parameters | |
517 */ | |
518 AL_API void AL_APIENTRY alGetSourcef( ALuint sid, ALenum param, ALfloat* value ); | |
519 | |
520 AL_API void AL_APIENTRY alGetSource3f( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); | |
521 | |
522 AL_API void AL_APIENTRY alGetSourcefv( ALuint sid, ALenum param, ALfloat* values ); | |
523 | |
524 AL_API void AL_APIENTRY alGetSourcei( ALuint sid, ALenum param, ALint* value ); | |
525 | |
526 AL_API void AL_APIENTRY alGetSource3i( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3); | |
527 | |
528 AL_API void AL_APIENTRY alGetSourceiv( ALuint sid, ALenum param, ALint* values ); | |
529 | |
530 | |
531 /* | |
532 * Source vector based playback calls | |
533 */ | |
534 | |
535 /* Play, replay, or resume (if paused) a list of Sources */ | |
536 AL_API void AL_APIENTRY alSourcePlayv( ALsizei ns, const ALuint *sids ); | |
537 | |
538 /* Stop a list of Sources */ | |
539 AL_API void AL_APIENTRY alSourceStopv( ALsizei ns, const ALuint *sids ); | |
540 | |
541 /* Rewind a list of Sources */ | |
542 AL_API void AL_APIENTRY alSourceRewindv( ALsizei ns, const ALuint *sids ); | |
543 | |
544 /* Pause a list of Sources */ | |
545 AL_API void AL_APIENTRY alSourcePausev( ALsizei ns, const ALuint *sids ); | |
546 | |
547 /* | |
548 * Source based playback calls | |
549 */ | |
550 | |
551 /* Play, replay, or resume a Source */ | |
552 AL_API void AL_APIENTRY alSourcePlay( ALuint sid ); | |
553 | |
554 /* Stop a Source */ | |
555 AL_API void AL_APIENTRY alSourceStop( ALuint sid ); | |
556 | |
557 /* Rewind a Source (set playback postiton to beginning) */ | |
558 AL_API void AL_APIENTRY alSourceRewind( ALuint sid ); | |
559 | |
560 /* Pause a Source */ | |
561 AL_API void AL_APIENTRY alSourcePause( ALuint sid ); | |
562 | |
563 /* | |
564 * Source Queuing | |
565 */ | |
566 AL_API void AL_APIENTRY alSourceQueueBuffers( ALuint sid, ALsizei numEntries, const ALuint *bids ); | |
567 | |
568 AL_API void AL_APIENTRY alSourceUnqueueBuffers( ALuint sid, ALsizei numEntries, ALuint *bids ); | |
569 | |
570 | |
571 /** | |
572 * BUFFER | |
573 * Buffer objects are storage space for sample data. | |
574 * Buffers are referred to by Sources. One Buffer can be used | |
575 * by multiple Sources. | |
576 * | |
577 * Properties include: - | |
578 * | |
579 * Frequency (Query only) AL_FREQUENCY ALint | |
580 * Size (Query only) AL_SIZE ALint | |
581 * Bits (Query only) AL_BITS ALint | |
582 * Channels (Query only) AL_CHANNELS ALint | |
583 */ | |
584 | |
585 /* Create Buffer objects */ | |
586 AL_API void AL_APIENTRY alGenBuffers( ALsizei n, ALuint* buffers ); | |
587 | |
588 /* Delete Buffer objects */ | |
589 AL_API void AL_APIENTRY alDeleteBuffers( ALsizei n, const ALuint* buffers ); | |
590 | |
591 /* Verify a handle is a valid Buffer */ | |
592 AL_API ALboolean AL_APIENTRY alIsBuffer( ALuint bid ); | |
593 | |
594 /* Specify the data to be copied into a buffer */ | |
595 AL_API void AL_APIENTRY alBufferData( ALuint bid, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq ); | |
596 | |
597 /* | |
598 * Set Buffer parameters | |
599 */ | |
600 AL_API void AL_APIENTRY alBufferf( ALuint bid, ALenum param, ALfloat value ); | |
601 | |
602 AL_API void AL_APIENTRY alBuffer3f( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |
603 | |
604 AL_API void AL_APIENTRY alBufferfv( ALuint bid, ALenum param, const ALfloat* values ); | |
605 | |
606 AL_API void AL_APIENTRY alBufferi( ALuint bid, ALenum param, ALint value ); | |
607 | |
608 AL_API void AL_APIENTRY alBuffer3i( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); | |
609 | |
610 AL_API void AL_APIENTRY alBufferiv( ALuint bid, ALenum param, const ALint* values ); | |
611 | |
612 /* | |
613 * Get Buffer parameters | |
614 */ | |
615 AL_API void AL_APIENTRY alGetBufferf( ALuint bid, ALenum param, ALfloat* value ); | |
616 | |
617 AL_API void AL_APIENTRY alGetBuffer3f( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); | |
618 | |
619 AL_API void AL_APIENTRY alGetBufferfv( ALuint bid, ALenum param, ALfloat* values ); | |
620 | |
621 AL_API void AL_APIENTRY alGetBufferi( ALuint bid, ALenum param, ALint* value ); | |
622 | |
623 AL_API void AL_APIENTRY alGetBuffer3i( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3); | |
624 | |
625 AL_API void AL_APIENTRY alGetBufferiv( ALuint bid, ALenum param, ALint* values ); | |
626 | |
627 | |
628 /* | |
629 * Global Parameters | |
630 */ | |
631 AL_API void AL_APIENTRY alDopplerFactor( ALfloat value ); | |
632 | |
633 AL_API void AL_APIENTRY alDopplerVelocity( ALfloat value ); | |
634 | |
635 AL_API void AL_APIENTRY alSpeedOfSound( ALfloat value ); | |
636 | |
637 AL_API void AL_APIENTRY alDistanceModel( ALenum distanceModel ); | |
638 | |
639 /* | |
640 * Pointer-to-function types, useful for dynamically getting AL entry points. | |
641 */ | |
642 typedef void (AL_APIENTRY *LPALENABLE)( ALenum capability ); | |
643 typedef void (AL_APIENTRY *LPALDISABLE)( ALenum capability ); | |
644 typedef ALboolean (AL_APIENTRY *LPALISENABLED)( ALenum capability ); | |
645 typedef const ALchar* (AL_APIENTRY *LPALGETSTRING)( ALenum param ); | |
646 typedef void (AL_APIENTRY *LPALGETBOOLEANV)( ALenum param, ALboolean* data ); | |
647 typedef void (AL_APIENTRY *LPALGETINTEGERV)( ALenum param, ALint* data ); | |
648 typedef void (AL_APIENTRY *LPALGETFLOATV)( ALenum param, ALfloat* data ); | |
649 typedef void (AL_APIENTRY *LPALGETDOUBLEV)( ALenum param, ALdouble* data ); | |
650 typedef ALboolean (AL_APIENTRY *LPALGETBOOLEAN)( ALenum param ); | |
651 typedef ALint (AL_APIENTRY *LPALGETINTEGER)( ALenum param ); | |
652 typedef ALfloat (AL_APIENTRY *LPALGETFLOAT)( ALenum param ); | |
653 typedef ALdouble (AL_APIENTRY *LPALGETDOUBLE)( ALenum param ); | |
654 typedef ALenum (AL_APIENTRY *LPALGETERROR)( void ); | |
655 typedef ALboolean (AL_APIENTRY *LPALISEXTENSIONPRESENT)(const ALchar* extname ); | |
656 typedef void* (AL_APIENTRY *LPALGETPROCADDRESS)( const ALchar* fname ); | |
657 typedef ALenum (AL_APIENTRY *LPALGETENUMVALUE)( const ALchar* ename ); | |
658 typedef void (AL_APIENTRY *LPALLISTENERF)( ALenum param, ALfloat value ); | |
659 typedef void (AL_APIENTRY *LPALLISTENER3F)( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |
660 typedef void (AL_APIENTRY *LPALLISTENERFV)( ALenum param, const ALfloat* values ); | |
661 typedef void (AL_APIENTRY *LPALLISTENERI)( ALenum param, ALint value ); | |
662 typedef void (AL_APIENTRY *LPALLISTENER3I)( ALenum param, ALint value1, ALint value2, ALint value3 ); | |
663 typedef void (AL_APIENTRY *LPALLISTENERIV)( ALenum param, const ALint* values ); | |
664 typedef void (AL_APIENTRY *LPALGETLISTENERF)( ALenum param, ALfloat* value ); | |
665 typedef void (AL_APIENTRY *LPALGETLISTENER3F)( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 ); | |
666 typedef void (AL_APIENTRY *LPALGETLISTENERFV)( ALenum param, ALfloat* values ); | |
667 typedef void (AL_APIENTRY *LPALGETLISTENERI)( ALenum param, ALint* value ); | |
668 typedef void (AL_APIENTRY *LPALGETLISTENER3I)( ALenum param, ALint *value1, ALint *value2, ALint *value3 ); | |
669 typedef void (AL_APIENTRY *LPALGETLISTENERIV)( ALenum param, ALint* values ); | |
670 typedef void (AL_APIENTRY *LPALGENSOURCES)( ALsizei n, ALuint* sources ); | |
671 typedef void (AL_APIENTRY *LPALDELETESOURCES)( ALsizei n, const ALuint* sources ); | |
672 typedef ALboolean (AL_APIENTRY *LPALISSOURCE)( ALuint sid ); | |
673 typedef void (AL_APIENTRY *LPALSOURCEF)( ALuint sid, ALenum param, ALfloat value); | |
674 typedef void (AL_APIENTRY *LPALSOURCE3F)( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |
675 typedef void (AL_APIENTRY *LPALSOURCEFV)( ALuint sid, ALenum param, const ALfloat* values ); | |
676 typedef void (AL_APIENTRY *LPALSOURCEI)( ALuint sid, ALenum param, ALint value); | |
677 typedef void (AL_APIENTRY *LPALSOURCE3I)( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 ); | |
678 typedef void (AL_APIENTRY *LPALSOURCEIV)( ALuint sid, ALenum param, const ALint* values ); | |
679 typedef void (AL_APIENTRY *LPALGETSOURCEF)( ALuint sid, ALenum param, ALfloat* value ); | |
680 typedef void (AL_APIENTRY *LPALGETSOURCE3F)( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); | |
681 typedef void (AL_APIENTRY *LPALGETSOURCEFV)( ALuint sid, ALenum param, ALfloat* values ); | |
682 typedef void (AL_APIENTRY *LPALGETSOURCEI)( ALuint sid, ALenum param, ALint* value ); | |
683 typedef void (AL_APIENTRY *LPALGETSOURCE3I)( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3); | |
684 typedef void (AL_APIENTRY *LPALGETSOURCEIV)( ALuint sid, ALenum param, ALint* values ); | |
685 typedef void (AL_APIENTRY *LPALSOURCEPLAYV)( ALsizei ns, const ALuint *sids ); | |
686 typedef void (AL_APIENTRY *LPALSOURCESTOPV)( ALsizei ns, const ALuint *sids ); | |
687 typedef void (AL_APIENTRY *LPALSOURCEREWINDV)( ALsizei ns, const ALuint *sids ); | |
688 typedef void (AL_APIENTRY *LPALSOURCEPAUSEV)( ALsizei ns, const ALuint *sids ); | |
689 typedef void (AL_APIENTRY *LPALSOURCEPLAY)( ALuint sid ); | |
690 typedef void (AL_APIENTRY *LPALSOURCESTOP)( ALuint sid ); | |
691 typedef void (AL_APIENTRY *LPALSOURCEREWIND)( ALuint sid ); | |
692 typedef void (AL_APIENTRY *LPALSOURCEPAUSE)( ALuint sid ); | |
693 typedef void (AL_APIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, const ALuint *bids ); | |
694 typedef void (AL_APIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, ALuint *bids ); | |
695 typedef void (AL_APIENTRY *LPALGENBUFFERS)( ALsizei n, ALuint* buffers ); | |
696 typedef void (AL_APIENTRY *LPALDELETEBUFFERS)( ALsizei n, const ALuint* buffers ); | |
697 typedef ALboolean (AL_APIENTRY *LPALISBUFFER)( ALuint bid ); | |
698 typedef void (AL_APIENTRY *LPALBUFFERDATA)( ALuint bid, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq ); | |
699 typedef void (AL_APIENTRY *LPALBUFFERF)( ALuint bid, ALenum param, ALfloat value); | |
700 typedef void (AL_APIENTRY *LPALBUFFER3F)( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |
701 typedef void (AL_APIENTRY *LPALBUFFERFV)( ALuint bid, ALenum param, const ALfloat* values ); | |
702 typedef void (AL_APIENTRY *LPALBUFFERI)( ALuint bid, ALenum param, ALint value); | |
703 typedef void (AL_APIENTRY *LPALBUFFER3I)( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); | |
704 typedef void (AL_APIENTRY *LPALBUFFERIV)( ALuint bid, ALenum param, const ALint* values ); | |
705 typedef void (AL_APIENTRY *LPALGETBUFFERF)( ALuint bid, ALenum param, ALfloat* value ); | |
706 typedef void (AL_APIENTRY *LPALGETBUFFER3F)( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); | |
707 typedef void (AL_APIENTRY *LPALGETBUFFERFV)( ALuint bid, ALenum param, ALfloat* values ); | |
708 typedef void (AL_APIENTRY *LPALGETBUFFERI)( ALuint bid, ALenum param, ALint* value ); | |
709 typedef void (AL_APIENTRY *LPALGETBUFFER3I)( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3); | |
710 typedef void (AL_APIENTRY *LPALGETBUFFERIV)( ALuint bid, ALenum param, ALint* values ); | |
711 typedef void (AL_APIENTRY *LPALDOPPLERFACTOR)( ALfloat value ); | |
712 typedef void (AL_APIENTRY *LPALDOPPLERVELOCITY)( ALfloat value ); | |
713 typedef void (AL_APIENTRY *LPALSPEEDOFSOUND)( ALfloat value ); | |
714 typedef void (AL_APIENTRY *LPALDISTANCEMODEL)( ALenum distanceModel ); | |
715 | |
716 #if defined(TARGET_OS_MAC) && TARGET_OS_MAC | |
717 #pragma export off | |
718 #endif | |
719 | |
720 #if defined(__cplusplus) | |
721 } /* extern "C" */ | |
722 #endif | |
723 | |
724 #endif /* AL_AL_H */ |