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