mirror of
https://github.com/UberGames/ioef.git
synced 2024-12-20 17:41:02 +00:00
656 lines
25 KiB
C
656 lines
25 KiB
C
#ifndef AL_AL_H
|
|
#define AL_AL_H
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef AL_API
|
|
#if defined(AL_LIBTYPE_STATIC)
|
|
#define AL_API
|
|
#elif defined(_WIN32)
|
|
#define AL_API __declspec(dllimport)
|
|
#else
|
|
#define AL_API extern
|
|
#endif
|
|
#endif
|
|
|
|
#if defined(_WIN32)
|
|
#define AL_APIENTRY __cdecl
|
|
#else
|
|
#define AL_APIENTRY
|
|
#endif
|
|
|
|
|
|
/** Deprecated macro. */
|
|
#define OPENAL
|
|
#define ALAPI AL_API
|
|
#define ALAPIENTRY AL_APIENTRY
|
|
#define AL_INVALID (-1)
|
|
#define AL_ILLEGAL_ENUM AL_INVALID_ENUM
|
|
#define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION
|
|
|
|
/** Supported AL version. */
|
|
#define AL_VERSION_1_0
|
|
#define AL_VERSION_1_1
|
|
|
|
/** 8-bit boolean */
|
|
typedef char ALboolean;
|
|
|
|
/** character */
|
|
typedef char ALchar;
|
|
|
|
/** signed 8-bit 2's complement integer */
|
|
typedef signed char ALbyte;
|
|
|
|
/** unsigned 8-bit integer */
|
|
typedef unsigned char ALubyte;
|
|
|
|
/** signed 16-bit 2's complement integer */
|
|
typedef short ALshort;
|
|
|
|
/** unsigned 16-bit integer */
|
|
typedef unsigned short ALushort;
|
|
|
|
/** signed 32-bit 2's complement integer */
|
|
typedef int ALint;
|
|
|
|
/** unsigned 32-bit integer */
|
|
typedef unsigned int ALuint;
|
|
|
|
/** non-negative 32-bit binary integer size */
|
|
typedef int ALsizei;
|
|
|
|
/** enumerated 32-bit value */
|
|
typedef int ALenum;
|
|
|
|
/** 32-bit IEEE754 floating-point */
|
|
typedef float ALfloat;
|
|
|
|
/** 64-bit IEEE754 floating-point */
|
|
typedef double ALdouble;
|
|
|
|
/** void type (for opaque pointers only) */
|
|
typedef void ALvoid;
|
|
|
|
|
|
/* Enumerant values begin at column 50. No tabs. */
|
|
|
|
/** "no distance model" or "no buffer" */
|
|
#define AL_NONE 0
|
|
|
|
/** Boolean False. */
|
|
#define AL_FALSE 0
|
|
|
|
/** Boolean True. */
|
|
#define AL_TRUE 1
|
|
|
|
|
|
/**
|
|
* Relative source.
|
|
* Type: ALboolean
|
|
* Range: [AL_TRUE, AL_FALSE]
|
|
* Default: AL_FALSE
|
|
*
|
|
* Specifies if the Source has relative coordinates.
|
|
*/
|
|
#define AL_SOURCE_RELATIVE 0x202
|
|
|
|
|
|
/**
|
|
* Inner cone angle, in degrees.
|
|
* Type: ALint, ALfloat
|
|
* Range: [0 - 360]
|
|
* Default: 360
|
|
*
|
|
* The angle covered by the inner cone, where the source will not attenuate.
|
|
*/
|
|
#define AL_CONE_INNER_ANGLE 0x1001
|
|
|
|
/**
|
|
* Outer cone angle, in degrees.
|
|
* Range: [0 - 360]
|
|
* Default: 360
|
|
*
|
|
* The angle covered by the outer cone, where the source will be fully
|
|
* attenuated.
|
|
*/
|
|
#define AL_CONE_OUTER_ANGLE 0x1002
|
|
|
|
/**
|
|
* Source pitch.
|
|
* Type: ALfloat
|
|
* Range: [0.5 - 2.0]
|
|
* Default: 1.0
|
|
*
|
|
* A multiplier for the frequency (sample rate) of the source's buffer.
|
|
*/
|
|
#define AL_PITCH 0x1003
|
|
|
|
/**
|
|
* Source or listener position.
|
|
* Type: ALfloat[3], ALint[3]
|
|
* Default: {0, 0, 0}
|
|
*
|
|
* The source or listener location in three dimensional space.
|
|
*
|
|
* OpenAL, like OpenGL, uses a right handed coordinate system, where in a
|
|
* frontal default view X (thumb) points right, Y points up (index finger), and
|
|
* Z points towards the viewer/camera (middle finger).
|
|
*
|
|
* To switch from a left handed coordinate system, flip the sign on the Z
|
|
* coordinate.
|
|
*/
|
|
#define AL_POSITION 0x1004
|
|
|
|
/**
|
|
* Source direction.
|
|
* Type: ALfloat[3], ALint[3]
|
|
* Default: {0, 0, 0}
|
|
*
|
|
* Specifies the current direction in local space.
|
|
* A zero-length vector specifies an omni-directional source (cone is ignored).
|
|
*/
|
|
#define AL_DIRECTION 0x1005
|
|
|
|
/**
|
|
* Source or listener velocity.
|
|
* Type: ALfloat[3], ALint[3]
|
|
* Default: {0, 0, 0}
|
|
*
|
|
* Specifies the current velocity in local space.
|
|
*/
|
|
#define AL_VELOCITY 0x1006
|
|
|
|
/**
|
|
* Source looping.
|
|
* Type: ALboolean
|
|
* Range: [AL_TRUE, AL_FALSE]
|
|
* Default: AL_FALSE
|
|
*
|
|
* Specifies whether source is looping.
|
|
*/
|
|
#define AL_LOOPING 0x1007
|
|
|
|
/**
|
|
* Source buffer.
|
|
* Type: ALuint
|
|
* Range: any valid Buffer.
|
|
*
|
|
* Specifies the buffer to provide sound samples.
|
|
*/
|
|
#define AL_BUFFER 0x1009
|
|
|
|
/**
|
|
* Source or listener gain.
|
|
* Type: ALfloat
|
|
* Range: [0.0 - ]
|
|
*
|
|
* A value of 1.0 means unattenuated. Each division by 2 equals an attenuation
|
|
* of about -6dB. Each multiplicaton by 2 equals an amplification of about
|
|
* +6dB.
|
|
*
|
|
* A value of 0.0 is meaningless with respect to a logarithmic scale; it is
|
|
* silent.
|
|
*/
|
|
#define AL_GAIN 0x100A
|
|
|
|
/**
|
|
* Minimum source gain.
|
|
* Type: ALfloat
|
|
* Range: [0.0 - 1.0]
|
|
*
|
|
* The minimum gain allowed for a source, after distance and cone attenation is
|
|
* applied (if applicable).
|
|
*/
|
|
#define AL_MIN_GAIN 0x100D
|
|
|
|
/**
|
|
* Maximum source gain.
|
|
* Type: ALfloat
|
|
* Range: [0.0 - 1.0]
|
|
*
|
|
* The maximum gain allowed for a source, after distance and cone attenation is
|
|
* applied (if applicable).
|
|
*/
|
|
#define AL_MAX_GAIN 0x100E
|
|
|
|
/**
|
|
* Listener orientation.
|
|
* Type: ALfloat[6]
|
|
* Default: {0.0, 0.0, -1.0, 0.0, 1.0, 0.0}
|
|
*
|
|
* Effectively two three dimensional vectors. The first vector is the front (or
|
|
* "at") and the second is the top (or "up").
|
|
*
|
|
* Both vectors are in local space.
|
|
*/
|
|
#define AL_ORIENTATION 0x100F
|
|
|
|
/**
|
|
* Source state (query only).
|
|
* Type: ALint
|
|
* Range: [AL_INITIAL, AL_PLAYING, AL_PAUSED, AL_STOPPED]
|
|
*/
|
|
#define AL_SOURCE_STATE 0x1010
|
|
|
|
/** Source state value. */
|
|
#define AL_INITIAL 0x1011
|
|
#define AL_PLAYING 0x1012
|
|
#define AL_PAUSED 0x1013
|
|
#define AL_STOPPED 0x1014
|
|
|
|
/**
|
|
* Source Buffer Queue size (query only).
|
|
* Type: ALint
|
|
*
|
|
* The number of buffers queued using alSourceQueueBuffers, minus the buffers
|
|
* removed with alSourceUnqueueBuffers.
|
|
*/
|
|
#define AL_BUFFERS_QUEUED 0x1015
|
|
|
|
/**
|
|
* Source Buffer Queue processed count (query only).
|
|
* Type: ALint
|
|
*
|
|
* The number of queued buffers that have been fully processed, and can be
|
|
* removed with alSourceUnqueueBuffers.
|
|
*
|
|
* Looping sources will never fully process buffers because they will be set to
|
|
* play again for when the source loops.
|
|
*/
|
|
#define AL_BUFFERS_PROCESSED 0x1016
|
|
|
|
/**
|
|
* Source reference distance.
|
|
* Type: ALfloat
|
|
* Range: [0.0 - ]
|
|
* Default: 1.0
|
|
*
|
|
* The distance in units that no attenuation occurs.
|
|
*
|
|
* At 0.0, no distance attenuation ever occurs on non-linear attenuation models.
|
|
*/
|
|
#define AL_REFERENCE_DISTANCE 0x1020
|
|
|
|
/**
|
|
* Source rolloff factor.
|
|
* Type: ALfloat
|
|
* Range: [0.0 - ]
|
|
* Default: 1.0
|
|
*
|
|
* Multiplier to exaggerate or diminish distance attenuation.
|
|
*
|
|
* At 0.0, no distance attenuation ever occurs.
|
|
*/
|
|
#define AL_ROLLOFF_FACTOR 0x1021
|
|
|
|
/**
|
|
* Outer cone gain.
|
|
* Type: ALfloat
|
|
* Range: [0.0 - 1.0]
|
|
* Default: 0.0
|
|
*
|
|
* The gain attenuation applied when the listener is outside of the source's
|
|
* outer cone.
|
|
*/
|
|
#define AL_CONE_OUTER_GAIN 0x1022
|
|
|
|
/**
|
|
* Source maximum distance.
|
|
* Type: ALfloat
|
|
* Range: [0.0 - ]
|
|
* Default: +inf
|
|
*
|
|
* The distance above which the source is not attenuated any further with a
|
|
* clamped distance model, or where attenuation reaches 0.0 gain for linear
|
|
* distance models with a default rolloff factor.
|
|
*/
|
|
#define AL_MAX_DISTANCE 0x1023
|
|
|
|
/** Source buffer position, in seconds */
|
|
#define AL_SEC_OFFSET 0x1024
|
|
/** Source buffer position, in sample frames */
|
|
#define AL_SAMPLE_OFFSET 0x1025
|
|
/** Source buffer position, in bytes */
|
|
#define AL_BYTE_OFFSET 0x1026
|
|
|
|
/**
|
|
* Source type (query only).
|
|
* Type: ALint
|
|
* Range: [AL_STATIC, AL_STREAMING, AL_UNDETERMINED]
|
|
*
|
|
* A Source is Static if a Buffer has been attached using AL_BUFFER.
|
|
*
|
|
* A Source is Streaming if one or more Buffers have been attached using
|
|
* alSourceQueueBuffers.
|
|
*
|
|
* A Source is Undetermined when it has the NULL buffer attached using
|
|
* AL_BUFFER.
|
|
*/
|
|
#define AL_SOURCE_TYPE 0x1027
|
|
|
|
/** Source type value. */
|
|
#define AL_STATIC 0x1028
|
|
#define AL_STREAMING 0x1029
|
|
#define AL_UNDETERMINED 0x1030
|
|
|
|
/** Buffer format specifier. */
|
|
#define AL_FORMAT_MONO8 0x1100
|
|
#define AL_FORMAT_MONO16 0x1101
|
|
#define AL_FORMAT_STEREO8 0x1102
|
|
#define AL_FORMAT_STEREO16 0x1103
|
|
|
|
/** Buffer frequency (query only). */
|
|
#define AL_FREQUENCY 0x2001
|
|
/** Buffer bits per sample (query only). */
|
|
#define AL_BITS 0x2002
|
|
/** Buffer channel count (query only). */
|
|
#define AL_CHANNELS 0x2003
|
|
/** Buffer data size (query only). */
|
|
#define AL_SIZE 0x2004
|
|
|
|
/**
|
|
* Buffer state.
|
|
*
|
|
* Not for public use.
|
|
*/
|
|
#define AL_UNUSED 0x2010
|
|
#define AL_PENDING 0x2011
|
|
#define AL_PROCESSED 0x2012
|
|
|
|
|
|
/** No error. */
|
|
#define AL_NO_ERROR 0
|
|
|
|
/** Invalid name paramater passed to AL call. */
|
|
#define AL_INVALID_NAME 0xA001
|
|
|
|
/** Invalid enum parameter passed to AL call. */
|
|
#define AL_INVALID_ENUM 0xA002
|
|
|
|
/** Invalid value parameter passed to AL call. */
|
|
#define AL_INVALID_VALUE 0xA003
|
|
|
|
/** Illegal AL call. */
|
|
#define AL_INVALID_OPERATION 0xA004
|
|
|
|
/** Not enough memory. */
|
|
#define AL_OUT_OF_MEMORY 0xA005
|
|
|
|
|
|
/** Context string: Vendor ID. */
|
|
#define AL_VENDOR 0xB001
|
|
/** Context string: Version. */
|
|
#define AL_VERSION 0xB002
|
|
/** Context string: Renderer ID. */
|
|
#define AL_RENDERER 0xB003
|
|
/** Context string: Space-separated extension list. */
|
|
#define AL_EXTENSIONS 0xB004
|
|
|
|
|
|
/**
|
|
* Doppler scale.
|
|
* Type: ALfloat
|
|
* Range: [0.0 - ]
|
|
* Default: 1.0
|
|
*
|
|
* Scale for source and listener velocities.
|
|
*/
|
|
#define AL_DOPPLER_FACTOR 0xC000
|
|
AL_API void AL_APIENTRY alDopplerFactor(ALfloat value);
|
|
|
|
/**
|
|
* Doppler velocity (deprecated).
|
|
*
|
|
* A multiplier applied to the Speed of Sound.
|
|
*/
|
|
#define AL_DOPPLER_VELOCITY 0xC001
|
|
AL_API void AL_APIENTRY alDopplerVelocity(ALfloat value);
|
|
|
|
/**
|
|
* Speed of Sound, in units per second.
|
|
* Type: ALfloat
|
|
* Range: [0.0001 - ]
|
|
* Default: 343.3
|
|
*
|
|
* The speed at which sound waves are assumed to travel, when calculating the
|
|
* doppler effect.
|
|
*/
|
|
#define AL_SPEED_OF_SOUND 0xC003
|
|
AL_API void AL_APIENTRY alSpeedOfSound(ALfloat value);
|
|
|
|
/**
|
|
* Distance attenuation model.
|
|
* Type: ALint
|
|
* Range: [AL_NONE, AL_INVERSE_DISTANCE, AL_INVERSE_DISTANCE_CLAMPED,
|
|
* AL_LINEAR_DISTANCE, AL_LINEAR_DISTANCE_CLAMPED,
|
|
* AL_EXPONENT_DISTANCE, AL_EXPONENT_DISTANCE_CLAMPED]
|
|
* Default: AL_INVERSE_DISTANCE_CLAMPED
|
|
*
|
|
* The model by which sources attenuate with distance.
|
|
*
|
|
* None - No distance attenuation.
|
|
* Inverse - Doubling the distance halves the source gain.
|
|
* Linear - Linear gain scaling between the reference and max distances.
|
|
* Exponent - Exponential gain dropoff.
|
|
*
|
|
* Clamped variations work like the non-clamped counterparts, except the
|
|
* distance calculated is clamped between the reference and max distances.
|
|
*/
|
|
#define AL_DISTANCE_MODEL 0xD000
|
|
AL_API void AL_APIENTRY alDistanceModel(ALenum distanceModel);
|
|
|
|
/** Distance model value. */
|
|
#define AL_INVERSE_DISTANCE 0xD001
|
|
#define AL_INVERSE_DISTANCE_CLAMPED 0xD002
|
|
#define AL_LINEAR_DISTANCE 0xD003
|
|
#define AL_LINEAR_DISTANCE_CLAMPED 0xD004
|
|
#define AL_EXPONENT_DISTANCE 0xD005
|
|
#define AL_EXPONENT_DISTANCE_CLAMPED 0xD006
|
|
|
|
/** Renderer State management. */
|
|
AL_API void AL_APIENTRY alEnable(ALenum capability);
|
|
AL_API void AL_APIENTRY alDisable(ALenum capability);
|
|
AL_API ALboolean AL_APIENTRY alIsEnabled(ALenum capability);
|
|
|
|
/** State retrieval. */
|
|
AL_API const ALchar* AL_APIENTRY alGetString(ALenum param);
|
|
AL_API void AL_APIENTRY alGetBooleanv(ALenum param, ALboolean *values);
|
|
AL_API void AL_APIENTRY alGetIntegerv(ALenum param, ALint *values);
|
|
AL_API void AL_APIENTRY alGetFloatv(ALenum param, ALfloat *values);
|
|
AL_API void AL_APIENTRY alGetDoublev(ALenum param, ALdouble *values);
|
|
AL_API ALboolean AL_APIENTRY alGetBoolean(ALenum param);
|
|
AL_API ALint AL_APIENTRY alGetInteger(ALenum param);
|
|
AL_API ALfloat AL_APIENTRY alGetFloat(ALenum param);
|
|
AL_API ALdouble AL_APIENTRY alGetDouble(ALenum param);
|
|
|
|
/**
|
|
* Error retrieval.
|
|
*
|
|
* Obtain the first error generated in the AL context since the last check.
|
|
*/
|
|
AL_API ALenum AL_APIENTRY alGetError(void);
|
|
|
|
/**
|
|
* Extension support.
|
|
*
|
|
* Query for the presence of an extension, and obtain any appropriate function
|
|
* pointers and enum values.
|
|
*/
|
|
AL_API ALboolean AL_APIENTRY alIsExtensionPresent(const ALchar *extname);
|
|
AL_API void* AL_APIENTRY alGetProcAddress(const ALchar *fname);
|
|
AL_API ALenum AL_APIENTRY alGetEnumValue(const ALchar *ename);
|
|
|
|
|
|
/** Set Listener parameters */
|
|
AL_API void AL_APIENTRY alListenerf(ALenum param, ALfloat value);
|
|
AL_API void AL_APIENTRY alListener3f(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
|
|
AL_API void AL_APIENTRY alListenerfv(ALenum param, const ALfloat *values);
|
|
AL_API void AL_APIENTRY alListeneri(ALenum param, ALint value);
|
|
AL_API void AL_APIENTRY alListener3i(ALenum param, ALint value1, ALint value2, ALint value3);
|
|
AL_API void AL_APIENTRY alListeneriv(ALenum param, const ALint *values);
|
|
|
|
/** Get Listener parameters */
|
|
AL_API void AL_APIENTRY alGetListenerf(ALenum param, ALfloat *value);
|
|
AL_API void AL_APIENTRY alGetListener3f(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
|
|
AL_API void AL_APIENTRY alGetListenerfv(ALenum param, ALfloat *values);
|
|
AL_API void AL_APIENTRY alGetListeneri(ALenum param, ALint *value);
|
|
AL_API void AL_APIENTRY alGetListener3i(ALenum param, ALint *value1, ALint *value2, ALint *value3);
|
|
AL_API void AL_APIENTRY alGetListeneriv(ALenum param, ALint *values);
|
|
|
|
|
|
/** Create Source objects. */
|
|
AL_API void AL_APIENTRY alGenSources(ALsizei n, ALuint *sources);
|
|
/** Delete Source objects. */
|
|
AL_API void AL_APIENTRY alDeleteSources(ALsizei n, const ALuint *sources);
|
|
/** Verify a handle is a valid Source. */
|
|
AL_API ALboolean AL_APIENTRY alIsSource(ALuint source);
|
|
|
|
/** Set Source parameters. */
|
|
AL_API void AL_APIENTRY alSourcef(ALuint source, ALenum param, ALfloat value);
|
|
AL_API void AL_APIENTRY alSource3f(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
|
|
AL_API void AL_APIENTRY alSourcefv(ALuint source, ALenum param, const ALfloat *values);
|
|
AL_API void AL_APIENTRY alSourcei(ALuint source, ALenum param, ALint value);
|
|
AL_API void AL_APIENTRY alSource3i(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
|
|
AL_API void AL_APIENTRY alSourceiv(ALuint source, ALenum param, const ALint *values);
|
|
|
|
/** Get Source parameters. */
|
|
AL_API void AL_APIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat *value);
|
|
AL_API void AL_APIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
|
|
AL_API void AL_APIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat *values);
|
|
AL_API void AL_APIENTRY alGetSourcei(ALuint source, ALenum param, ALint *value);
|
|
AL_API void AL_APIENTRY alGetSource3i(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3);
|
|
AL_API void AL_APIENTRY alGetSourceiv(ALuint source, ALenum param, ALint *values);
|
|
|
|
|
|
/** Play, replay, or resume (if paused) a list of Sources */
|
|
AL_API void AL_APIENTRY alSourcePlayv(ALsizei n, const ALuint *sources);
|
|
/** Stop a list of Sources */
|
|
AL_API void AL_APIENTRY alSourceStopv(ALsizei n, const ALuint *sources);
|
|
/** Rewind a list of Sources */
|
|
AL_API void AL_APIENTRY alSourceRewindv(ALsizei n, const ALuint *sources);
|
|
/** Pause a list of Sources */
|
|
AL_API void AL_APIENTRY alSourcePausev(ALsizei n, const ALuint *sources);
|
|
|
|
/** Play, replay, or resume a Source */
|
|
AL_API void AL_APIENTRY alSourcePlay(ALuint source);
|
|
/** Stop a Source */
|
|
AL_API void AL_APIENTRY alSourceStop(ALuint source);
|
|
/** Rewind a Source (set playback postiton to beginning) */
|
|
AL_API void AL_APIENTRY alSourceRewind(ALuint source);
|
|
/** Pause a Source */
|
|
AL_API void AL_APIENTRY alSourcePause(ALuint source);
|
|
|
|
/** Queue buffers onto a source */
|
|
AL_API void AL_APIENTRY alSourceQueueBuffers(ALuint source, ALsizei nb, const ALuint *buffers);
|
|
/** Unqueue processed buffers from a source */
|
|
AL_API void AL_APIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei nb, ALuint *buffers);
|
|
|
|
|
|
/** Create Buffer objects */
|
|
AL_API void AL_APIENTRY alGenBuffers(ALsizei n, ALuint *buffers);
|
|
/** Delete Buffer objects */
|
|
AL_API void AL_APIENTRY alDeleteBuffers(ALsizei n, const ALuint *buffers);
|
|
/** Verify a handle is a valid Buffer */
|
|
AL_API ALboolean AL_APIENTRY alIsBuffer(ALuint buffer);
|
|
|
|
/** Specifies the data to be copied into a buffer */
|
|
AL_API void AL_APIENTRY alBufferData(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq);
|
|
|
|
/** Set Buffer parameters, */
|
|
AL_API void AL_APIENTRY alBufferf(ALuint buffer, ALenum param, ALfloat value);
|
|
AL_API void AL_APIENTRY alBuffer3f(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
|
|
AL_API void AL_APIENTRY alBufferfv(ALuint buffer, ALenum param, const ALfloat *values);
|
|
AL_API void AL_APIENTRY alBufferi(ALuint buffer, ALenum param, ALint value);
|
|
AL_API void AL_APIENTRY alBuffer3i(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3);
|
|
AL_API void AL_APIENTRY alBufferiv(ALuint buffer, ALenum param, const ALint *values);
|
|
|
|
/** Get Buffer parameters. */
|
|
AL_API void AL_APIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat *value);
|
|
AL_API void AL_APIENTRY alGetBuffer3f(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
|
|
AL_API void AL_APIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat *values);
|
|
AL_API void AL_APIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint *value);
|
|
AL_API void AL_APIENTRY alGetBuffer3i(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3);
|
|
AL_API void AL_APIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint *values);
|
|
|
|
/** Pointer-to-function type, useful for dynamically getting AL entry points. */
|
|
typedef void (AL_APIENTRY *LPALENABLE)(ALenum capability);
|
|
typedef void (AL_APIENTRY *LPALDISABLE)(ALenum capability);
|
|
typedef ALboolean (AL_APIENTRY *LPALISENABLED)(ALenum capability);
|
|
typedef const ALchar* (AL_APIENTRY *LPALGETSTRING)(ALenum param);
|
|
typedef void (AL_APIENTRY *LPALGETBOOLEANV)(ALenum param, ALboolean *values);
|
|
typedef void (AL_APIENTRY *LPALGETINTEGERV)(ALenum param, ALint *values);
|
|
typedef void (AL_APIENTRY *LPALGETFLOATV)(ALenum param, ALfloat *values);
|
|
typedef void (AL_APIENTRY *LPALGETDOUBLEV)(ALenum param, ALdouble *values);
|
|
typedef ALboolean (AL_APIENTRY *LPALGETBOOLEAN)(ALenum param);
|
|
typedef ALint (AL_APIENTRY *LPALGETINTEGER)(ALenum param);
|
|
typedef ALfloat (AL_APIENTRY *LPALGETFLOAT)(ALenum param);
|
|
typedef ALdouble (AL_APIENTRY *LPALGETDOUBLE)(ALenum param);
|
|
typedef ALenum (AL_APIENTRY *LPALGETERROR)(void);
|
|
typedef ALboolean (AL_APIENTRY *LPALISEXTENSIONPRESENT)(const ALchar *extname);
|
|
typedef void* (AL_APIENTRY *LPALGETPROCADDRESS)(const ALchar *fname);
|
|
typedef ALenum (AL_APIENTRY *LPALGETENUMVALUE)(const ALchar *ename);
|
|
typedef void (AL_APIENTRY *LPALLISTENERF)(ALenum param, ALfloat value);
|
|
typedef void (AL_APIENTRY *LPALLISTENER3F)(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
|
|
typedef void (AL_APIENTRY *LPALLISTENERFV)(ALenum param, const ALfloat *values);
|
|
typedef void (AL_APIENTRY *LPALLISTENERI)(ALenum param, ALint value);
|
|
typedef void (AL_APIENTRY *LPALLISTENER3I)(ALenum param, ALint value1, ALint value2, ALint value3);
|
|
typedef void (AL_APIENTRY *LPALLISTENERIV)(ALenum param, const ALint *values);
|
|
typedef void (AL_APIENTRY *LPALGETLISTENERF)(ALenum param, ALfloat *value);
|
|
typedef void (AL_APIENTRY *LPALGETLISTENER3F)(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
|
|
typedef void (AL_APIENTRY *LPALGETLISTENERFV)(ALenum param, ALfloat *values);
|
|
typedef void (AL_APIENTRY *LPALGETLISTENERI)(ALenum param, ALint *value);
|
|
typedef void (AL_APIENTRY *LPALGETLISTENER3I)(ALenum param, ALint *value1, ALint *value2, ALint *value3);
|
|
typedef void (AL_APIENTRY *LPALGETLISTENERIV)(ALenum param, ALint *values);
|
|
typedef void (AL_APIENTRY *LPALGENSOURCES)(ALsizei n, ALuint *sources);
|
|
typedef void (AL_APIENTRY *LPALDELETESOURCES)(ALsizei n, const ALuint *sources);
|
|
typedef ALboolean (AL_APIENTRY *LPALISSOURCE)(ALuint source);
|
|
typedef void (AL_APIENTRY *LPALSOURCEF)(ALuint source, ALenum param, ALfloat value);
|
|
typedef void (AL_APIENTRY *LPALSOURCE3F)(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
|
|
typedef void (AL_APIENTRY *LPALSOURCEFV)(ALuint source, ALenum param, const ALfloat *values);
|
|
typedef void (AL_APIENTRY *LPALSOURCEI)(ALuint source, ALenum param, ALint value);
|
|
typedef void (AL_APIENTRY *LPALSOURCE3I)(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
|
|
typedef void (AL_APIENTRY *LPALSOURCEIV)(ALuint source, ALenum param, const ALint *values);
|
|
typedef void (AL_APIENTRY *LPALGETSOURCEF)(ALuint source, ALenum param, ALfloat *value);
|
|
typedef void (AL_APIENTRY *LPALGETSOURCE3F)(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
|
|
typedef void (AL_APIENTRY *LPALGETSOURCEFV)(ALuint source, ALenum param, ALfloat *values);
|
|
typedef void (AL_APIENTRY *LPALGETSOURCEI)(ALuint source, ALenum param, ALint *value);
|
|
typedef void (AL_APIENTRY *LPALGETSOURCE3I)(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3);
|
|
typedef void (AL_APIENTRY *LPALGETSOURCEIV)(ALuint source, ALenum param, ALint *values);
|
|
typedef void (AL_APIENTRY *LPALSOURCEPLAYV)(ALsizei n, const ALuint *sources);
|
|
typedef void (AL_APIENTRY *LPALSOURCESTOPV)(ALsizei n, const ALuint *sources);
|
|
typedef void (AL_APIENTRY *LPALSOURCEREWINDV)(ALsizei n, const ALuint *sources);
|
|
typedef void (AL_APIENTRY *LPALSOURCEPAUSEV)(ALsizei n, const ALuint *sources);
|
|
typedef void (AL_APIENTRY *LPALSOURCEPLAY)(ALuint source);
|
|
typedef void (AL_APIENTRY *LPALSOURCESTOP)(ALuint source);
|
|
typedef void (AL_APIENTRY *LPALSOURCEREWIND)(ALuint source);
|
|
typedef void (AL_APIENTRY *LPALSOURCEPAUSE)(ALuint source);
|
|
typedef void (AL_APIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint source, ALsizei nb, const ALuint *buffers);
|
|
typedef void (AL_APIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint source, ALsizei nb, ALuint *buffers);
|
|
typedef void (AL_APIENTRY *LPALGENBUFFERS)(ALsizei n, ALuint *buffers);
|
|
typedef void (AL_APIENTRY *LPALDELETEBUFFERS)(ALsizei n, const ALuint *buffers);
|
|
typedef ALboolean (AL_APIENTRY *LPALISBUFFER)(ALuint buffer);
|
|
typedef void (AL_APIENTRY *LPALBUFFERDATA)(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq);
|
|
typedef void (AL_APIENTRY *LPALBUFFERF)(ALuint buffer, ALenum param, ALfloat value);
|
|
typedef void (AL_APIENTRY *LPALBUFFER3F)(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
|
|
typedef void (AL_APIENTRY *LPALBUFFERFV)(ALuint buffer, ALenum param, const ALfloat *values);
|
|
typedef void (AL_APIENTRY *LPALBUFFERI)(ALuint buffer, ALenum param, ALint value);
|
|
typedef void (AL_APIENTRY *LPALBUFFER3I)(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3);
|
|
typedef void (AL_APIENTRY *LPALBUFFERIV)(ALuint buffer, ALenum param, const ALint *values);
|
|
typedef void (AL_APIENTRY *LPALGETBUFFERF)(ALuint buffer, ALenum param, ALfloat *value);
|
|
typedef void (AL_APIENTRY *LPALGETBUFFER3F)(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
|
|
typedef void (AL_APIENTRY *LPALGETBUFFERFV)(ALuint buffer, ALenum param, ALfloat *values);
|
|
typedef void (AL_APIENTRY *LPALGETBUFFERI)(ALuint buffer, ALenum param, ALint *value);
|
|
typedef void (AL_APIENTRY *LPALGETBUFFER3I)(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3);
|
|
typedef void (AL_APIENTRY *LPALGETBUFFERIV)(ALuint buffer, ALenum param, ALint *values);
|
|
typedef void (AL_APIENTRY *LPALDOPPLERFACTOR)(ALfloat value);
|
|
typedef void (AL_APIENTRY *LPALDOPPLERVELOCITY)(ALfloat value);
|
|
typedef void (AL_APIENTRY *LPALSPEEDOFSOUND)(ALfloat value);
|
|
typedef void (AL_APIENTRY *LPALDISTANCEMODEL)(ALenum distanceModel);
|
|
|
|
#if defined(__cplusplus)
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* AL_AL_H */
|