Copyright (C) 2025 Dylan Perks and Contributors This file, al.xml, is the OpenAL API Registry. The canonical version of the registry, together with documentation and Python generator scripts used to generate C header files for OpenAL, can always be found in the OpenAL Soft repository at https://github.com/kcat/openal-soft. This file is based upon the following documents and reproduces the same copyright notice: - OpenAL Specification and Reference v1.0 Draft Edition (Published June 2000) Copyright (C) 1999-2000 by Loki Software - OpenAL Specification and Reference v1.1 (Published June 2005) Copyright (C) 2005 by authors In addition, this file is based on OpenAL Soft, and makes use of only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length) in accordance with the Lesser General Public License v2.0. Usage of this file alone is unencumbered by LGPL and does not attract the copyleft provisions thereof. Permission is granted to make and distribute verbatim copies of this file provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute translations of this file into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the copyright owners. #define OPENAL #define ALAPI AL_API #define ALAPIENTRY AL_APIENTRY typedef char ALboolean; typedef char ALchar; typedef signed char ALbyte; typedef unsigned char ALubyte; typedef short ALshort; typedef unsigned short ALushort; typedef int ALint; typedef unsigned int ALuint; typedef int ALsizei; typedef int ALenum; typedef float ALfloat; typedef double ALdouble; typedef void ALvoid; struct _GUID; #define ALC_EXT_CAPTURE 1 #define ALC_ENUMERATE_ALL_EXT 1 typedef alsoft_impl_int64_t ALint64SOFT; typedef alsoft_impl_uint64_t ALuint64SOFT; #define AL_EXT_FOLDBACK_NAME "AL_EXT_FOLDBACK" typedef void (AL_APIENTRY*LPALFOLDBACKCALLBACK)(ALenum,ALsizei) AL_API_NOEXCEPT17; typedef void (AL_APIENTRY*ALEVENTPROCSOFT)(ALenum eventType, ALuint object, ALuint param, ALsizei length, const ALchar *message, void *userParam) AL_API_NOEXCEPT17; typedef ALsizei (AL_APIENTRY*ALBUFFERCALLBACKTYPESOFT)(ALvoid *userptr, ALvoid *sampledata, ALsizei numbytes) AL_API_NOEXCEPT17; typedef void (AL_APIENTRY*ALDEBUGPROCEXT)(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message, void *userParam) AL_API_NOEXCEPT17; #define ALCAPI ALC_API #define ALCAPIENTRY ALC_APIENTRY #define ALC_VERSION_0_1 1 typedef struct ALCdevice ALCdevice; typedef struct ALCcontext ALCcontext; typedef char ALCboolean; typedef char ALCchar; typedef signed char ALCbyte; typedef unsigned char ALCubyte; typedef short ALCshort; typedef unsigned short ALCushort; typedef int ALCint; typedef unsigned int ALCuint; typedef int ALCsizei; typedef int ALCenum; typedef float ALCfloat; typedef double ALCdouble; typedef void ALCvoid; typedef alsoft_impl_int64_t ALCint64SOFT; typedef alsoft_impl_uint64_t ALCuint64SOFT; #define ALC_EXT_EFX_NAME "ALC_EXT_EFX" typedef void (ALC_APIENTRY*ALCEVENTPROCTYPESOFT)(ALCenum eventType, ALCenum deviceType, ALCdevice *device, ALCsizei length, const ALCchar *message, void *userParam) ALC_API_NOEXCEPT17; Specifies if the source uses relative coordinates. The angle covered by the inner cone, the area within which the source will not be attenuated by direction. The angle covered by the outer cone, the area outside of which the source will be fully attenuated by direction. A multiplier for the sample rate of the source's buffer. The source or listener location in three dimensional space. OpenAL uses a right handed coordinate system, like OpenGL, where with a default view, X points right (thumb), Y points up (index finger), and Z points towards the viewer/camera (middle finger). To change from or to a left handed coordinate system, negate the Z component. Specifies the current direction in local space. A zero-length vector specifies an omni-directional source (cone is ignored). To change from or to a left handed coordinate system, negate the Z component. Specifies the current velocity, relative to the position. To change from or to a left handed coordinate system, negate the Z component. Specifies whether source playback loops. Specifies the buffer to provide sound samples for a source. For sources, an initial linear gain value (before attenuation is applied). For the listener, an output linear gain adjustment. A value of 1.0 means unattenuated. Each division by 2 equals an attenuation of about -6dB. Each multiplication by 2 equals an amplification of about +6dB. The minimum gain allowed for a source, after distance and cone attenuation are applied (if applicable). The maximum gain allowed for a source, after distance and cone attenuation are applied (if applicable). Effectively two three dimensional vectors. The first vector is the front (or "at") and the second is the top (or "up"). Both vectors are relative to the listener position. To change from or to a left handed coordinate system, negate the Z component of both vectors. The number of buffers queued using alSourceQueueBuffers, minus the buffers removed with alSourceUnqueueBuffers. 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. The distance in units that no distance attenuation occurs. At 0.0, no distance attenuation occurs with non-linear attenuation models. Multiplier to exaggerate or diminish distance attenuation. At 0.0, no distance attenuation ever occurs. The gain attenuation applied when the listener is outside of the source's outer cone angle. 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. 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. Scale for source and listener velocities. A multiplier applied to the Speed of Sound. The speed at which sound waves are assumed to travel, when calculating the doppler effect from source and listener velocities. 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. Device specifier string. If device handle is NULL, it is instead a null-character separated list of strings of known device specifiers (list ends with an empty string). Capture specifier string. If device handle is NULL, it is instead a null-character separated list of strings of known device specifiers (list ends with an empty string). Device's extended specifier string. If device handle is NULL, it is instead a null-character separated list of strings of known extended device specifiers (list ends with an empty string). void alEnable ALenum capability void alDisable ALenum capability ALboolean alIsEnabled ALenum capability void alDopplerFactor ALfloat value void alDopplerVelocity ALfloat value void alSpeedOfSound ALfloat value void alDistanceModel ALenum distanceModel const ALchar* alGetString ALenum param void alGetBooleanv ALenum param ALboolean *values void alGetIntegerv ALenum param ALint *values void alGetFloatv ALenum param ALfloat *values void alGetDoublev ALenum param ALdouble *values ALboolean alGetBoolean ALenum param ALint alGetInteger ALenum param ALfloat alGetFloat ALenum param ALdouble alGetDouble ALenum param Obtain the first error generated in the AL context since the last call to this function. ALenum alGetError ALboolean alIsExtensionPresent const ALchar *extname Retrieve the address of a function. The returned function may be context- specific. void* alGetProcAddress const ALchar *fname Retrieve the value of an enum. The returned value may be context-specific. ALenum alGetEnumValue const ALchar *ename void alListenerf ALenum param ALfloat value void alListener3f ALenum param ALfloat value1 ALfloat value2 ALfloat value3 void alListenerfv ALenum param const ALfloat *values void alListeneri ALenum param ALint value void alListener3i ALenum param ALint value1 ALint value2 ALint value3 void alListeneriv ALenum param const ALint *values void alGetListenerf ALenum param ALfloat *value void alGetListener3f ALenum param ALfloat *value1 ALfloat *value2 ALfloat *value3 void alGetListenerfv ALenum param ALfloat *values void alGetListeneri ALenum param ALint *value void alGetListener3i ALenum param ALint *value1 ALint *value2 ALint *value3 void alGetListeneriv ALenum param ALint *values void alGenSources ALsizei n ALuint *sources void alDeleteSources ALsizei n const ALuint *sources ALboolean alIsSource ALuint source void alSourcef ALuint source ALenum param ALfloat value void alSource3f ALuint source ALenum param ALfloat value1 ALfloat value2 ALfloat value3 void alSourcefv ALuint source ALenum param const ALfloat *values void alSourcei ALuint source ALenum param ALint value void alSource3i ALuint source ALenum param ALint value1 ALint value2 ALint value3 void alSourceiv ALuint source ALenum param const ALint *values void alGetSourcef ALuint source ALenum param ALfloat *value void alGetSourcefv ALuint source ALenum param ALfloat *values void alGetSourcei ALuint source ALenum param ALint *value void alGetSourceiv ALuint source ALenum param ALint *values void alGetSource3i ALuint source ALenum param ALint *value1 ALint *value2 ALint *value3 void alGetSource3f ALuint source ALenum param ALfloat *value1 ALfloat *value2 ALfloat *value3 void alSourcePlay ALuint source void alSourceStop ALuint source void alSourceRewind ALuint source void alSourcePause ALuint source void alSourcePlayv ALsizei n const ALuint *sources void alSourceStopv ALsizei n const ALuint *sources void alSourceRewindv ALsizei n const ALuint *sources void alSourcePausev ALsizei n const ALuint *sources void alSourceQueueBuffers ALuint source ALsizei nb const ALuint *buffers void alSourceUnqueueBuffers ALuint source ALsizei nb ALuint *buffers void alGenBuffers ALsizei n ALuint *buffers void alDeleteBuffers ALsizei n const ALuint *buffers ALboolean alIsBuffer ALuint buffer Copies data into the buffer, interpreting it using the specified format and samplerate. void alBufferData ALuint buffer ALenum format const ALvoid *data ALsizei size ALsizei samplerate void alBufferf ALuint buffer ALenum param ALfloat value void alBuffer3f ALuint buffer ALenum param ALfloat value1 ALfloat value2 ALfloat value3 void alBufferfv ALuint buffer ALenum param const ALfloat *values void alBufferi ALuint buffer ALenum param ALint value void alBuffer3i ALuint buffer ALenum param ALint value1 ALint value2 ALint value3 void alBufferiv ALuint buffer ALenum param const ALint *values void alGetBufferf ALuint buffer ALenum param ALfloat *value void alGetBufferfv ALuint buffer ALenum param ALfloat *values void alGetBufferi ALuint buffer ALenum param ALint *value void alGetBufferiv ALuint buffer ALenum param ALint *values void alGetBuffer3i ALuint buffer ALenum param ALint *value1 ALint *value2 ALint *value3 void alGetBuffer3f ALuint buffer ALenum param ALfloat *value1 ALfloat *value2 ALfloat *value3 void alBufferDataStatic ALuint buffer ALenum format ALvoid *data ALsizei size ALsizei freq void alGenEffects ALsizei n ALuint *effects void alDeleteEffects ALsizei n const ALuint *effects ALboolean alIsEffect ALuint effect void alEffecti ALuint effect ALenum param ALint iValue void alEffectiv ALuint effect ALenum param const ALint *piValues void alEffectf ALuint effect ALenum param ALfloat flValue void alEffectfv ALuint effect ALenum param const ALfloat *pflValues void alGetEffecti ALuint effect ALenum param ALint *iValue void alGetEffectiv ALuint effect ALenum param ALint *piValues void alGetEffectf ALuint effect ALenum param ALfloat *flValue void alGetEffectfv ALuint effect ALenum param ALfloat *pflValues void alGenFilters ALsizei n ALuint *filters void alDeleteFilters ALsizei n const ALuint *filters ALboolean alIsFilter ALuint filter void alFilteri ALuint filter ALenum param ALint iValue void alFilteriv ALuint filter ALenum param const ALint *piValues void alFilterf ALuint filter ALenum param ALfloat flValue void alFilterfv ALuint filter ALenum param const ALfloat *pflValues void alGetFilteri ALuint filter ALenum param ALint *iValue void alGetFilteriv ALuint filter ALenum param ALint *piValues void alGetFilterf ALuint filter ALenum param ALfloat *flValue void alGetFilterfv ALuint filter ALenum param ALfloat *pflValues void alGenAuxiliaryEffectSlots ALsizei n ALuint *effectslots void alDeleteAuxiliaryEffectSlots ALsizei n const ALuint *effectslots ALboolean alIsAuxiliaryEffectSlot ALuint effectslot void alAuxiliaryEffectSloti ALuint effectslot ALenum param ALint iValue void alAuxiliaryEffectSlotiv ALuint effectslot ALenum param const ALint *piValues void alAuxiliaryEffectSlotf ALuint effectslot ALenum param ALfloat flValue void alAuxiliaryEffectSlotfv ALuint effectslot ALenum param const ALfloat *pflValues void alGetAuxiliaryEffectSloti ALuint effectslot ALenum param ALint *iValue void alGetAuxiliaryEffectSlotiv ALuint effectslot ALenum param ALint *piValues void alGetAuxiliaryEffectSlotf ALuint effectslot ALenum param ALfloat *flValue void alGetAuxiliaryEffectSlotfv ALuint effectslot ALenum param ALfloat *pflValues void alBufferSubDataSOFT ALuint buffer ALenum format const ALvoid *data ALsizei offset ALsizei length void alRequestFoldbackStart ALenum mode ALsizei count ALsizei length ALfloat *mem LPALFOLDBACKCALLBACK callback void alRequestFoldbackStop void alBufferSamplesSOFT ALuint buffer ALuint samplerate ALenum internalformat ALsizei samples ALenum channels ALenum type const ALvoid *data void alBufferSubSamplesSOFT ALuint buffer ALsizei offset ALsizei samples ALenum channels ALenum type const ALvoid *data void alGetBufferSamplesSOFT ALuint buffer ALsizei offset ALsizei samples ALenum channels ALenum type ALvoid *data ALboolean alIsBufferFormatSupportedSOFT ALenum format void alSourcedSOFT ALuint source ALenum param ALdouble value void alSource3dSOFT ALuint source ALenum param ALdouble value1 ALdouble value2 ALdouble value3 void alSourcedvSOFT ALuint source ALenum param const ALdouble *values void alGetSourcedSOFT ALuint source ALenum param ALdouble *value void alGetSource3dSOFT ALuint source ALenum param ALdouble *value1 ALdouble *value2 ALdouble *value3 void alGetSourcedvSOFT ALuint source ALenum param ALdouble *values void alSourcei64SOFT ALuint source ALenum param ALint64SOFT value void alSource3i64SOFT ALuint source ALenum param ALint64SOFT value1 ALint64SOFT value2 ALint64SOFT value3 void alSourcei64vSOFT ALuint source ALenum param const ALint64SOFT *values void alGetSourcei64SOFT ALuint source ALenum param ALint64SOFT *value void alGetSource3i64SOFT ALuint source ALenum param ALint64SOFT *value1 ALint64SOFT *value2 ALint64SOFT *value3 void alGetSourcei64vSOFT ALuint source ALenum param ALint64SOFT *values void alDeferUpdatesSOFT void alProcessUpdatesSOFT const ALchar* alGetStringiSOFT ALenum pname ALsizei index void alEventControlSOFT ALsizei count const ALenum *types ALboolean enable void alEventCallbackSOFT ALEVENTPROCSOFT callback void *userParam void* alGetPointerSOFT ALenum pname void alGetPointervSOFT ALenum pname void **values void alBufferCallbackSOFT ALuint buffer ALenum format ALsizei freq ALBUFFERCALLBACKTYPESOFT callback ALvoid *userptr void alGetBufferPtrSOFT ALuint buffer ALenum param ALvoid **ptr void alGetBuffer3PtrSOFT ALuint buffer ALenum param ALvoid **ptr0 ALvoid **ptr1 ALvoid **ptr2 void alGetBufferPtrvSOFT ALuint buffer ALenum param ALvoid **ptr void alSourcePlayAtTimeSOFT ALuint source ALint64SOFT start_time void alSourcePlayAtTimevSOFT ALsizei n const ALuint *sources ALint64SOFT start_time void alDebugMessageCallbackEXT ALDEBUGPROCEXT callback void *userParam void alDebugMessageInsertEXT ALenum source ALenum type ALuint id ALenum severity ALsizei length const ALchar *message void alDebugMessageControlEXT ALenum source ALenum type ALenum severity ALsizei count const ALuint *ids ALboolean enable void alPushDebugGroupEXT ALenum source ALuint id ALsizei length const ALchar *message void alPopDebugGroupEXT ALuint alGetDebugMessageLogEXT ALuint count ALsizei logBufSize ALenum *sources ALenum *types ALuint *ids ALenum *severities ALsizei *lengths ALchar *logBuf void alObjectLabelEXT ALenum identifier ALuint name ALsizei length const ALchar *label void alGetObjectLabelEXT ALenum identifier ALuint name ALsizei bufSize ALsizei *length ALchar *label void* alGetPointerEXT ALenum pname void alGetPointervEXT ALenum pname void **values void alEnableDirect ALCcontext *context ALenum capability void alDisableDirect ALCcontext *context ALenum capability ALboolean alIsEnabledDirect ALCcontext *context ALenum capability void alDopplerFactorDirect ALCcontext *context ALfloat value void alSpeedOfSoundDirect ALCcontext *context ALfloat value void alDistanceModelDirect ALCcontext *context ALenum distanceModel const ALchar* alGetStringDirect ALCcontext *context ALenum param void alGetBooleanvDirect ALCcontext *context ALenum param ALboolean *values void alGetIntegervDirect ALCcontext *context ALenum param ALint *values void alGetFloatvDirect ALCcontext *context ALenum param ALfloat *values void alGetDoublevDirect ALCcontext *context ALenum param ALdouble *values ALboolean alGetBooleanDirect ALCcontext *context ALenum param ALint alGetIntegerDirect ALCcontext *context ALenum param ALfloat alGetFloatDirect ALCcontext *context ALenum param ALdouble alGetDoubleDirect ALCcontext *context ALenum param ALenum alGetErrorDirect ALCcontext *context ALboolean alIsExtensionPresentDirect ALCcontext *context const ALchar *extname void* alGetProcAddressDirect ALCcontext *context const ALchar *fname ALenum alGetEnumValueDirect ALCcontext *context const ALchar *ename void alListenerfDirect ALCcontext *context ALenum param ALfloat value void alListener3fDirect ALCcontext *context ALenum param ALfloat value1 ALfloat value2 ALfloat value3 void alListenerfvDirect ALCcontext *context ALenum param const ALfloat *values void alListeneriDirect ALCcontext *context ALenum param ALint value void alListener3iDirect ALCcontext *context ALenum param ALint value1 ALint value2 ALint value3 void alListenerivDirect ALCcontext *context ALenum param const ALint *values void alGetListenerfDirect ALCcontext *context ALenum param ALfloat *value void alGetListener3fDirect ALCcontext *context ALenum param ALfloat *value1 ALfloat *value2 ALfloat *value3 void alGetListenerfvDirect ALCcontext *context ALenum param ALfloat *values void alGetListeneriDirect ALCcontext *context ALenum param ALint *value void alGetListener3iDirect ALCcontext *context ALenum param ALint *value1 ALint *value2 ALint *value3 void alGetListenerivDirect ALCcontext *context ALenum param ALint *values void alGenSourcesDirect ALCcontext *context ALsizei n ALuint *sources void alDeleteSourcesDirect ALCcontext *context ALsizei n const ALuint *sources ALboolean alIsSourceDirect ALCcontext *context ALuint source void alSourcefDirect ALCcontext *context ALuint source ALenum param ALfloat value void alSource3fDirect ALCcontext *context ALuint source ALenum param ALfloat value1 ALfloat value2 ALfloat value3 void alSourcefvDirect ALCcontext *context ALuint source ALenum param const ALfloat *values void alSourceiDirect ALCcontext *context ALuint source ALenum param ALint value void alSource3iDirect ALCcontext *context ALuint source ALenum param ALint value1 ALint value2 ALint value3 void alSourceivDirect ALCcontext *context ALuint source ALenum param const ALint *values void alGetSourcefDirect ALCcontext *context ALuint source ALenum param ALfloat *value void alGetSource3fDirect ALCcontext *context ALuint source ALenum param ALfloat *value1 ALfloat *value2 ALfloat *value3 void alGetSourcefvDirect ALCcontext *context ALuint source ALenum param ALfloat *values void alGetSourceiDirect ALCcontext *context ALuint source ALenum param ALint *value void alGetSource3iDirect ALCcontext *context ALuint source ALenum param ALint *value1 ALint *value2 ALint *value3 void alGetSourceivDirect ALCcontext *context ALuint source ALenum param ALint *values void alSourcePlayDirect ALCcontext *context ALuint source void alSourceStopDirect ALCcontext *context ALuint source void alSourceRewindDirect ALCcontext *context ALuint source void alSourcePauseDirect ALCcontext *context ALuint source void alSourcePlayvDirect ALCcontext *context ALsizei n const ALuint *sources void alSourceStopvDirect ALCcontext *context ALsizei n const ALuint *sources void alSourceRewindvDirect ALCcontext *context ALsizei n const ALuint *sources void alSourcePausevDirect ALCcontext *context ALsizei n const ALuint *sources void alSourceQueueBuffersDirect ALCcontext *context ALuint source ALsizei nb const ALuint *buffers void alSourceUnqueueBuffersDirect ALCcontext *context ALuint source ALsizei nb ALuint *buffers void alGenBuffersDirect ALCcontext *context ALsizei n ALuint *buffers void alDeleteBuffersDirect ALCcontext *context ALsizei n const ALuint *buffers ALboolean alIsBufferDirect ALCcontext *context ALuint buffer void alBufferDataDirect ALCcontext *context ALuint buffer ALenum format const ALvoid *data ALsizei size ALsizei samplerate void alBufferfDirect ALCcontext *context ALuint buffer ALenum param ALfloat value void alBuffer3fDirect ALCcontext *context ALuint buffer ALenum param ALfloat value1 ALfloat value2 ALfloat value3 void alBufferfvDirect ALCcontext *context ALuint buffer ALenum param const ALfloat *values void alBufferiDirect ALCcontext *context ALuint buffer ALenum param ALint value void alBuffer3iDirect ALCcontext *context ALuint buffer ALenum param ALint value1 ALint value2 ALint value3 void alBufferivDirect ALCcontext *context ALuint buffer ALenum param const ALint *values void alGetBufferfDirect ALCcontext *context ALuint buffer ALenum param ALfloat *value void alGetBuffer3fDirect ALCcontext *context ALuint buffer ALenum param ALfloat *value1 ALfloat *value2 ALfloat *value3 void alGetBufferfvDirect ALCcontext *context ALuint buffer ALenum param ALfloat *values void alGetBufferiDirect ALCcontext *context ALuint buffer ALenum param ALint *value void alGetBuffer3iDirect ALCcontext *context ALuint buffer ALenum param ALint *value1 ALint *value2 ALint *value3 void alGetBufferivDirect ALCcontext *context ALuint buffer ALenum param ALint *values void alGenEffectsDirect ALCcontext *context ALsizei n ALuint *effects void alDeleteEffectsDirect ALCcontext *context ALsizei n const ALuint *effects ALboolean alIsEffectDirect ALCcontext *context ALuint effect void alEffectiDirect ALCcontext *context ALuint effect ALenum param ALint iValue void alEffectivDirect ALCcontext *context ALuint effect ALenum param const ALint *piValues void alEffectfDirect ALCcontext *context ALuint effect ALenum param ALfloat flValue void alEffectfvDirect ALCcontext *context ALuint effect ALenum param const ALfloat *pflValues void alGetEffectiDirect ALCcontext *context ALuint effect ALenum param ALint *piValue void alGetEffectivDirect ALCcontext *context ALuint effect ALenum param ALint *piValues void alGetEffectfDirect ALCcontext *context ALuint effect ALenum param ALfloat *pflValue void alGetEffectfvDirect ALCcontext *context ALuint effect ALenum param ALfloat *pflValues void alGenFiltersDirect ALCcontext *context ALsizei n ALuint *filters void alDeleteFiltersDirect ALCcontext *context ALsizei n const ALuint *filters ALboolean alIsFilterDirect ALCcontext *context ALuint filter void alFilteriDirect ALCcontext *context ALuint filter ALenum param ALint iValue void alFilterivDirect ALCcontext *context ALuint filter ALenum param const ALint *piValues void alFilterfDirect ALCcontext *context ALuint filter ALenum param ALfloat flValue void alFilterfvDirect ALCcontext *context ALuint filter ALenum param const ALfloat *pflValues void alGetFilteriDirect ALCcontext *context ALuint filter ALenum param ALint *piValue void alGetFilterivDirect ALCcontext *context ALuint filter ALenum param ALint *piValues void alGetFilterfDirect ALCcontext *context ALuint filter ALenum param ALfloat *pflValue void alGetFilterfvDirect ALCcontext *context ALuint filter ALenum param ALfloat *pflValues void alGenAuxiliaryEffectSlotsDirect ALCcontext *context ALsizei n ALuint *effectslots void alDeleteAuxiliaryEffectSlotsDirect ALCcontext *context ALsizei n const ALuint *effectslots ALboolean alIsAuxiliaryEffectSlotDirect ALCcontext *context ALuint effectslot void alAuxiliaryEffectSlotiDirect ALCcontext *context ALuint effectslot ALenum param ALint iValue void alAuxiliaryEffectSlotivDirect ALCcontext *context ALuint effectslot ALenum param const ALint *piValues void alAuxiliaryEffectSlotfDirect ALCcontext *context ALuint effectslot ALenum param ALfloat flValue void alAuxiliaryEffectSlotfvDirect ALCcontext *context ALuint effectslot ALenum param const ALfloat *pflValues void alGetAuxiliaryEffectSlotiDirect ALCcontext *context ALuint effectslot ALenum param ALint *piValue void alGetAuxiliaryEffectSlotivDirect ALCcontext *context ALuint effectslot ALenum param ALint *piValues void alGetAuxiliaryEffectSlotfDirect ALCcontext *context ALuint effectslot ALenum param ALfloat *pflValue void alGetAuxiliaryEffectSlotfvDirect ALCcontext *context ALuint effectslot ALenum param ALfloat *pflValues void alBufferDataStaticDirect ALCcontext *context ALuint buffer ALenum format ALvoid *data ALsizei size ALsizei freq void alDebugMessageCallbackDirectEXT ALCcontext *context ALDEBUGPROCEXT callback void *userParam void alDebugMessageInsertDirectEXT ALCcontext *context ALenum source ALenum type ALuint id ALenum severity ALsizei length const ALchar *message void alDebugMessageControlDirectEXT ALCcontext *context ALenum source ALenum type ALenum severity ALsizei count const ALuint *ids ALboolean enable void alPushDebugGroupDirectEXT ALCcontext *context ALenum source ALuint id ALsizei length const ALchar *message void alPopDebugGroupDirectEXT ALCcontext *context ALuint alGetDebugMessageLogDirectEXT ALCcontext *context ALuint count ALsizei logBufSize ALenum *sources ALenum *types ALuint *ids ALenum *severities ALsizei *lengths ALchar *logBuf void alObjectLabelDirectEXT ALCcontext *context ALenum identifier ALuint name ALsizei length const ALchar *label void alGetObjectLabelDirectEXT ALCcontext *context ALenum identifier ALuint name ALsizei bufSize ALsizei *length ALchar *label void* alGetPointerDirectEXT ALCcontext *context ALenum pname void alGetPointervDirectEXT ALCcontext *context ALenum pname void **values void alRequestFoldbackStartDirect ALCcontext *context ALenum mode ALsizei count ALsizei length ALfloat *mem LPALFOLDBACKCALLBACK callback void alRequestFoldbackStopDirect ALCcontext *context void alBufferSubDataDirectSOFT ALCcontext *context ALuint buffer ALenum format const ALvoid *data ALsizei offset ALsizei length void alSourcedDirectSOFT ALCcontext *context ALuint source ALenum param ALdouble value void alSource3dDirectSOFT ALCcontext *context ALuint source ALenum param ALdouble value1 ALdouble value2 ALdouble value3 void alSourcedvDirectSOFT ALCcontext *context ALuint source ALenum param const ALdouble *values void alGetSourcedDirectSOFT ALCcontext *context ALuint source ALenum param ALdouble *value void alGetSource3dDirectSOFT ALCcontext *context ALuint source ALenum param ALdouble *value1 ALdouble *value2 ALdouble *value3 void alGetSourcedvDirectSOFT ALCcontext *context ALuint source ALenum param ALdouble *values void alSourcei64DirectSOFT ALCcontext *context ALuint source ALenum param ALint64SOFT value void alSource3i64DirectSOFT ALCcontext *context ALuint source ALenum param ALint64SOFT value1 ALint64SOFT value2 ALint64SOFT value3 void alSourcei64vDirectSOFT ALCcontext *context ALuint source ALenum param const ALint64SOFT *values void alGetSourcei64DirectSOFT ALCcontext *context ALuint source ALenum param ALint64SOFT *value void alGetSource3i64DirectSOFT ALCcontext *context ALuint source ALenum param ALint64SOFT *value1 ALint64SOFT *value2 ALint64SOFT *value3 void alGetSourcei64vDirectSOFT ALCcontext *context ALuint source ALenum param ALint64SOFT *values void alDeferUpdatesDirectSOFT ALCcontext *context void alProcessUpdatesDirectSOFT ALCcontext *context const ALchar* alGetStringiDirectSOFT ALCcontext *context ALenum pname ALsizei index void alEventControlDirectSOFT ALCcontext *context ALsizei count const ALenum *types ALboolean enable void alEventCallbackDirectSOFT ALCcontext *context ALEVENTPROCSOFT callback void *userParam void* alGetPointerDirectSOFT ALCcontext *context ALenum pname void alGetPointervDirectSOFT ALCcontext *context ALenum pname void **values void alBufferCallbackDirectSOFT ALCcontext *context ALuint buffer ALenum format ALsizei freq ALBUFFERCALLBACKTYPESOFT callback ALvoid *userptr void alGetBufferPtrDirectSOFT ALCcontext *context ALuint buffer ALenum param ALvoid **ptr void alGetBuffer3PtrDirectSOFT ALCcontext *context ALuint buffer ALenum param ALvoid **ptr0 ALvoid **ptr1 ALvoid **ptr2 void alGetBufferPtrvDirectSOFT ALCcontext *context ALuint buffer ALenum param ALvoid **ptr void alSourcePlayAtTimeDirectSOFT ALCcontext *context ALuint source ALint64SOFT start_time void alSourcePlayAtTimevDirectSOFT ALCcontext *context ALsizei n const ALuint *sources ALint64SOFT start_time ALenum EAXSetDirect ALCcontext *context const struct _GUID *property_set_id ALuint property_id ALuint source_id ALvoid *value ALuint value_size ALenum EAXGetDirect ALCcontext *context const struct _GUID *property_set_id ALuint property_id ALuint source_id ALvoid *value ALuint value_size ALboolean EAXSetBufferModeDirect ALCcontext *context ALsizei n const ALuint *buffers ALint value ALenum EAXGetBufferModeDirect ALCcontext *context ALuint buffer ALint *pReserved ALCcontext* alcCreateContext ALCdevice *device const ALCint *attrlist Makes the given context the active process-wide context. Passing NULL clears the active context. ALCboolean alcMakeContextCurrent ALCcontext *context void alcProcessContext ALCcontext *context void alcSuspendContext ALCcontext *context void alcDestroyContext ALCcontext *context ALCcontext* alcGetCurrentContext ALCdevice* alcGetContextsDevice ALCcontext *context ALCdevice* alcOpenDevice const ALCchar *devicename ALCboolean alcCloseDevice ALCdevice *device ALCenum alcGetError ALCdevice *device Query for the presence of an extension on the device. Pass a NULL device to query a device-inspecific extension. ALCboolean alcIsExtensionPresent ALCdevice *device const ALCchar *extname Retrieve the address of a function. Given a non-NULL device, the returned function may be device-specific. ALCvoid* alcGetProcAddress ALCdevice *device const ALCchar *funcname Retrieve the value of an enum. Given a non-NULL device, the returned value may be device-specific. ALCenum alcGetEnumValue ALCdevice *device const ALCchar *enumname const ALCchar* alcGetString ALCdevice *device ALCenum param void alcGetIntegerv ALCdevice *device ALCenum param ALCsizei size ALCint *values Opens the named capture device with the given frequency, format, and buffer size. ALCdevice* alcCaptureOpenDevice const ALCchar *devicename ALCuint frequency ALCenum format ALCsizei buffersize ALCboolean alcCaptureCloseDevice ALCdevice *device void alcCaptureStart ALCdevice *device void alcCaptureStop ALCdevice *device void alcCaptureSamples ALCdevice *device ALCvoid *buffer ALCsizei samples ALCdevice* alcLoopbackOpenDeviceSOFT const ALCchar *deviceName ALCboolean alcIsRenderFormatSupportedSOFT ALCdevice *device ALCsizei freq ALCenum channels ALCenum type void alcRenderSamplesSOFT ALCdevice *device ALCvoid *buffer ALCsizei samples void alcDevicePauseSOFT ALCdevice *device void alcDeviceResumeSOFT ALCdevice *device const ALCchar* alcGetStringiSOFT ALCdevice *device ALCenum paramName ALCsizei index ALCboolean alcResetDeviceSOFT ALCdevice *device const ALCint *attribs void alcGetInteger64vSOFT ALCdevice *device ALCenum pname ALsizei size ALCint64SOFT *values ALCboolean alcReopenDeviceSOFT ALCdevice *device const ALCchar *deviceName const ALCint *attribs ALCenum alcEventIsSupportedSOFT ALCenum eventType ALCenum deviceType ALCboolean alcEventControlSOFT ALCsizei count const ALCenum *events ALCboolean enable void alcEventCallbackSOFT ALCEVENTPROCTYPESOFT callback void *userParam ALCvoid* alcGetProcAddress2 ALCdevice *device const ALCchar *funcName ALCboolean alcSetThreadContext ALCcontext *context ALCcontext* alcGetThreadContext Provides support for surround sound buffer formats with 8, 16, and 32-bit samples. QUAD8: Unsigned 8-bit, Quadraphonic (Front Left, Front Right, Rear Left, Rear Right). QUAD16: Signed 16-bit, Quadraphonic. QUAD32: 32-bit float, Quadraphonic. REAR8: Unsigned 8-bit, Rear Stereo (Rear Left, Rear Right). REAR16: Signed 16-bit, Rear Stereo. REAR32: 32-bit float, Rear Stereo. 51CHN8: Unsigned 8-bit, 5.1 Surround (Front Left, Front Right, Front Center, LFE, Side Left, Side Right). Note that some audio systems may label 5.1's Side channels as Rear or Surround; they are equivalent for the purposes of this extension. 51CHN16: Signed 16-bit, 5.1 Surround. 51CHN32: 32-bit float, 5.1 Surround. 61CHN8: Unsigned 8-bit, 6.1 Surround (Front Left, Front Right, Front Center, LFE, Rear Center, Side Left, Side Right). 61CHN16: Signed 16-bit, 6.1 Surround. 61CHN32: 32-bit float, 6.1 Surround. 71CHN8: Unsigned 8-bit, 7.1 Surround (Front Left, Front Right, Front Center, LFE, Rear Left, Rear Right, Side Left, Side Right). 71CHN16: Signed 16-bit, 7.1 Surround. 71CHN32: 32-bit float, 7.1 Surround. Provides support for B-Format ambisonic buffers (first-order, FuMa scaling and layout). BFORMAT2D_8: Unsigned 8-bit, 3-channel non-periphonic (WXY). BFORMAT2D_16: Signed 16-bit, 3-channel non-periphonic (WXY). BFORMAT2D_FLOAT32: 32-bit float, 3-channel non-periphonic (WXY). BFORMAT3D_8: Unsigned 8-bit, 4-channel periphonic (WXYZ). BFORMAT3D_16: Signed 16-bit, 4-channel periphonic (WXYZ). BFORMAT3D_FLOAT32: 32-bit float, 4-channel periphonic (WXYZ).