8 #ifndef AL_DISABLE_NOEXCEPT
9 #define AL_API_NOEXCEPT noexcept
10 #if __cplusplus >= 201703L
11 #define AL_API_NOEXCEPT17 noexcept
13 #define AL_API_NOEXCEPT17
16 #else /* AL_DISABLE_NOEXCEPT */
18 #define AL_API_NOEXCEPT
19 #define AL_API_NOEXCEPT17
22 #else /* __cplusplus */
24 #define AL_API_NOEXCEPT
25 #define AL_API_NOEXCEPT17
29 #if defined(AL_LIBTYPE_STATIC)
32 #define AL_API __declspec(dllimport)
39 #define AL_APIENTRY __cdecl
45 /* Deprecated macros. */
48 #define ALAPIENTRY AL_APIENTRY
49 #define AL_INVALID (-1)
50 #define AL_ILLEGAL_ENUM AL_INVALID_ENUM
51 #define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION
53 /* Supported AL versions. */
54 #define AL_VERSION_1_0
55 #define AL_VERSION_1_1
58 typedef char ALboolean
;
63 /** signed 8-bit integer */
64 typedef signed char ALbyte
;
66 /** unsigned 8-bit integer */
67 typedef unsigned char ALubyte
;
69 /** signed 16-bit integer */
70 typedef short ALshort
;
72 /** unsigned 16-bit integer */
73 typedef unsigned short ALushort
;
75 /** signed 32-bit integer */
78 /** unsigned 32-bit integer */
79 typedef unsigned int ALuint
;
81 /** non-negative 32-bit integer size */
84 /** 32-bit enumeration value */
87 /** 32-bit IEEE-754 floating-point */
88 typedef float ALfloat
;
90 /** 64-bit IEEE-754 floating-point */
91 typedef double ALdouble
;
93 /** void type (opaque pointers only) */
97 /* Enumeration values begin at column 50. Do not use tabs. */
99 /** No distance model or no buffer */
102 /** Boolean False. */
112 * Range: [AL_FALSE, AL_TRUE]
115 * Specifies if the source uses relative coordinates.
117 #define AL_SOURCE_RELATIVE 0x202
121 * Inner cone angle, in degrees.
122 * Type: ALint, ALfloat
126 * The angle covered by the inner cone, the area within which the source will
127 * not be attenuated by direction.
129 #define AL_CONE_INNER_ANGLE 0x1001
132 * Outer cone angle, in degrees.
136 * The angle covered by the outer cone, the area outside of which the source
137 * will be fully attenuated by direction.
139 #define AL_CONE_OUTER_ANGLE 0x1002
147 * A multiplier for the sample rate of the source's buffer.
149 #define AL_PITCH 0x1003
152 * Source or listener position.
153 * Type: ALfloat[3], ALint[3]
156 * The source or listener location in three dimensional space.
158 * OpenAL uses a right handed coordinate system, like OpenGL, where with a
159 * default view, X points right (thumb), Y points up (index finger), and Z
160 * points towards the viewer/camera (middle finger).
162 * To change from or to a left handed coordinate system, negate the Z
165 #define AL_POSITION 0x1004
169 * Type: ALfloat[3], ALint[3]
172 * Specifies the current direction in local space. A zero-length vector
173 * specifies an omni-directional source (cone is ignored).
175 * To change from or to a left handed coordinate system, negate the Z
178 #define AL_DIRECTION 0x1005
181 * Source or listener velocity.
182 * Type: ALfloat[3], ALint[3]
185 * Specifies the current velocity, relative to the position.
187 * To change from or to a left handed coordinate system, negate the Z
190 #define AL_VELOCITY 0x1006
195 * Range: [AL_FALSE, AL_TRUE]
198 * Specifies whether source playback loops.
200 #define AL_LOOPING 0x1007
205 * Range: any valid Buffer ID
208 * Specifies the buffer to provide sound samples for a source.
210 #define AL_BUFFER 0x1009
213 * Source or listener gain.
217 * For sources, an initial linear gain value (before attenuation is applied).
218 * For the listener, an output linear gain adjustment.
220 * A value of 1.0 means unattenuated. Each division by 2 equals an attenuation
221 * of about -6dB. Each multiplication by 2 equals an amplification of about
224 #define AL_GAIN 0x100A
227 * Minimum source gain.
231 * The minimum gain allowed for a source, after distance and cone attenuation
232 * are applied (if applicable).
234 #define AL_MIN_GAIN 0x100D
237 * Maximum source gain.
241 * The maximum gain allowed for a source, after distance and cone attenuation
242 * are applied (if applicable).
244 #define AL_MAX_GAIN 0x100E
247 * Listener orientation.
249 * Default: {0.0, 0.0, -1.0, 0.0, 1.0, 0.0}
251 * Effectively two three dimensional vectors. The first vector is the front (or
252 * "at") and the second is the top (or "up"). Both vectors are relative to the
255 * To change from or to a left handed coordinate system, negate the Z
256 * component of both vectors.
258 #define AL_ORIENTATION 0x100F
261 * Source state (query only).
263 * Range: [AL_INITIAL, AL_PLAYING, AL_PAUSED, AL_STOPPED]
265 #define AL_SOURCE_STATE 0x1010
267 /* Source state values. */
268 #define AL_INITIAL 0x1011
269 #define AL_PLAYING 0x1012
270 #define AL_PAUSED 0x1013
271 #define AL_STOPPED 0x1014
274 * Source Buffer Queue size (query only).
277 * The number of buffers queued using alSourceQueueBuffers, minus the buffers
278 * removed with alSourceUnqueueBuffers.
280 #define AL_BUFFERS_QUEUED 0x1015
283 * Source Buffer Queue processed count (query only).
286 * The number of queued buffers that have been fully processed, and can be
287 * removed with alSourceUnqueueBuffers.
289 * Looping sources will never fully process buffers because they will be set to
290 * play again for when the source loops.
292 #define AL_BUFFERS_PROCESSED 0x1016
295 * Source reference distance.
300 * The distance in units that no distance attenuation occurs.
302 * At 0.0, no distance attenuation occurs with non-linear attenuation models.
304 #define AL_REFERENCE_DISTANCE 0x1020
307 * Source rolloff factor.
312 * Multiplier to exaggerate or diminish distance attenuation.
314 * At 0.0, no distance attenuation ever occurs.
316 #define AL_ROLLOFF_FACTOR 0x1021
324 * The gain attenuation applied when the listener is outside of the source's
327 #define AL_CONE_OUTER_GAIN 0x1022
330 * Source maximum distance.
335 * The distance above which the source is not attenuated any further with a
336 * clamped distance model, or where attenuation reaches 0.0 gain for linear
337 * distance models with a default rolloff factor.
339 #define AL_MAX_DISTANCE 0x1023
341 /** Source buffer offset, in seconds */
342 #define AL_SEC_OFFSET 0x1024
343 /** Source buffer offset, in sample frames */
344 #define AL_SAMPLE_OFFSET 0x1025
345 /** Source buffer offset, in bytes */
346 #define AL_BYTE_OFFSET 0x1026
349 * Source type (query only).
351 * Range: [AL_STATIC, AL_STREAMING, AL_UNDETERMINED]
353 * A Source is Static if a Buffer has been attached using AL_BUFFER.
355 * A Source is Streaming if one or more Buffers have been attached using
356 * alSourceQueueBuffers.
358 * A Source is Undetermined when it has the NULL buffer attached using
361 #define AL_SOURCE_TYPE 0x1027
363 /* Source type values. */
364 #define AL_STATIC 0x1028
365 #define AL_STREAMING 0x1029
366 #define AL_UNDETERMINED 0x1030
368 /** Unsigned 8-bit mono buffer format. */
369 #define AL_FORMAT_MONO8 0x1100
370 /** Signed 16-bit mono buffer format. */
371 #define AL_FORMAT_MONO16 0x1101
372 /** Unsigned 8-bit stereo buffer format. */
373 #define AL_FORMAT_STEREO8 0x1102
374 /** Signed 16-bit stereo buffer format. */
375 #define AL_FORMAT_STEREO16 0x1103
377 /** Buffer frequency/sample rate (query only). */
378 #define AL_FREQUENCY 0x2001
379 /** Buffer bits per sample (query only). */
380 #define AL_BITS 0x2002
381 /** Buffer channel count (query only). */
382 #define AL_CHANNELS 0x2003
383 /** Buffer data size in bytes (query only). */
384 #define AL_SIZE 0x2004
386 /* Buffer state. Not for public use. */
387 #define AL_UNUSED 0x2010
388 #define AL_PENDING 0x2011
389 #define AL_PROCESSED 0x2012
393 #define AL_NO_ERROR 0
395 /** Invalid name (ID) passed to an AL call. */
396 #define AL_INVALID_NAME 0xA001
398 /** Invalid enumeration passed to AL call. */
399 #define AL_INVALID_ENUM 0xA002
401 /** Invalid value passed to AL call. */
402 #define AL_INVALID_VALUE 0xA003
404 /** Illegal AL call. */
405 #define AL_INVALID_OPERATION 0xA004
407 /** Not enough memory to execute the AL call. */
408 #define AL_OUT_OF_MEMORY 0xA005
411 /** Context string: Vendor name. */
412 #define AL_VENDOR 0xB001
413 /** Context string: Version. */
414 #define AL_VERSION 0xB002
415 /** Context string: Renderer name. */
416 #define AL_RENDERER 0xB003
417 /** Context string: Space-separated extension list. */
418 #define AL_EXTENSIONS 0xB004
426 * Scale for source and listener velocities.
428 #define AL_DOPPLER_FACTOR 0xC000
431 * Doppler velocity (deprecated).
433 * A multiplier applied to the Speed of Sound.
435 #define AL_DOPPLER_VELOCITY 0xC001
438 * Speed of Sound, in units per second.
443 * The speed at which sound waves are assumed to travel, when calculating the
444 * doppler effect from source and listener velocities.
446 #define AL_SPEED_OF_SOUND 0xC003
449 * Distance attenuation model.
451 * Range: [AL_NONE, AL_INVERSE_DISTANCE, AL_INVERSE_DISTANCE_CLAMPED,
452 * AL_LINEAR_DISTANCE, AL_LINEAR_DISTANCE_CLAMPED,
453 * AL_EXPONENT_DISTANCE, AL_EXPONENT_DISTANCE_CLAMPED]
454 * Default: AL_INVERSE_DISTANCE_CLAMPED
456 * The model by which sources attenuate with distance.
458 * None - No distance attenuation.
459 * Inverse - Doubling the distance halves the source gain.
460 * Linear - Linear gain scaling between the reference and max distances.
461 * Exponent - Exponential gain dropoff.
463 * Clamped variations work like the non-clamped counterparts, except the
464 * distance calculated is clamped between the reference and max distances.
466 #define AL_DISTANCE_MODEL 0xD000
468 /* Distance model values. */
469 #define AL_INVERSE_DISTANCE 0xD001
470 #define AL_INVERSE_DISTANCE_CLAMPED 0xD002
471 #define AL_LINEAR_DISTANCE 0xD003
472 #define AL_LINEAR_DISTANCE_CLAMPED 0xD004
473 #define AL_EXPONENT_DISTANCE 0xD005
474 #define AL_EXPONENT_DISTANCE_CLAMPED 0xD006
476 #ifndef AL_NO_PROTOTYPES
477 /* Renderer State management. */
478 AL_API
void AL_APIENTRY
alEnable(ALenum capability
) AL_API_NOEXCEPT
;
479 AL_API
void AL_APIENTRY
alDisable(ALenum capability
) AL_API_NOEXCEPT
;
480 AL_API ALboolean AL_APIENTRY
alIsEnabled(ALenum capability
) AL_API_NOEXCEPT
;
482 /* Context state setting. */
483 AL_API
void AL_APIENTRY
alDopplerFactor(ALfloat value
) AL_API_NOEXCEPT
;
484 AL_API
void AL_APIENTRY
alDopplerVelocity(ALfloat value
) AL_API_NOEXCEPT
;
485 AL_API
void AL_APIENTRY
alSpeedOfSound(ALfloat value
) AL_API_NOEXCEPT
;
486 AL_API
void AL_APIENTRY
alDistanceModel(ALenum distanceModel
) AL_API_NOEXCEPT
;
488 /* Context state retrieval. */
489 AL_API
const ALchar
* AL_APIENTRY
alGetString(ALenum param
) AL_API_NOEXCEPT
;
490 AL_API
void AL_APIENTRY
alGetBooleanv(ALenum param
, ALboolean
*values
) AL_API_NOEXCEPT
;
491 AL_API
void AL_APIENTRY
alGetIntegerv(ALenum param
, ALint
*values
) AL_API_NOEXCEPT
;
492 AL_API
void AL_APIENTRY
alGetFloatv(ALenum param
, ALfloat
*values
) AL_API_NOEXCEPT
;
493 AL_API
void AL_APIENTRY
alGetDoublev(ALenum param
, ALdouble
*values
) AL_API_NOEXCEPT
;
494 AL_API ALboolean AL_APIENTRY
alGetBoolean(ALenum param
) AL_API_NOEXCEPT
;
495 AL_API ALint AL_APIENTRY
alGetInteger(ALenum param
) AL_API_NOEXCEPT
;
496 AL_API ALfloat AL_APIENTRY
alGetFloat(ALenum param
) AL_API_NOEXCEPT
;
497 AL_API ALdouble AL_APIENTRY
alGetDouble(ALenum param
) AL_API_NOEXCEPT
;
500 * Obtain the first error generated in the AL context since the last call to
503 AL_API ALenum AL_APIENTRY
alGetError(void) AL_API_NOEXCEPT
;
505 /** Query for the presence of an extension on the AL context. */
506 AL_API ALboolean AL_APIENTRY
alIsExtensionPresent(const ALchar
*extname
) AL_API_NOEXCEPT
;
508 * Retrieve the address of a function. The returned function may be context-
511 AL_API
void* AL_APIENTRY
alGetProcAddress(const ALchar
*fname
) AL_API_NOEXCEPT
;
513 * Retrieve the value of an enum. The returned value may be context-specific.
515 AL_API ALenum AL_APIENTRY
alGetEnumValue(const ALchar
*ename
) AL_API_NOEXCEPT
;
518 /* Set listener parameters. */
519 AL_API
void AL_APIENTRY
alListenerf(ALenum param
, ALfloat value
) AL_API_NOEXCEPT
;
520 AL_API
void AL_APIENTRY
alListener3f(ALenum param
, ALfloat value1
, ALfloat value2
, ALfloat value3
) AL_API_NOEXCEPT
;
521 AL_API
void AL_APIENTRY
alListenerfv(ALenum param
, const ALfloat
*values
) AL_API_NOEXCEPT
;
522 AL_API
void AL_APIENTRY
alListeneri(ALenum param
, ALint value
) AL_API_NOEXCEPT
;
523 AL_API
void AL_APIENTRY
alListener3i(ALenum param
, ALint value1
, ALint value2
, ALint value3
) AL_API_NOEXCEPT
;
524 AL_API
void AL_APIENTRY
alListeneriv(ALenum param
, const ALint
*values
) AL_API_NOEXCEPT
;
526 /* Get listener parameters. */
527 AL_API
void AL_APIENTRY
alGetListenerf(ALenum param
, ALfloat
*value
) AL_API_NOEXCEPT
;
528 AL_API
void AL_APIENTRY
alGetListener3f(ALenum param
, ALfloat
*value1
, ALfloat
*value2
, ALfloat
*value3
) AL_API_NOEXCEPT
;
529 AL_API
void AL_APIENTRY
alGetListenerfv(ALenum param
, ALfloat
*values
) AL_API_NOEXCEPT
;
530 AL_API
void AL_APIENTRY
alGetListeneri(ALenum param
, ALint
*value
) AL_API_NOEXCEPT
;
531 AL_API
void AL_APIENTRY
alGetListener3i(ALenum param
, ALint
*value1
, ALint
*value2
, ALint
*value3
) AL_API_NOEXCEPT
;
532 AL_API
void AL_APIENTRY
alGetListeneriv(ALenum param
, ALint
*values
) AL_API_NOEXCEPT
;
535 /** Create source objects. */
536 AL_API
void AL_APIENTRY
alGenSources(ALsizei n
, ALuint
*sources
) AL_API_NOEXCEPT
;
537 /** Delete source objects. */
538 AL_API
void AL_APIENTRY
alDeleteSources(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT
;
539 /** Verify an ID is for a valid source. */
540 AL_API ALboolean AL_APIENTRY
alIsSource(ALuint source
) AL_API_NOEXCEPT
;
542 /* Set source parameters. */
543 AL_API
void AL_APIENTRY
alSourcef(ALuint source
, ALenum param
, ALfloat value
) AL_API_NOEXCEPT
;
544 AL_API
void AL_APIENTRY
alSource3f(ALuint source
, ALenum param
, ALfloat value1
, ALfloat value2
, ALfloat value3
) AL_API_NOEXCEPT
;
545 AL_API
void AL_APIENTRY
alSourcefv(ALuint source
, ALenum param
, const ALfloat
*values
) AL_API_NOEXCEPT
;
546 AL_API
void AL_APIENTRY
alSourcei(ALuint source
, ALenum param
, ALint value
) AL_API_NOEXCEPT
;
547 AL_API
void AL_APIENTRY
alSource3i(ALuint source
, ALenum param
, ALint value1
, ALint value2
, ALint value3
) AL_API_NOEXCEPT
;
548 AL_API
void AL_APIENTRY
alSourceiv(ALuint source
, ALenum param
, const ALint
*values
) AL_API_NOEXCEPT
;
550 /* Get source parameters. */
551 AL_API
void AL_APIENTRY
alGetSourcef(ALuint source
, ALenum param
, ALfloat
*value
) AL_API_NOEXCEPT
;
552 AL_API
void AL_APIENTRY
alGetSource3f(ALuint source
, ALenum param
, ALfloat
*value1
, ALfloat
*value2
, ALfloat
*value3
) AL_API_NOEXCEPT
;
553 AL_API
void AL_APIENTRY
alGetSourcefv(ALuint source
, ALenum param
, ALfloat
*values
) AL_API_NOEXCEPT
;
554 AL_API
void AL_APIENTRY
alGetSourcei(ALuint source
, ALenum param
, ALint
*value
) AL_API_NOEXCEPT
;
555 AL_API
void AL_APIENTRY
alGetSource3i(ALuint source
, ALenum param
, ALint
*value1
, ALint
*value2
, ALint
*value3
) AL_API_NOEXCEPT
;
556 AL_API
void AL_APIENTRY
alGetSourceiv(ALuint source
, ALenum param
, ALint
*values
) AL_API_NOEXCEPT
;
559 /** Play, restart, or resume a source, setting its state to AL_PLAYING. */
560 AL_API
void AL_APIENTRY
alSourcePlay(ALuint source
) AL_API_NOEXCEPT
;
561 /** Stop a source, setting its state to AL_STOPPED if playing or paused. */
562 AL_API
void AL_APIENTRY
alSourceStop(ALuint source
) AL_API_NOEXCEPT
;
563 /** Rewind a source, setting its state to AL_INITIAL. */
564 AL_API
void AL_APIENTRY
alSourceRewind(ALuint source
) AL_API_NOEXCEPT
;
565 /** Pause a source, setting its state to AL_PAUSED if playing. */
566 AL_API
void AL_APIENTRY
alSourcePause(ALuint source
) AL_API_NOEXCEPT
;
568 /** Play, restart, or resume a list of sources atomically. */
569 AL_API
void AL_APIENTRY
alSourcePlayv(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT
;
570 /** Stop a list of sources atomically. */
571 AL_API
void AL_APIENTRY
alSourceStopv(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT
;
572 /** Rewind a list of sources atomically. */
573 AL_API
void AL_APIENTRY
alSourceRewindv(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT
;
574 /** Pause a list of sources atomically. */
575 AL_API
void AL_APIENTRY
alSourcePausev(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT
;
577 /** Queue buffers onto a source */
578 AL_API
void AL_APIENTRY
alSourceQueueBuffers(ALuint source
, ALsizei nb
, const ALuint
*buffers
) AL_API_NOEXCEPT
;
579 /** Unqueue processed buffers from a source */
580 AL_API
void AL_APIENTRY
alSourceUnqueueBuffers(ALuint source
, ALsizei nb
, ALuint
*buffers
) AL_API_NOEXCEPT
;
583 /** Create buffer objects */
584 AL_API
void AL_APIENTRY
alGenBuffers(ALsizei n
, ALuint
*buffers
) AL_API_NOEXCEPT
;
585 /** Delete buffer objects */
586 AL_API
void AL_APIENTRY
alDeleteBuffers(ALsizei n
, const ALuint
*buffers
) AL_API_NOEXCEPT
;
587 /** Verify an ID is a valid buffer (including the NULL buffer) */
588 AL_API ALboolean AL_APIENTRY
alIsBuffer(ALuint buffer
) AL_API_NOEXCEPT
;
591 * Copies data into the buffer, interpreting it using the specified format and
594 AL_API
void AL_APIENTRY
alBufferData(ALuint buffer
, ALenum format
, const ALvoid
*data
, ALsizei size
, ALsizei samplerate
) AL_API_NOEXCEPT
;
596 /* Set buffer parameters. */
597 AL_API
void AL_APIENTRY
alBufferf(ALuint buffer
, ALenum param
, ALfloat value
) AL_API_NOEXCEPT
;
598 AL_API
void AL_APIENTRY
alBuffer3f(ALuint buffer
, ALenum param
, ALfloat value1
, ALfloat value2
, ALfloat value3
) AL_API_NOEXCEPT
;
599 AL_API
void AL_APIENTRY
alBufferfv(ALuint buffer
, ALenum param
, const ALfloat
*values
) AL_API_NOEXCEPT
;
600 AL_API
void AL_APIENTRY
alBufferi(ALuint buffer
, ALenum param
, ALint value
) AL_API_NOEXCEPT
;
601 AL_API
void AL_APIENTRY
alBuffer3i(ALuint buffer
, ALenum param
, ALint value1
, ALint value2
, ALint value3
) AL_API_NOEXCEPT
;
602 AL_API
void AL_APIENTRY
alBufferiv(ALuint buffer
, ALenum param
, const ALint
*values
) AL_API_NOEXCEPT
;
604 /* Get buffer parameters. */
605 AL_API
void AL_APIENTRY
alGetBufferf(ALuint buffer
, ALenum param
, ALfloat
*value
) AL_API_NOEXCEPT
;
606 AL_API
void AL_APIENTRY
alGetBuffer3f(ALuint buffer
, ALenum param
, ALfloat
*value1
, ALfloat
*value2
, ALfloat
*value3
) AL_API_NOEXCEPT
;
607 AL_API
void AL_APIENTRY
alGetBufferfv(ALuint buffer
, ALenum param
, ALfloat
*values
) AL_API_NOEXCEPT
;
608 AL_API
void AL_APIENTRY
alGetBufferi(ALuint buffer
, ALenum param
, ALint
*value
) AL_API_NOEXCEPT
;
609 AL_API
void AL_APIENTRY
alGetBuffer3i(ALuint buffer
, ALenum param
, ALint
*value1
, ALint
*value2
, ALint
*value3
) AL_API_NOEXCEPT
;
610 AL_API
void AL_APIENTRY
alGetBufferiv(ALuint buffer
, ALenum param
, ALint
*values
) AL_API_NOEXCEPT
;
611 #endif /* AL_NO_PROTOTYPES */
613 /* Pointer-to-function types, useful for storing dynamically loaded AL entry
616 typedef void (AL_APIENTRY
*LPALENABLE
)(ALenum capability
) AL_API_NOEXCEPT17
;
617 typedef void (AL_APIENTRY
*LPALDISABLE
)(ALenum capability
) AL_API_NOEXCEPT17
;
618 typedef ALboolean (AL_APIENTRY
*LPALISENABLED
)(ALenum capability
) AL_API_NOEXCEPT17
;
619 typedef const ALchar
* (AL_APIENTRY
*LPALGETSTRING
)(ALenum param
) AL_API_NOEXCEPT17
;
620 typedef void (AL_APIENTRY
*LPALGETBOOLEANV
)(ALenum param
, ALboolean
*values
) AL_API_NOEXCEPT17
;
621 typedef void (AL_APIENTRY
*LPALGETINTEGERV
)(ALenum param
, ALint
*values
) AL_API_NOEXCEPT17
;
622 typedef void (AL_APIENTRY
*LPALGETFLOATV
)(ALenum param
, ALfloat
*values
) AL_API_NOEXCEPT17
;
623 typedef void (AL_APIENTRY
*LPALGETDOUBLEV
)(ALenum param
, ALdouble
*values
) AL_API_NOEXCEPT17
;
624 typedef ALboolean (AL_APIENTRY
*LPALGETBOOLEAN
)(ALenum param
) AL_API_NOEXCEPT17
;
625 typedef ALint (AL_APIENTRY
*LPALGETINTEGER
)(ALenum param
) AL_API_NOEXCEPT17
;
626 typedef ALfloat (AL_APIENTRY
*LPALGETFLOAT
)(ALenum param
) AL_API_NOEXCEPT17
;
627 typedef ALdouble (AL_APIENTRY
*LPALGETDOUBLE
)(ALenum param
) AL_API_NOEXCEPT17
;
628 typedef ALenum (AL_APIENTRY
*LPALGETERROR
)(void) AL_API_NOEXCEPT17
;
629 typedef ALboolean (AL_APIENTRY
*LPALISEXTENSIONPRESENT
)(const ALchar
*extname
) AL_API_NOEXCEPT17
;
630 typedef void* (AL_APIENTRY
*LPALGETPROCADDRESS
)(const ALchar
*fname
) AL_API_NOEXCEPT17
;
631 typedef ALenum (AL_APIENTRY
*LPALGETENUMVALUE
)(const ALchar
*ename
) AL_API_NOEXCEPT17
;
632 typedef void (AL_APIENTRY
*LPALLISTENERF
)(ALenum param
, ALfloat value
) AL_API_NOEXCEPT17
;
633 typedef void (AL_APIENTRY
*LPALLISTENER3F
)(ALenum param
, ALfloat value1
, ALfloat value2
, ALfloat value3
) AL_API_NOEXCEPT17
;
634 typedef void (AL_APIENTRY
*LPALLISTENERFV
)(ALenum param
, const ALfloat
*values
) AL_API_NOEXCEPT17
;
635 typedef void (AL_APIENTRY
*LPALLISTENERI
)(ALenum param
, ALint value
) AL_API_NOEXCEPT17
;
636 typedef void (AL_APIENTRY
*LPALLISTENER3I
)(ALenum param
, ALint value1
, ALint value2
, ALint value3
) AL_API_NOEXCEPT17
;
637 typedef void (AL_APIENTRY
*LPALLISTENERIV
)(ALenum param
, const ALint
*values
) AL_API_NOEXCEPT17
;
638 typedef void (AL_APIENTRY
*LPALGETLISTENERF
)(ALenum param
, ALfloat
*value
) AL_API_NOEXCEPT17
;
639 typedef void (AL_APIENTRY
*LPALGETLISTENER3F
)(ALenum param
, ALfloat
*value1
, ALfloat
*value2
, ALfloat
*value3
) AL_API_NOEXCEPT17
;
640 typedef void (AL_APIENTRY
*LPALGETLISTENERFV
)(ALenum param
, ALfloat
*values
) AL_API_NOEXCEPT17
;
641 typedef void (AL_APIENTRY
*LPALGETLISTENERI
)(ALenum param
, ALint
*value
) AL_API_NOEXCEPT17
;
642 typedef void (AL_APIENTRY
*LPALGETLISTENER3I
)(ALenum param
, ALint
*value1
, ALint
*value2
, ALint
*value3
) AL_API_NOEXCEPT17
;
643 typedef void (AL_APIENTRY
*LPALGETLISTENERIV
)(ALenum param
, ALint
*values
) AL_API_NOEXCEPT17
;
644 typedef void (AL_APIENTRY
*LPALGENSOURCES
)(ALsizei n
, ALuint
*sources
) AL_API_NOEXCEPT17
;
645 typedef void (AL_APIENTRY
*LPALDELETESOURCES
)(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT17
;
646 typedef ALboolean (AL_APIENTRY
*LPALISSOURCE
)(ALuint source
) AL_API_NOEXCEPT17
;
647 typedef void (AL_APIENTRY
*LPALSOURCEF
)(ALuint source
, ALenum param
, ALfloat value
) AL_API_NOEXCEPT17
;
648 typedef void (AL_APIENTRY
*LPALSOURCE3F
)(ALuint source
, ALenum param
, ALfloat value1
, ALfloat value2
, ALfloat value3
) AL_API_NOEXCEPT17
;
649 typedef void (AL_APIENTRY
*LPALSOURCEFV
)(ALuint source
, ALenum param
, const ALfloat
*values
) AL_API_NOEXCEPT17
;
650 typedef void (AL_APIENTRY
*LPALSOURCEI
)(ALuint source
, ALenum param
, ALint value
) AL_API_NOEXCEPT17
;
651 typedef void (AL_APIENTRY
*LPALSOURCE3I
)(ALuint source
, ALenum param
, ALint value1
, ALint value2
, ALint value3
) AL_API_NOEXCEPT17
;
652 typedef void (AL_APIENTRY
*LPALSOURCEIV
)(ALuint source
, ALenum param
, const ALint
*values
) AL_API_NOEXCEPT17
;
653 typedef void (AL_APIENTRY
*LPALGETSOURCEF
)(ALuint source
, ALenum param
, ALfloat
*value
) AL_API_NOEXCEPT17
;
654 typedef void (AL_APIENTRY
*LPALGETSOURCE3F
)(ALuint source
, ALenum param
, ALfloat
*value1
, ALfloat
*value2
, ALfloat
*value3
) AL_API_NOEXCEPT17
;
655 typedef void (AL_APIENTRY
*LPALGETSOURCEFV
)(ALuint source
, ALenum param
, ALfloat
*values
) AL_API_NOEXCEPT17
;
656 typedef void (AL_APIENTRY
*LPALGETSOURCEI
)(ALuint source
, ALenum param
, ALint
*value
) AL_API_NOEXCEPT17
;
657 typedef void (AL_APIENTRY
*LPALGETSOURCE3I
)(ALuint source
, ALenum param
, ALint
*value1
, ALint
*value2
, ALint
*value3
) AL_API_NOEXCEPT17
;
658 typedef void (AL_APIENTRY
*LPALGETSOURCEIV
)(ALuint source
, ALenum param
, ALint
*values
) AL_API_NOEXCEPT17
;
659 typedef void (AL_APIENTRY
*LPALSOURCEPLAYV
)(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT17
;
660 typedef void (AL_APIENTRY
*LPALSOURCESTOPV
)(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT17
;
661 typedef void (AL_APIENTRY
*LPALSOURCEREWINDV
)(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT17
;
662 typedef void (AL_APIENTRY
*LPALSOURCEPAUSEV
)(ALsizei n
, const ALuint
*sources
) AL_API_NOEXCEPT17
;
663 typedef void (AL_APIENTRY
*LPALSOURCEPLAY
)(ALuint source
) AL_API_NOEXCEPT17
;
664 typedef void (AL_APIENTRY
*LPALSOURCESTOP
)(ALuint source
) AL_API_NOEXCEPT17
;
665 typedef void (AL_APIENTRY
*LPALSOURCEREWIND
)(ALuint source
) AL_API_NOEXCEPT17
;
666 typedef void (AL_APIENTRY
*LPALSOURCEPAUSE
)(ALuint source
) AL_API_NOEXCEPT17
;
667 typedef void (AL_APIENTRY
*LPALSOURCEQUEUEBUFFERS
)(ALuint source
, ALsizei nb
, const ALuint
*buffers
) AL_API_NOEXCEPT17
;
668 typedef void (AL_APIENTRY
*LPALSOURCEUNQUEUEBUFFERS
)(ALuint source
, ALsizei nb
, ALuint
*buffers
) AL_API_NOEXCEPT17
;
669 typedef void (AL_APIENTRY
*LPALGENBUFFERS
)(ALsizei n
, ALuint
*buffers
) AL_API_NOEXCEPT17
;
670 typedef void (AL_APIENTRY
*LPALDELETEBUFFERS
)(ALsizei n
, const ALuint
*buffers
) AL_API_NOEXCEPT17
;
671 typedef ALboolean (AL_APIENTRY
*LPALISBUFFER
)(ALuint buffer
) AL_API_NOEXCEPT17
;
672 typedef void (AL_APIENTRY
*LPALBUFFERDATA
)(ALuint buffer
, ALenum format
, const ALvoid
*data
, ALsizei size
, ALsizei samplerate
) AL_API_NOEXCEPT17
;
673 typedef void (AL_APIENTRY
*LPALBUFFERF
)(ALuint buffer
, ALenum param
, ALfloat value
) AL_API_NOEXCEPT17
;
674 typedef void (AL_APIENTRY
*LPALBUFFER3F
)(ALuint buffer
, ALenum param
, ALfloat value1
, ALfloat value2
, ALfloat value3
) AL_API_NOEXCEPT17
;
675 typedef void (AL_APIENTRY
*LPALBUFFERFV
)(ALuint buffer
, ALenum param
, const ALfloat
*values
) AL_API_NOEXCEPT17
;
676 typedef void (AL_APIENTRY
*LPALBUFFERI
)(ALuint buffer
, ALenum param
, ALint value
) AL_API_NOEXCEPT17
;
677 typedef void (AL_APIENTRY
*LPALBUFFER3I
)(ALuint buffer
, ALenum param
, ALint value1
, ALint value2
, ALint value3
) AL_API_NOEXCEPT17
;
678 typedef void (AL_APIENTRY
*LPALBUFFERIV
)(ALuint buffer
, ALenum param
, const ALint
*values
) AL_API_NOEXCEPT17
;
679 typedef void (AL_APIENTRY
*LPALGETBUFFERF
)(ALuint buffer
, ALenum param
, ALfloat
*value
) AL_API_NOEXCEPT17
;
680 typedef void (AL_APIENTRY
*LPALGETBUFFER3F
)(ALuint buffer
, ALenum param
, ALfloat
*value1
, ALfloat
*value2
, ALfloat
*value3
) AL_API_NOEXCEPT17
;
681 typedef void (AL_APIENTRY
*LPALGETBUFFERFV
)(ALuint buffer
, ALenum param
, ALfloat
*values
) AL_API_NOEXCEPT17
;
682 typedef void (AL_APIENTRY
*LPALGETBUFFERI
)(ALuint buffer
, ALenum param
, ALint
*value
) AL_API_NOEXCEPT17
;
683 typedef void (AL_APIENTRY
*LPALGETBUFFER3I
)(ALuint buffer
, ALenum param
, ALint
*value1
, ALint
*value2
, ALint
*value3
) AL_API_NOEXCEPT17
;
684 typedef void (AL_APIENTRY
*LPALGETBUFFERIV
)(ALuint buffer
, ALenum param
, ALint
*values
) AL_API_NOEXCEPT17
;
685 typedef void (AL_APIENTRY
*LPALDOPPLERFACTOR
)(ALfloat value
) AL_API_NOEXCEPT17
;
686 typedef void (AL_APIENTRY
*LPALDOPPLERVELOCITY
)(ALfloat value
) AL_API_NOEXCEPT17
;
687 typedef void (AL_APIENTRY
*LPALSPEEDOFSOUND
)(ALfloat value
) AL_API_NOEXCEPT17
;
688 typedef void (AL_APIENTRY
*LPALDISTANCEMODEL
)(ALenum distanceModel
) AL_API_NOEXCEPT17
;