Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/ois_update/src/external/openal/al.h @ 7683

Last change on this file since 7683 was 7664, checked in by youngk, 14 years ago

Corrected some serious bug in OpenAL Mac and reduced warnings.

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