Last active
April 10, 2018 18:38
-
-
Save Metalhead33/0656ea024755ae797da29d170baffe63 to your computer and use it in GitHub Desktop.
OpenAL Wrapper
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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 extern __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 | |
/** | |
* Doppler velocity (deprecated). | |
* | |
* A multiplier applied to the Speed of Sound. | |
*/ | |
#define AL_DOPPLER_VELOCITY 0xC001 | |
/** | |
* 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 | |
/** | |
* 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 | |
/** 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 | |
/** 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); | |
extern LPALDOPPLERFACTOR alDopplerFactor; | |
extern LPALDOPPLERVELOCITY alDopplerVelocity; | |
extern LPALSPEEDOFSOUND alSpeedOfSound; | |
extern LPALDISTANCEMODEL alDistanceModel; | |
extern LPALENABLE alEnable; | |
extern LPALDISABLE alDisable; | |
extern LPALISENABLED alIsEnabled; | |
extern LPALGETSTRING alGetString; | |
extern LPALGETBOOLEAN alGetBooleanv; | |
extern LPALGETINTEGERV alGetIntegerv; | |
extern LPALGETFLOATV alGetFloatv; | |
extern LPALGETDOUBLEV alGetDoublev; | |
extern LPALGETBOOLEAN alGetBoolean; | |
extern LPALGETINTEGER alGetInteger; | |
extern LPALGETFLOAT alGetFloat; | |
extern LPALGETDOUBLE alGetDouble; | |
extern LPALGETERROR alGetError; | |
extern LPALISEXTENSIONPRESENT alIsExtensionPresent; | |
extern LPALGETPROCADDRESS alGetProcAddress; | |
extern LPALGETENUMVALUE alGetEnumValue; | |
extern LPALGETLISTENERF alListenerf; | |
extern LPALGETLISTENER3F alListener3f; | |
extern LPALGETLISTENERFV alListenerfv; | |
extern LPALGETLISTENERI alListeneri; | |
extern LPALGETLISTENER3I alListener3i; | |
extern LPALGETLISTENERIV alListeneriv; | |
extern LPALGETLISTENERF alGetListenerf; | |
extern LPALGETLISTENER3F alGetListener3f; | |
extern LPALGETLISTENERFV alGetListenerfv; | |
extern LPALGETLISTENERI alGetListeneri; | |
extern LPALGETLISTENER3I alGetListener3i; | |
extern LPALGETLISTENERIV alGetListeneriv; | |
extern LPALGENSOURCES alGenSources; | |
extern LPALDELETESOURCES alDeleteSources; | |
extern LPALISSOURCE alIsSource; | |
extern LPALSOURCEF alSourcef; | |
extern LPALSOURCE3F alSource3f; | |
extern LPALSOURCEFV alSourcefv; | |
extern LPALSOURCEI alSourcei; | |
extern LPALSOURCE3I alSource3i; | |
extern LPALSOURCEIV alSourceiv; | |
extern LPALGETSOURCEF alGetSourcef; | |
extern LPALGETSOURCE3F alGetSource3f; | |
extern LPALGETSOURCEFV alGetSourcefv; | |
extern LPALGETSOURCEI alGetSourcei; | |
extern LPALGETSOURCE3I alGetSource3i; | |
extern LPALGETSOURCEIV alGetSourceiv; | |
extern LPALSOURCEPLAYV alSourcePlayv; | |
extern LPALSOURCESTOPV alSourceStopv; | |
extern LPALSOURCEREWINDV alSourceRewindv; | |
extern LPALSOURCEPAUSEV alSourcePausev; | |
extern LPALSOURCEPLAY alSourcePlay; | |
extern LPALSOURCESTOP alSourceStop; | |
extern LPALSOURCEREWIND alSourceRewind; | |
extern LPALSOURCEPAUSE alSourcePause; | |
extern LPALSOURCEQUEUEBUFFERS alSourceQueueBuffers; | |
extern LPALSOURCEUNQUEUEBUFFERS alSourceUnqueueBuffers; | |
extern LPALGENBUFFERS alGenBuffers; | |
extern LPALDELETEBUFFERS alDeleteBuffers; | |
extern LPALISBUFFER alIsBuffer; | |
extern LPALBUFFERDATA alBufferData; | |
extern LPALBUFFERF alBufferf; | |
extern LPALBUFFER3F alBuffer3f; | |
extern LPALBUFFERFV alBufferfv; | |
extern LPALBUFFERI alBufferi; | |
extern LPALBUFFER3I alBuffer3i; | |
extern LPALBUFFERIV alBufferiv; | |
extern LPALGETBUFFERF alGetBufferf; | |
extern LPALGETBUFFER3F alGetBuffer3f; | |
extern LPALGETBUFFERFV alGetBufferfv; | |
extern LPALGETBUFFERI alGetBufferi; | |
extern LPALGETBUFFER3I alGetBuffer3i; | |
extern LPALGETBUFFERIV alGetBufferiv; | |
#if defined(__cplusplus) | |
} /* extern "C" */ | |
#endif | |
#endif /* AL_AL_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef AL_ALC_H | |
#define AL_ALC_H | |
#if defined(__cplusplus) | |
extern "C" { | |
#endif | |
#ifndef ALC_API | |
#if defined(AL_LIBTYPE_STATIC) | |
#define ALC_API | |
#elif defined(_WIN32) | |
#define ALC_API __declspec(dllimport) | |
#else | |
#define ALC_API extern | |
#endif | |
#endif | |
#if defined(_WIN32) | |
#define ALC_APIENTRY __cdecl | |
#else | |
#define ALC_APIENTRY | |
#endif | |
/** Deprecated macro. */ | |
#define ALCAPI ALC_API | |
#define ALCAPIENTRY ALC_APIENTRY | |
#define ALC_INVALID 0 | |
/** Supported ALC version? */ | |
#define ALC_VERSION_0_1 1 | |
/** Opaque device handle */ | |
typedef struct ALCdevice_struct ALCdevice; | |
/** Opaque context handle */ | |
typedef struct ALCcontext_struct ALCcontext; | |
/** 8-bit boolean */ | |
typedef char ALCboolean; | |
/** character */ | |
typedef char ALCchar; | |
/** signed 8-bit 2's complement integer */ | |
typedef signed char ALCbyte; | |
/** unsigned 8-bit integer */ | |
typedef unsigned char ALCubyte; | |
/** signed 16-bit 2's complement integer */ | |
typedef short ALCshort; | |
/** unsigned 16-bit integer */ | |
typedef unsigned short ALCushort; | |
/** signed 32-bit 2's complement integer */ | |
typedef int ALCint; | |
/** unsigned 32-bit integer */ | |
typedef unsigned int ALCuint; | |
/** non-negative 32-bit binary integer size */ | |
typedef int ALCsizei; | |
/** enumerated 32-bit value */ | |
typedef int ALCenum; | |
/** 32-bit IEEE754 floating-point */ | |
typedef float ALCfloat; | |
/** 64-bit IEEE754 floating-point */ | |
typedef double ALCdouble; | |
/** void type (for opaque pointers only) */ | |
typedef void ALCvoid; | |
/* Enumerant values begin at column 50. No tabs. */ | |
/** Boolean False. */ | |
#define ALC_FALSE 0 | |
/** Boolean True. */ | |
#define ALC_TRUE 1 | |
/** Context attribute: <int> Hz. */ | |
#define ALC_FREQUENCY 0x1007 | |
/** Context attribute: <int> Hz. */ | |
#define ALC_REFRESH 0x1008 | |
/** Context attribute: AL_TRUE or AL_FALSE. */ | |
#define ALC_SYNC 0x1009 | |
/** Context attribute: <int> requested Mono (3D) Sources. */ | |
#define ALC_MONO_SOURCES 0x1010 | |
/** Context attribute: <int> requested Stereo Sources. */ | |
#define ALC_STEREO_SOURCES 0x1011 | |
/** No error. */ | |
#define ALC_NO_ERROR 0 | |
/** Invalid device handle. */ | |
#define ALC_INVALID_DEVICE 0xA001 | |
/** Invalid context handle. */ | |
#define ALC_INVALID_CONTEXT 0xA002 | |
/** Invalid enum parameter passed to an ALC call. */ | |
#define ALC_INVALID_ENUM 0xA003 | |
/** Invalid value parameter passed to an ALC call. */ | |
#define ALC_INVALID_VALUE 0xA004 | |
/** Out of memory. */ | |
#define ALC_OUT_OF_MEMORY 0xA005 | |
/** Runtime ALC version. */ | |
#define ALC_MAJOR_VERSION 0x1000 | |
#define ALC_MINOR_VERSION 0x1001 | |
/** Context attribute list properties. */ | |
#define ALC_ATTRIBUTES_SIZE 0x1002 | |
#define ALC_ALL_ATTRIBUTES 0x1003 | |
/** String for the default device specifier. */ | |
#define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004 | |
/** | |
* String for the given device's specifier. | |
* | |
* If device handle is NULL, it is instead a null-char separated list of | |
* strings of known device specifiers (list ends with an empty string). | |
*/ | |
#define ALC_DEVICE_SPECIFIER 0x1005 | |
/** String for space-separated list of ALC extensions. */ | |
#define ALC_EXTENSIONS 0x1006 | |
/** Capture extension */ | |
#define ALC_EXT_CAPTURE 1 | |
/** | |
* String for the given capture device's specifier. | |
* | |
* If device handle is NULL, it is instead a null-char separated list of | |
* strings of known capture device specifiers (list ends with an empty string). | |
*/ | |
#define ALC_CAPTURE_DEVICE_SPECIFIER 0x310 | |
/** String for the default capture device specifier. */ | |
#define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER 0x311 | |
/** Number of sample frames available for capture. */ | |
#define ALC_CAPTURE_SAMPLES 0x312 | |
/** Enumerate All extension */ | |
#define ALC_ENUMERATE_ALL_EXT 1 | |
/** String for the default extended device specifier. */ | |
#define ALC_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012 | |
/** | |
* String for the given extended device's specifier. | |
* | |
* If device handle is NULL, it is instead a null-char separated list of | |
* strings of known extended device specifiers (list ends with an empty string). | |
*/ | |
#define ALC_ALL_DEVICES_SPECIFIER 0x1013 | |
/** Pointer-to-function type, useful for dynamically getting ALC entry points. */ | |
typedef ALCcontext* (ALC_APIENTRY *LPALCCREATECONTEXT)(ALCdevice *device, const ALCint *attrlist); | |
typedef ALCboolean (ALC_APIENTRY *LPALCMAKECONTEXTCURRENT)(ALCcontext *context); | |
typedef void (ALC_APIENTRY *LPALCPROCESSCONTEXT)(ALCcontext *context); | |
typedef void (ALC_APIENTRY *LPALCSUSPENDCONTEXT)(ALCcontext *context); | |
typedef void (ALC_APIENTRY *LPALCDESTROYCONTEXT)(ALCcontext *context); | |
typedef ALCcontext* (ALC_APIENTRY *LPALCGETCURRENTCONTEXT)(void); | |
typedef ALCdevice* (ALC_APIENTRY *LPALCGETCONTEXTSDEVICE)(ALCcontext *context); | |
typedef ALCdevice* (ALC_APIENTRY *LPALCOPENDEVICE)(const ALCchar *devicename); | |
typedef ALCboolean (ALC_APIENTRY *LPALCCLOSEDEVICE)(ALCdevice *device); | |
typedef ALCenum (ALC_APIENTRY *LPALCGETERROR)(ALCdevice *device); | |
typedef ALCboolean (ALC_APIENTRY *LPALCISEXTENSIONPRESENT)(ALCdevice *device, const ALCchar *extname); | |
typedef void* (ALC_APIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname); | |
typedef ALCenum (ALC_APIENTRY *LPALCGETENUMVALUE)(ALCdevice *device, const ALCchar *enumname); | |
typedef const ALCchar* (ALC_APIENTRY *LPALCGETSTRING)(ALCdevice *device, ALCenum param); | |
typedef void (ALC_APIENTRY *LPALCGETINTEGERV)(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values); | |
typedef ALCdevice* (ALC_APIENTRY *LPALCCAPTUREOPENDEVICE)(const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize); | |
typedef ALCboolean (ALC_APIENTRY *LPALCCAPTURECLOSEDEVICE)(ALCdevice *device); | |
typedef void (ALC_APIENTRY *LPALCCAPTURESTART)(ALCdevice *device); | |
typedef void (ALC_APIENTRY *LPALCCAPTURESTOP)(ALCdevice *device); | |
typedef void (ALC_APIENTRY *LPALCCAPTURESAMPLES)(ALCdevice *device, ALCvoid *buffer, ALCsizei samples); | |
extern LPALCCREATECONTEXT alcCreateContext; | |
extern LPALCMAKECONTEXTCURRENT alcMakeContextCurrent; | |
extern LPALCPROCESSCONTEXT alcProcessContext; | |
extern LPALCSUSPENDCONTEXT alcSuspendContext; | |
extern LPALCDESTROYCONTEXT alcDestroyContext; | |
extern LPALCGETCURRENTCONTEXT alcGetCurrentContext; | |
extern LPALCGETCONTEXTSDEVICE alcGetContextsDevice; | |
extern LPALCGETERROR alcGetError; | |
extern LPALCOPENDEVICE alcOpenDevice; | |
extern LPALCCLOSEDEVICE alcCloseDevice; | |
extern LPALCISEXTENSIONPRESENT alcIsExtensionPresent; | |
extern LPALCGETPROCADDRESS alcGetProcAddress; | |
extern LPALCGETENUMVALUE alcGetEnumValue; | |
extern LPALCGETSTRING alcGetString; | |
extern LPALCGETINTEGERV alcGetIntegerv; | |
extern LPALCCAPTUREOPENDEVICE alcCaptureOpenDevice; | |
extern LPALCCAPTURECLOSEDEVICE alcCaptureCloseDevice; | |
extern LPALCCAPTURESTART alcCaptureStart; | |
extern LPALCCAPTURESTOP alcCaptureStop; | |
extern LPALCCAPTURESAMPLES alcCaptureSamples; | |
#if defined(__cplusplus) | |
} | |
#endif | |
#endif /* AL_ALC_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef ALEXT_H | |
#define ALEXT_H | |
#if defined(__cplusplus) | |
extern "C" { | |
#endif | |
#include "efx.h" | |
#ifndef AL_EXT_float32 | |
#define AL_EXT_float32 1 | |
#define AL_FORMAT_MONO_FLOAT32 0x10010 | |
#define AL_FORMAT_STEREO_FLOAT32 0x10011 | |
#endif | |
#ifndef AL_EXT_double | |
#define AL_EXT_double 1 | |
#define AL_FORMAT_MONO_DOUBLE_EXT 0x10012 | |
#define AL_FORMAT_STEREO_DOUBLE_EXT 0x10013 | |
#endif | |
#ifndef AL_EXT_MULAW | |
#define AL_EXT_MULAW 1 | |
#define AL_FORMAT_MONO_MULAW_EXT 0x10014 | |
#define AL_FORMAT_STEREO_MULAW_EXT 0x10015 | |
#endif | |
#ifndef AL_EXT_ALAW | |
#define AL_EXT_ALAW 1 | |
#define AL_FORMAT_MONO_ALAW_EXT 0x10016 | |
#define AL_FORMAT_STEREO_ALAW_EXT 0x10017 | |
#endif | |
#ifndef ALC_LOKI_audio_channel | |
#define ALC_LOKI_audio_channel 1 | |
#define ALC_CHAN_MAIN_LOKI 0x500001 | |
#define ALC_CHAN_PCM_LOKI 0x500002 | |
#define ALC_CHAN_CD_LOKI 0x500003 | |
#endif | |
#ifndef AL_EXT_MCFORMATS | |
#define AL_EXT_MCFORMATS 1 | |
#define AL_FORMAT_QUAD8 0x1204 | |
#define AL_FORMAT_QUAD16 0x1205 | |
#define AL_FORMAT_QUAD32 0x1206 | |
#define AL_FORMAT_REAR8 0x1207 | |
#define AL_FORMAT_REAR16 0x1208 | |
#define AL_FORMAT_REAR32 0x1209 | |
#define AL_FORMAT_51CHN8 0x120A | |
#define AL_FORMAT_51CHN16 0x120B | |
#define AL_FORMAT_51CHN32 0x120C | |
#define AL_FORMAT_61CHN8 0x120D | |
#define AL_FORMAT_61CHN16 0x120E | |
#define AL_FORMAT_61CHN32 0x120F | |
#define AL_FORMAT_71CHN8 0x1210 | |
#define AL_FORMAT_71CHN16 0x1211 | |
#define AL_FORMAT_71CHN32 0x1212 | |
#endif | |
#ifndef AL_EXT_MULAW_MCFORMATS | |
#define AL_EXT_MULAW_MCFORMATS 1 | |
#define AL_FORMAT_MONO_MULAW 0x10014 | |
#define AL_FORMAT_STEREO_MULAW 0x10015 | |
#define AL_FORMAT_QUAD_MULAW 0x10021 | |
#define AL_FORMAT_REAR_MULAW 0x10022 | |
#define AL_FORMAT_51CHN_MULAW 0x10023 | |
#define AL_FORMAT_61CHN_MULAW 0x10024 | |
#define AL_FORMAT_71CHN_MULAW 0x10025 | |
#endif | |
#ifndef AL_EXT_IMA4 | |
#define AL_EXT_IMA4 1 | |
#define AL_FORMAT_MONO_IMA4 0x1300 | |
#define AL_FORMAT_STEREO_IMA4 0x1301 | |
#endif | |
typedef ALvoid (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALint,ALenum,ALvoid*,ALsizei,ALsizei); | |
typedef ALCboolean (ALC_APIENTRY*PFNALCSETTHREADCONTEXTPROC)(ALCcontext *context); | |
typedef ALCcontext* (ALC_APIENTRY*PFNALCGETTHREADCONTEXTPROC)(void); | |
typedef void (AL_APIENTRY*LPALFOLDBACKCALLBACK)(ALenum,ALsizei); | |
typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTART)(ALenum,ALsizei,ALsizei,ALfloat*,LPALFOLDBACKCALLBACK); | |
typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTOP)(void); | |
extern PFNALBUFFERDATASTATICPROC alBufferDataStatic; | |
extern PFNALCSETTHREADCONTEXTPROC alcSetThreadContext; | |
extern PFNALCGETTHREADCONTEXTPROC alcGetThreadContext; | |
extern LPALREQUESTFOLDBACKSTART alRequestFoldbackStart; | |
extern LPALREQUESTFOLDBACKSTOP alRequestFoldbackStop; | |
#if defined(__cplusplus) | |
} /* extern "C" */ | |
#endif | |
#endif // ALEXT_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef AL_EFX_H | |
#define AL_EFX_H | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
#include "alc.h" | |
#include "al.h" | |
#define ALC_EXT_EFX_NAME "ALC_EXT_EFX" | |
#define ALC_EFX_MAJOR_VERSION 0x20001 | |
#define ALC_EFX_MINOR_VERSION 0x20002 | |
#define ALC_MAX_AUXILIARY_SENDS 0x20003 | |
/* Listener properties. */ | |
#define AL_METERS_PER_UNIT 0x20004 | |
/* Source properties. */ | |
#define AL_DIRECT_FILTER 0x20005 | |
#define AL_AUXILIARY_SEND_FILTER 0x20006 | |
#define AL_AIR_ABSORPTION_FACTOR 0x20007 | |
#define AL_ROOM_ROLLOFF_FACTOR 0x20008 | |
#define AL_CONE_OUTER_GAINHF 0x20009 | |
#define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A | |
#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B | |
#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C | |
/* Effect properties. */ | |
/* Reverb effect parameters */ | |
#define AL_REVERB_DENSITY 0x0001 | |
#define AL_REVERB_DIFFUSION 0x0002 | |
#define AL_REVERB_GAIN 0x0003 | |
#define AL_REVERB_GAINHF 0x0004 | |
#define AL_REVERB_DECAY_TIME 0x0005 | |
#define AL_REVERB_DECAY_HFRATIO 0x0006 | |
#define AL_REVERB_REFLECTIONS_GAIN 0x0007 | |
#define AL_REVERB_REFLECTIONS_DELAY 0x0008 | |
#define AL_REVERB_LATE_REVERB_GAIN 0x0009 | |
#define AL_REVERB_LATE_REVERB_DELAY 0x000A | |
#define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B | |
#define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C | |
#define AL_REVERB_DECAY_HFLIMIT 0x000D | |
/* EAX Reverb effect parameters */ | |
#define AL_EAXREVERB_DENSITY 0x0001 | |
#define AL_EAXREVERB_DIFFUSION 0x0002 | |
#define AL_EAXREVERB_GAIN 0x0003 | |
#define AL_EAXREVERB_GAINHF 0x0004 | |
#define AL_EAXREVERB_GAINLF 0x0005 | |
#define AL_EAXREVERB_DECAY_TIME 0x0006 | |
#define AL_EAXREVERB_DECAY_HFRATIO 0x0007 | |
#define AL_EAXREVERB_DECAY_LFRATIO 0x0008 | |
#define AL_EAXREVERB_REFLECTIONS_GAIN 0x0009 | |
#define AL_EAXREVERB_REFLECTIONS_DELAY 0x000A | |
#define AL_EAXREVERB_REFLECTIONS_PAN 0x000B | |
#define AL_EAXREVERB_LATE_REVERB_GAIN 0x000C | |
#define AL_EAXREVERB_LATE_REVERB_DELAY 0x000D | |
#define AL_EAXREVERB_LATE_REVERB_PAN 0x000E | |
#define AL_EAXREVERB_ECHO_TIME 0x000F | |
#define AL_EAXREVERB_ECHO_DEPTH 0x0010 | |
#define AL_EAXREVERB_MODULATION_TIME 0x0011 | |
#define AL_EAXREVERB_MODULATION_DEPTH 0x0012 | |
#define AL_EAXREVERB_AIR_ABSORPTION_GAINHF 0x0013 | |
#define AL_EAXREVERB_HFREFERENCE 0x0014 | |
#define AL_EAXREVERB_LFREFERENCE 0x0015 | |
#define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR 0x0016 | |
#define AL_EAXREVERB_DECAY_HFLIMIT 0x0017 | |
/* Chorus effect parameters */ | |
#define AL_CHORUS_WAVEFORM 0x0001 | |
#define AL_CHORUS_PHASE 0x0002 | |
#define AL_CHORUS_RATE 0x0003 | |
#define AL_CHORUS_DEPTH 0x0004 | |
#define AL_CHORUS_FEEDBACK 0x0005 | |
#define AL_CHORUS_DELAY 0x0006 | |
/* Distortion effect parameters */ | |
#define AL_DISTORTION_EDGE 0x0001 | |
#define AL_DISTORTION_GAIN 0x0002 | |
#define AL_DISTORTION_LOWPASS_CUTOFF 0x0003 | |
#define AL_DISTORTION_EQCENTER 0x0004 | |
#define AL_DISTORTION_EQBANDWIDTH 0x0005 | |
/* Echo effect parameters */ | |
#define AL_ECHO_DELAY 0x0001 | |
#define AL_ECHO_LRDELAY 0x0002 | |
#define AL_ECHO_DAMPING 0x0003 | |
#define AL_ECHO_FEEDBACK 0x0004 | |
#define AL_ECHO_SPREAD 0x0005 | |
/* Flanger effect parameters */ | |
#define AL_FLANGER_WAVEFORM 0x0001 | |
#define AL_FLANGER_PHASE 0x0002 | |
#define AL_FLANGER_RATE 0x0003 | |
#define AL_FLANGER_DEPTH 0x0004 | |
#define AL_FLANGER_FEEDBACK 0x0005 | |
#define AL_FLANGER_DELAY 0x0006 | |
/* Frequency shifter effect parameters */ | |
#define AL_FREQUENCY_SHIFTER_FREQUENCY 0x0001 | |
#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION 0x0002 | |
#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION 0x0003 | |
/* Vocal morpher effect parameters */ | |
#define AL_VOCAL_MORPHER_PHONEMEA 0x0001 | |
#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING 0x0002 | |
#define AL_VOCAL_MORPHER_PHONEMEB 0x0003 | |
#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING 0x0004 | |
#define AL_VOCAL_MORPHER_WAVEFORM 0x0005 | |
#define AL_VOCAL_MORPHER_RATE 0x0006 | |
/* Pitchshifter effect parameters */ | |
#define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001 | |
#define AL_PITCH_SHIFTER_FINE_TUNE 0x0002 | |
/* Ringmodulator effect parameters */ | |
#define AL_RING_MODULATOR_FREQUENCY 0x0001 | |
#define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002 | |
#define AL_RING_MODULATOR_WAVEFORM 0x0003 | |
/* Autowah effect parameters */ | |
#define AL_AUTOWAH_ATTACK_TIME 0x0001 | |
#define AL_AUTOWAH_RELEASE_TIME 0x0002 | |
#define AL_AUTOWAH_RESONANCE 0x0003 | |
#define AL_AUTOWAH_PEAK_GAIN 0x0004 | |
/* Compressor effect parameters */ | |
#define AL_COMPRESSOR_ONOFF 0x0001 | |
/* Equalizer effect parameters */ | |
#define AL_EQUALIZER_LOW_GAIN 0x0001 | |
#define AL_EQUALIZER_LOW_CUTOFF 0x0002 | |
#define AL_EQUALIZER_MID1_GAIN 0x0003 | |
#define AL_EQUALIZER_MID1_CENTER 0x0004 | |
#define AL_EQUALIZER_MID1_WIDTH 0x0005 | |
#define AL_EQUALIZER_MID2_GAIN 0x0006 | |
#define AL_EQUALIZER_MID2_CENTER 0x0007 | |
#define AL_EQUALIZER_MID2_WIDTH 0x0008 | |
#define AL_EQUALIZER_HIGH_GAIN 0x0009 | |
#define AL_EQUALIZER_HIGH_CUTOFF 0x000A | |
/* Effect type */ | |
#define AL_EFFECT_FIRST_PARAMETER 0x0000 | |
#define AL_EFFECT_LAST_PARAMETER 0x8000 | |
#define AL_EFFECT_TYPE 0x8001 | |
/* Effect types, used with the AL_EFFECT_TYPE property */ | |
#define AL_EFFECT_NULL 0x0000 | |
#define AL_EFFECT_REVERB 0x0001 | |
#define AL_EFFECT_CHORUS 0x0002 | |
#define AL_EFFECT_DISTORTION 0x0003 | |
#define AL_EFFECT_ECHO 0x0004 | |
#define AL_EFFECT_FLANGER 0x0005 | |
#define AL_EFFECT_FREQUENCY_SHIFTER 0x0006 | |
#define AL_EFFECT_VOCAL_MORPHER 0x0007 | |
#define AL_EFFECT_PITCH_SHIFTER 0x0008 | |
#define AL_EFFECT_RING_MODULATOR 0x0009 | |
#define AL_EFFECT_AUTOWAH 0x000A | |
#define AL_EFFECT_COMPRESSOR 0x000B | |
#define AL_EFFECT_EQUALIZER 0x000C | |
#define AL_EFFECT_EAXREVERB 0x8000 | |
/* Auxiliary Effect Slot properties. */ | |
#define AL_EFFECTSLOT_EFFECT 0x0001 | |
#define AL_EFFECTSLOT_GAIN 0x0002 | |
#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003 | |
/* NULL Auxiliary Slot ID to disable a source send. */ | |
#define AL_EFFECTSLOT_NULL 0x0000 | |
/* Filter properties. */ | |
/* Lowpass filter parameters */ | |
#define AL_LOWPASS_GAIN 0x0001 | |
#define AL_LOWPASS_GAINHF 0x0002 | |
/* Highpass filter parameters */ | |
#define AL_HIGHPASS_GAIN 0x0001 | |
#define AL_HIGHPASS_GAINLF 0x0002 | |
/* Bandpass filter parameters */ | |
#define AL_BANDPASS_GAIN 0x0001 | |
#define AL_BANDPASS_GAINLF 0x0002 | |
#define AL_BANDPASS_GAINHF 0x0003 | |
/* Filter type */ | |
#define AL_FILTER_FIRST_PARAMETER 0x0000 | |
#define AL_FILTER_LAST_PARAMETER 0x8000 | |
#define AL_FILTER_TYPE 0x8001 | |
/* Filter types, used with the AL_FILTER_TYPE property */ | |
#define AL_FILTER_NULL 0x0000 | |
#define AL_FILTER_LOWPASS 0x0001 | |
#define AL_FILTER_HIGHPASS 0x0002 | |
#define AL_FILTER_BANDPASS 0x0003 | |
/* Effect object function types. */ | |
typedef void (AL_APIENTRY *LPALGENEFFECTS)(ALsizei, ALuint*); | |
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, const ALuint*); | |
typedef ALboolean (AL_APIENTRY *LPALISEFFECT)(ALuint); | |
typedef void (AL_APIENTRY *LPALEFFECTI)(ALuint, ALenum, ALint); | |
typedef void (AL_APIENTRY *LPALEFFECTIV)(ALuint, ALenum, const ALint*); | |
typedef void (AL_APIENTRY *LPALEFFECTF)(ALuint, ALenum, ALfloat); | |
typedef void (AL_APIENTRY *LPALEFFECTFV)(ALuint, ALenum, const ALfloat*); | |
typedef void (AL_APIENTRY *LPALGETEFFECTI)(ALuint, ALenum, ALint*); | |
typedef void (AL_APIENTRY *LPALGETEFFECTIV)(ALuint, ALenum, ALint*); | |
typedef void (AL_APIENTRY *LPALGETEFFECTF)(ALuint, ALenum, ALfloat*); | |
typedef void (AL_APIENTRY *LPALGETEFFECTFV)(ALuint, ALenum, ALfloat*); | |
/* Filter object function types. */ | |
typedef void (AL_APIENTRY *LPALGENFILTERS)(ALsizei, ALuint*); | |
typedef void (AL_APIENTRY *LPALDELETEFILTERS)(ALsizei, const ALuint*); | |
typedef ALboolean (AL_APIENTRY *LPALISFILTER)(ALuint); | |
typedef void (AL_APIENTRY *LPALFILTERI)(ALuint, ALenum, ALint); | |
typedef void (AL_APIENTRY *LPALFILTERIV)(ALuint, ALenum, const ALint*); | |
typedef void (AL_APIENTRY *LPALFILTERF)(ALuint, ALenum, ALfloat); | |
typedef void (AL_APIENTRY *LPALFILTERFV)(ALuint, ALenum, const ALfloat*); | |
typedef void (AL_APIENTRY *LPALGETFILTERI)(ALuint, ALenum, ALint*); | |
typedef void (AL_APIENTRY *LPALGETFILTERIV)(ALuint, ALenum, ALint*); | |
typedef void (AL_APIENTRY *LPALGETFILTERF)(ALuint, ALenum, ALfloat*); | |
typedef void (AL_APIENTRY *LPALGETFILTERFV)(ALuint, ALenum, ALfloat*); | |
/* Auxiliary Effect Slot object function types. */ | |
typedef void (AL_APIENTRY *LPALGENAUXILIARYEFFECTSLOTS)(ALsizei, ALuint*); | |
typedef void (AL_APIENTRY *LPALDELETEAUXILIARYEFFECTSLOTS)(ALsizei, const ALuint*); | |
typedef ALboolean (AL_APIENTRY *LPALISAUXILIARYEFFECTSLOT)(ALuint); | |
typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint); | |
typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, const ALint*); | |
typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat); | |
typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, const ALfloat*); | |
typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint*); | |
typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, ALint*); | |
typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat*); | |
typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, ALfloat*); | |
/* Function declarations */ | |
extern LPALGENEFFECTS alGenEffects; | |
extern LPALDELETEEFFECTS alDeleteEffects; | |
extern LPALISEFFECT alIsEffect; | |
extern LPALEFFECTI alEffecti; | |
extern LPALEFFECTIV alEffectiv; | |
extern LPALEFFECTF alEffectf; | |
extern LPALEFFECTI alEffectfv; | |
extern LPALGETEFFECTI alGetEffecti; | |
extern LPALGETEFFECTIV alGetEffectiv; | |
extern LPALGETEFFECTF alGetEffectf; | |
extern LPALGETEFFECTFV alGetEffectfv; | |
extern LPALGENFILTERS alGenFilters; | |
extern LPALDELETEFILTERS alDeleteFilters; | |
extern LPALISFILTER alIsFilter; | |
extern LPALFILTERI alFilteri; | |
extern LPALFILTERIV alFilteriv; | |
extern LPALFILTERF alFilterf; | |
extern LPALFILTERFV alFilterfv; | |
extern LPALGETFILTERI alGetFilteri; | |
extern LPALGETFILTERIV alGetFilteriv; | |
extern LPALGETFILTERF alGetFilterf; | |
extern LPALGETFILTERFV alGetFilterfv; | |
extern LPALGENAUXILIARYEFFECTSLOTS alGenAuxiliaryEffectSlots; | |
extern LPALDELETEAUXILIARYEFFECTSLOTS alDeleteAuxiliaryEffectSlots; | |
extern LPALISAUXILIARYEFFECTSLOT alIsAuxiliaryEffectSlot; | |
extern LPALAUXILIARYEFFECTSLOTI alAuxiliaryEffectSloti; | |
extern LPALAUXILIARYEFFECTSLOTIV alAuxiliaryEffectSlotiv; | |
extern LPALAUXILIARYEFFECTSLOTF alAuxiliaryEffectSlotf; | |
extern LPALAUXILIARYEFFECTSLOTFV alAuxiliaryEffectSlotfv; | |
extern LPALGETAUXILIARYEFFECTSLOTI alGetAuxiliaryEffectSloti; | |
extern LPALGETAUXILIARYEFFECTSLOTIV alGetAuxiliaryEffectSlotiv; | |
extern LPALGETAUXILIARYEFFECTSLOTF alGetAuxiliaryEffectSlotf; | |
extern LPALGETAUXILIARYEFFECTSLOTFV alGetAuxiliaryEffectSlotfv; | |
/* Filter ranges and defaults. */ | |
/* Lowpass filter */ | |
#define AL_LOWPASS_MIN_GAIN (0.0f) | |
#define AL_LOWPASS_MAX_GAIN (1.0f) | |
#define AL_LOWPASS_DEFAULT_GAIN (1.0f) | |
#define AL_LOWPASS_MIN_GAINHF (0.0f) | |
#define AL_LOWPASS_MAX_GAINHF (1.0f) | |
#define AL_LOWPASS_DEFAULT_GAINHF (1.0f) | |
/* Highpass filter */ | |
#define AL_HIGHPASS_MIN_GAIN (0.0f) | |
#define AL_HIGHPASS_MAX_GAIN (1.0f) | |
#define AL_HIGHPASS_DEFAULT_GAIN (1.0f) | |
#define AL_HIGHPASS_MIN_GAINLF (0.0f) | |
#define AL_HIGHPASS_MAX_GAINLF (1.0f) | |
#define AL_HIGHPASS_DEFAULT_GAINLF (1.0f) | |
/* Bandpass filter */ | |
#define AL_BANDPASS_MIN_GAIN (0.0f) | |
#define AL_BANDPASS_MAX_GAIN (1.0f) | |
#define AL_BANDPASS_DEFAULT_GAIN (1.0f) | |
#define AL_BANDPASS_MIN_GAINHF (0.0f) | |
#define AL_BANDPASS_MAX_GAINHF (1.0f) | |
#define AL_BANDPASS_DEFAULT_GAINHF (1.0f) | |
#define AL_BANDPASS_MIN_GAINLF (0.0f) | |
#define AL_BANDPASS_MAX_GAINLF (1.0f) | |
#define AL_BANDPASS_DEFAULT_GAINLF (1.0f) | |
/* Effect parameter ranges and defaults. */ | |
/* Standard reverb effect */ | |
#define AL_REVERB_MIN_DENSITY (0.0f) | |
#define AL_REVERB_MAX_DENSITY (1.0f) | |
#define AL_REVERB_DEFAULT_DENSITY (1.0f) | |
#define AL_REVERB_MIN_DIFFUSION (0.0f) | |
#define AL_REVERB_MAX_DIFFUSION (1.0f) | |
#define AL_REVERB_DEFAULT_DIFFUSION (1.0f) | |
#define AL_REVERB_MIN_GAIN (0.0f) | |
#define AL_REVERB_MAX_GAIN (1.0f) | |
#define AL_REVERB_DEFAULT_GAIN (0.32f) | |
#define AL_REVERB_MIN_GAINHF (0.0f) | |
#define AL_REVERB_MAX_GAINHF (1.0f) | |
#define AL_REVERB_DEFAULT_GAINHF (0.89f) | |
#define AL_REVERB_MIN_DECAY_TIME (0.1f) | |
#define AL_REVERB_MAX_DECAY_TIME (20.0f) | |
#define AL_REVERB_DEFAULT_DECAY_TIME (1.49f) | |
#define AL_REVERB_MIN_DECAY_HFRATIO (0.1f) | |
#define AL_REVERB_MAX_DECAY_HFRATIO (2.0f) | |
#define AL_REVERB_DEFAULT_DECAY_HFRATIO (0.83f) | |
#define AL_REVERB_MIN_REFLECTIONS_GAIN (0.0f) | |
#define AL_REVERB_MAX_REFLECTIONS_GAIN (3.16f) | |
#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN (0.05f) | |
#define AL_REVERB_MIN_REFLECTIONS_DELAY (0.0f) | |
#define AL_REVERB_MAX_REFLECTIONS_DELAY (0.3f) | |
#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY (0.007f) | |
#define AL_REVERB_MIN_LATE_REVERB_GAIN (0.0f) | |
#define AL_REVERB_MAX_LATE_REVERB_GAIN (10.0f) | |
#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN (1.26f) | |
#define AL_REVERB_MIN_LATE_REVERB_DELAY (0.0f) | |
#define AL_REVERB_MAX_LATE_REVERB_DELAY (0.1f) | |
#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY (0.011f) | |
#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f) | |
#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f) | |
#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f) | |
#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f) | |
#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f) | |
#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f) | |
#define AL_REVERB_MIN_DECAY_HFLIMIT AL_FALSE | |
#define AL_REVERB_MAX_DECAY_HFLIMIT AL_TRUE | |
#define AL_REVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE | |
/* EAX reverb effect */ | |
#define AL_EAXREVERB_MIN_DENSITY (0.0f) | |
#define AL_EAXREVERB_MAX_DENSITY (1.0f) | |
#define AL_EAXREVERB_DEFAULT_DENSITY (1.0f) | |
#define AL_EAXREVERB_MIN_DIFFUSION (0.0f) | |
#define AL_EAXREVERB_MAX_DIFFUSION (1.0f) | |
#define AL_EAXREVERB_DEFAULT_DIFFUSION (1.0f) | |
#define AL_EAXREVERB_MIN_GAIN (0.0f) | |
#define AL_EAXREVERB_MAX_GAIN (1.0f) | |
#define AL_EAXREVERB_DEFAULT_GAIN (0.32f) | |
#define AL_EAXREVERB_MIN_GAINHF (0.0f) | |
#define AL_EAXREVERB_MAX_GAINHF (1.0f) | |
#define AL_EAXREVERB_DEFAULT_GAINHF (0.89f) | |
#define AL_EAXREVERB_MIN_GAINLF (0.0f) | |
#define AL_EAXREVERB_MAX_GAINLF (1.0f) | |
#define AL_EAXREVERB_DEFAULT_GAINLF (1.0f) | |
#define AL_EAXREVERB_MIN_DECAY_TIME (0.1f) | |
#define AL_EAXREVERB_MAX_DECAY_TIME (20.0f) | |
#define AL_EAXREVERB_DEFAULT_DECAY_TIME (1.49f) | |
#define AL_EAXREVERB_MIN_DECAY_HFRATIO (0.1f) | |
#define AL_EAXREVERB_MAX_DECAY_HFRATIO (2.0f) | |
#define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO (0.83f) | |
#define AL_EAXREVERB_MIN_DECAY_LFRATIO (0.1f) | |
#define AL_EAXREVERB_MAX_DECAY_LFRATIO (2.0f) | |
#define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO (1.0f) | |
#define AL_EAXREVERB_MIN_REFLECTIONS_GAIN (0.0f) | |
#define AL_EAXREVERB_MAX_REFLECTIONS_GAIN (3.16f) | |
#define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN (0.05f) | |
#define AL_EAXREVERB_MIN_REFLECTIONS_DELAY (0.0f) | |
#define AL_EAXREVERB_MAX_REFLECTIONS_DELAY (0.3f) | |
#define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY (0.007f) | |
#define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ (0.0f) | |
#define AL_EAXREVERB_MIN_LATE_REVERB_GAIN (0.0f) | |
#define AL_EAXREVERB_MAX_LATE_REVERB_GAIN (10.0f) | |
#define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN (1.26f) | |
#define AL_EAXREVERB_MIN_LATE_REVERB_DELAY (0.0f) | |
#define AL_EAXREVERB_MAX_LATE_REVERB_DELAY (0.1f) | |
#define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY (0.011f) | |
#define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ (0.0f) | |
#define AL_EAXREVERB_MIN_ECHO_TIME (0.075f) | |
#define AL_EAXREVERB_MAX_ECHO_TIME (0.25f) | |
#define AL_EAXREVERB_DEFAULT_ECHO_TIME (0.25f) | |
#define AL_EAXREVERB_MIN_ECHO_DEPTH (0.0f) | |
#define AL_EAXREVERB_MAX_ECHO_DEPTH (1.0f) | |
#define AL_EAXREVERB_DEFAULT_ECHO_DEPTH (0.0f) | |
#define AL_EAXREVERB_MIN_MODULATION_TIME (0.04f) | |
#define AL_EAXREVERB_MAX_MODULATION_TIME (4.0f) | |
#define AL_EAXREVERB_DEFAULT_MODULATION_TIME (0.25f) | |
#define AL_EAXREVERB_MIN_MODULATION_DEPTH (0.0f) | |
#define AL_EAXREVERB_MAX_MODULATION_DEPTH (1.0f) | |
#define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH (0.0f) | |
#define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f) | |
#define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f) | |
#define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f) | |
#define AL_EAXREVERB_MIN_HFREFERENCE (1000.0f) | |
#define AL_EAXREVERB_MAX_HFREFERENCE (20000.0f) | |
#define AL_EAXREVERB_DEFAULT_HFREFERENCE (5000.0f) | |
#define AL_EAXREVERB_MIN_LFREFERENCE (20.0f) | |
#define AL_EAXREVERB_MAX_LFREFERENCE (1000.0f) | |
#define AL_EAXREVERB_DEFAULT_LFREFERENCE (250.0f) | |
#define AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f) | |
#define AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f) | |
#define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f) | |
#define AL_EAXREVERB_MIN_DECAY_HFLIMIT AL_FALSE | |
#define AL_EAXREVERB_MAX_DECAY_HFLIMIT AL_TRUE | |
#define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE | |
/* Chorus effect */ | |
#define AL_CHORUS_WAVEFORM_SINUSOID (0) | |
#define AL_CHORUS_WAVEFORM_TRIANGLE (1) | |
#define AL_CHORUS_MIN_WAVEFORM (0) | |
#define AL_CHORUS_MAX_WAVEFORM (1) | |
#define AL_CHORUS_DEFAULT_WAVEFORM (1) | |
#define AL_CHORUS_MIN_PHASE (-180) | |
#define AL_CHORUS_MAX_PHASE (180) | |
#define AL_CHORUS_DEFAULT_PHASE (90) | |
#define AL_CHORUS_MIN_RATE (0.0f) | |
#define AL_CHORUS_MAX_RATE (10.0f) | |
#define AL_CHORUS_DEFAULT_RATE (1.1f) | |
#define AL_CHORUS_MIN_DEPTH (0.0f) | |
#define AL_CHORUS_MAX_DEPTH (1.0f) | |
#define AL_CHORUS_DEFAULT_DEPTH (0.1f) | |
#define AL_CHORUS_MIN_FEEDBACK (-1.0f) | |
#define AL_CHORUS_MAX_FEEDBACK (1.0f) | |
#define AL_CHORUS_DEFAULT_FEEDBACK (0.25f) | |
#define AL_CHORUS_MIN_DELAY (0.0f) | |
#define AL_CHORUS_MAX_DELAY (0.016f) | |
#define AL_CHORUS_DEFAULT_DELAY (0.016f) | |
/* Distortion effect */ | |
#define AL_DISTORTION_MIN_EDGE (0.0f) | |
#define AL_DISTORTION_MAX_EDGE (1.0f) | |
#define AL_DISTORTION_DEFAULT_EDGE (0.2f) | |
#define AL_DISTORTION_MIN_GAIN (0.01f) | |
#define AL_DISTORTION_MAX_GAIN (1.0f) | |
#define AL_DISTORTION_DEFAULT_GAIN (0.05f) | |
#define AL_DISTORTION_MIN_LOWPASS_CUTOFF (80.0f) | |
#define AL_DISTORTION_MAX_LOWPASS_CUTOFF (24000.0f) | |
#define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF (8000.0f) | |
#define AL_DISTORTION_MIN_EQCENTER (80.0f) | |
#define AL_DISTORTION_MAX_EQCENTER (24000.0f) | |
#define AL_DISTORTION_DEFAULT_EQCENTER (3600.0f) | |
#define AL_DISTORTION_MIN_EQBANDWIDTH (80.0f) | |
#define AL_DISTORTION_MAX_EQBANDWIDTH (24000.0f) | |
#define AL_DISTORTION_DEFAULT_EQBANDWIDTH (3600.0f) | |
/* Echo effect */ | |
#define AL_ECHO_MIN_DELAY (0.0f) | |
#define AL_ECHO_MAX_DELAY (0.207f) | |
#define AL_ECHO_DEFAULT_DELAY (0.1f) | |
#define AL_ECHO_MIN_LRDELAY (0.0f) | |
#define AL_ECHO_MAX_LRDELAY (0.404f) | |
#define AL_ECHO_DEFAULT_LRDELAY (0.1f) | |
#define AL_ECHO_MIN_DAMPING (0.0f) | |
#define AL_ECHO_MAX_DAMPING (0.99f) | |
#define AL_ECHO_DEFAULT_DAMPING (0.5f) | |
#define AL_ECHO_MIN_FEEDBACK (0.0f) | |
#define AL_ECHO_MAX_FEEDBACK (1.0f) | |
#define AL_ECHO_DEFAULT_FEEDBACK (0.5f) | |
#define AL_ECHO_MIN_SPREAD (-1.0f) | |
#define AL_ECHO_MAX_SPREAD (1.0f) | |
#define AL_ECHO_DEFAULT_SPREAD (-1.0f) | |
/* Flanger effect */ | |
#define AL_FLANGER_WAVEFORM_SINUSOID (0) | |
#define AL_FLANGER_WAVEFORM_TRIANGLE (1) | |
#define AL_FLANGER_MIN_WAVEFORM (0) | |
#define AL_FLANGER_MAX_WAVEFORM (1) | |
#define AL_FLANGER_DEFAULT_WAVEFORM (1) | |
#define AL_FLANGER_MIN_PHASE (-180) | |
#define AL_FLANGER_MAX_PHASE (180) | |
#define AL_FLANGER_DEFAULT_PHASE (0) | |
#define AL_FLANGER_MIN_RATE (0.0f) | |
#define AL_FLANGER_MAX_RATE (10.0f) | |
#define AL_FLANGER_DEFAULT_RATE (0.27f) | |
#define AL_FLANGER_MIN_DEPTH (0.0f) | |
#define AL_FLANGER_MAX_DEPTH (1.0f) | |
#define AL_FLANGER_DEFAULT_DEPTH (1.0f) | |
#define AL_FLANGER_MIN_FEEDBACK (-1.0f) | |
#define AL_FLANGER_MAX_FEEDBACK (1.0f) | |
#define AL_FLANGER_DEFAULT_FEEDBACK (-0.5f) | |
#define AL_FLANGER_MIN_DELAY (0.0f) | |
#define AL_FLANGER_MAX_DELAY (0.004f) | |
#define AL_FLANGER_DEFAULT_DELAY (0.002f) | |
/* Frequency shifter effect */ | |
#define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY (0.0f) | |
#define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY (24000.0f) | |
#define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY (0.0f) | |
#define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION (0) | |
#define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION (2) | |
#define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION (0) | |
#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN (0) | |
#define AL_FREQUENCY_SHIFTER_DIRECTION_UP (1) | |
#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF (2) | |
#define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION (0) | |
#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION (2) | |
#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION (0) | |
/* Vocal morpher effect */ | |
#define AL_VOCAL_MORPHER_MIN_PHONEMEA (0) | |
#define AL_VOCAL_MORPHER_MAX_PHONEMEA (29) | |
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA (0) | |
#define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24) | |
#define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING (24) | |
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING (0) | |
#define AL_VOCAL_MORPHER_MIN_PHONEMEB (0) | |
#define AL_VOCAL_MORPHER_MAX_PHONEMEB (29) | |
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB (10) | |
#define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24) | |
#define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING (24) | |
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING (0) | |
#define AL_VOCAL_MORPHER_PHONEME_A (0) | |
#define AL_VOCAL_MORPHER_PHONEME_E (1) | |
#define AL_VOCAL_MORPHER_PHONEME_I (2) | |
#define AL_VOCAL_MORPHER_PHONEME_O (3) | |
#define AL_VOCAL_MORPHER_PHONEME_U (4) | |
#define AL_VOCAL_MORPHER_PHONEME_AA (5) | |
#define AL_VOCAL_MORPHER_PHONEME_AE (6) | |
#define AL_VOCAL_MORPHER_PHONEME_AH (7) | |
#define AL_VOCAL_MORPHER_PHONEME_AO (8) | |
#define AL_VOCAL_MORPHER_PHONEME_EH (9) | |
#define AL_VOCAL_MORPHER_PHONEME_ER (10) | |
#define AL_VOCAL_MORPHER_PHONEME_IH (11) | |
#define AL_VOCAL_MORPHER_PHONEME_IY (12) | |
#define AL_VOCAL_MORPHER_PHONEME_UH (13) | |
#define AL_VOCAL_MORPHER_PHONEME_UW (14) | |
#define AL_VOCAL_MORPHER_PHONEME_B (15) | |
#define AL_VOCAL_MORPHER_PHONEME_D (16) | |
#define AL_VOCAL_MORPHER_PHONEME_F (17) | |
#define AL_VOCAL_MORPHER_PHONEME_G (18) | |
#define AL_VOCAL_MORPHER_PHONEME_J (19) | |
#define AL_VOCAL_MORPHER_PHONEME_K (20) | |
#define AL_VOCAL_MORPHER_PHONEME_L (21) | |
#define AL_VOCAL_MORPHER_PHONEME_M (22) | |
#define AL_VOCAL_MORPHER_PHONEME_N (23) | |
#define AL_VOCAL_MORPHER_PHONEME_P (24) | |
#define AL_VOCAL_MORPHER_PHONEME_R (25) | |
#define AL_VOCAL_MORPHER_PHONEME_S (26) | |
#define AL_VOCAL_MORPHER_PHONEME_T (27) | |
#define AL_VOCAL_MORPHER_PHONEME_V (28) | |
#define AL_VOCAL_MORPHER_PHONEME_Z (29) | |
#define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID (0) | |
#define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE (1) | |
#define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH (2) | |
#define AL_VOCAL_MORPHER_MIN_WAVEFORM (0) | |
#define AL_VOCAL_MORPHER_MAX_WAVEFORM (2) | |
#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM (0) | |
#define AL_VOCAL_MORPHER_MIN_RATE (0.0f) | |
#define AL_VOCAL_MORPHER_MAX_RATE (10.0f) | |
#define AL_VOCAL_MORPHER_DEFAULT_RATE (1.41f) | |
/* Pitch shifter effect */ | |
#define AL_PITCH_SHIFTER_MIN_COARSE_TUNE (-12) | |
#define AL_PITCH_SHIFTER_MAX_COARSE_TUNE (12) | |
#define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE (12) | |
#define AL_PITCH_SHIFTER_MIN_FINE_TUNE (-50) | |
#define AL_PITCH_SHIFTER_MAX_FINE_TUNE (50) | |
#define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE (0) | |
/* Ring modulator effect */ | |
#define AL_RING_MODULATOR_MIN_FREQUENCY (0.0f) | |
#define AL_RING_MODULATOR_MAX_FREQUENCY (8000.0f) | |
#define AL_RING_MODULATOR_DEFAULT_FREQUENCY (440.0f) | |
#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF (0.0f) | |
#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF (24000.0f) | |
#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF (800.0f) | |
#define AL_RING_MODULATOR_SINUSOID (0) | |
#define AL_RING_MODULATOR_SAWTOOTH (1) | |
#define AL_RING_MODULATOR_SQUARE (2) | |
#define AL_RING_MODULATOR_MIN_WAVEFORM (0) | |
#define AL_RING_MODULATOR_MAX_WAVEFORM (2) | |
#define AL_RING_MODULATOR_DEFAULT_WAVEFORM (0) | |
/* Autowah effect */ | |
#define AL_AUTOWAH_MIN_ATTACK_TIME (0.0001f) | |
#define AL_AUTOWAH_MAX_ATTACK_TIME (1.0f) | |
#define AL_AUTOWAH_DEFAULT_ATTACK_TIME (0.06f) | |
#define AL_AUTOWAH_MIN_RELEASE_TIME (0.0001f) | |
#define AL_AUTOWAH_MAX_RELEASE_TIME (1.0f) | |
#define AL_AUTOWAH_DEFAULT_RELEASE_TIME (0.06f) | |
#define AL_AUTOWAH_MIN_RESONANCE (2.0f) | |
#define AL_AUTOWAH_MAX_RESONANCE (1000.0f) | |
#define AL_AUTOWAH_DEFAULT_RESONANCE (1000.0f) | |
#define AL_AUTOWAH_MIN_PEAK_GAIN (0.00003f) | |
#define AL_AUTOWAH_MAX_PEAK_GAIN (31621.0f) | |
#define AL_AUTOWAH_DEFAULT_PEAK_GAIN (11.22f) | |
/* Compressor effect */ | |
#define AL_COMPRESSOR_MIN_ONOFF (0) | |
#define AL_COMPRESSOR_MAX_ONOFF (1) | |
#define AL_COMPRESSOR_DEFAULT_ONOFF (1) | |
/* Equalizer effect */ | |
#define AL_EQUALIZER_MIN_LOW_GAIN (0.126f) | |
#define AL_EQUALIZER_MAX_LOW_GAIN (7.943f) | |
#define AL_EQUALIZER_DEFAULT_LOW_GAIN (1.0f) | |
#define AL_EQUALIZER_MIN_LOW_CUTOFF (50.0f) | |
#define AL_EQUALIZER_MAX_LOW_CUTOFF (800.0f) | |
#define AL_EQUALIZER_DEFAULT_LOW_CUTOFF (200.0f) | |
#define AL_EQUALIZER_MIN_MID1_GAIN (0.126f) | |
#define AL_EQUALIZER_MAX_MID1_GAIN (7.943f) | |
#define AL_EQUALIZER_DEFAULT_MID1_GAIN (1.0f) | |
#define AL_EQUALIZER_MIN_MID1_CENTER (200.0f) | |
#define AL_EQUALIZER_MAX_MID1_CENTER (3000.0f) | |
#define AL_EQUALIZER_DEFAULT_MID1_CENTER (500.0f) | |
#define AL_EQUALIZER_MIN_MID1_WIDTH (0.01f) | |
#define AL_EQUALIZER_MAX_MID1_WIDTH (1.0f) | |
#define AL_EQUALIZER_DEFAULT_MID1_WIDTH (1.0f) | |
#define AL_EQUALIZER_MIN_MID2_GAIN (0.126f) | |
#define AL_EQUALIZER_MAX_MID2_GAIN (7.943f) | |
#define AL_EQUALIZER_DEFAULT_MID2_GAIN (1.0f) | |
#define AL_EQUALIZER_MIN_MID2_CENTER (1000.0f) | |
#define AL_EQUALIZER_MAX_MID2_CENTER (8000.0f) | |
#define AL_EQUALIZER_DEFAULT_MID2_CENTER (3000.0f) | |
#define AL_EQUALIZER_MIN_MID2_WIDTH (0.01f) | |
#define AL_EQUALIZER_MAX_MID2_WIDTH (1.0f) | |
#define AL_EQUALIZER_DEFAULT_MID2_WIDTH (1.0f) | |
#define AL_EQUALIZER_MIN_HIGH_GAIN (0.126f) | |
#define AL_EQUALIZER_MAX_HIGH_GAIN (7.943f) | |
#define AL_EQUALIZER_DEFAULT_HIGH_GAIN (1.0f) | |
#define AL_EQUALIZER_MIN_HIGH_CUTOFF (4000.0f) | |
#define AL_EQUALIZER_MAX_HIGH_CUTOFF (16000.0f) | |
#define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF (6000.0f) | |
/* Source parameter value ranges and defaults. */ | |
#define AL_MIN_AIR_ABSORPTION_FACTOR (0.0f) | |
#define AL_MAX_AIR_ABSORPTION_FACTOR (10.0f) | |
#define AL_DEFAULT_AIR_ABSORPTION_FACTOR (0.0f) | |
#define AL_MIN_ROOM_ROLLOFF_FACTOR (0.0f) | |
#define AL_MAX_ROOM_ROLLOFF_FACTOR (10.0f) | |
#define AL_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f) | |
#define AL_MIN_CONE_OUTER_GAINHF (0.0f) | |
#define AL_MAX_CONE_OUTER_GAINHF (1.0f) | |
#define AL_DEFAULT_CONE_OUTER_GAINHF (1.0f) | |
#define AL_MIN_DIRECT_FILTER_GAINHF_AUTO AL_FALSE | |
#define AL_MAX_DIRECT_FILTER_GAINHF_AUTO AL_TRUE | |
#define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO AL_TRUE | |
#define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_FALSE | |
#define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE | |
#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE | |
#define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE | |
#define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE | |
#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE | |
/* Listener parameter value ranges and defaults. */ | |
#define AL_MIN_METERS_PER_UNIT FLT_MIN | |
#define AL_MAX_METERS_PER_UNIT FLT_MAX | |
#define AL_DEFAULT_METERS_PER_UNIT (1.0f) | |
#ifdef __cplusplus | |
} /* extern "C" */ | |
#endif | |
#endif /* AL_EFX_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "OpenALWrapper.hpp" | |
#include <dlfcn.h> | |
LPALCCREATECONTEXT alcCreateContext; | |
LPALCMAKECONTEXTCURRENT alcMakeContextCurrent; | |
LPALCPROCESSCONTEXT alcProcessContext; | |
LPALCSUSPENDCONTEXT alcSuspendContext; | |
LPALCDESTROYCONTEXT alcDestroyContext; | |
LPALCGETCURRENTCONTEXT alcGetCurrentContext; | |
LPALCGETCONTEXTSDEVICE alcGetContextsDevice; | |
LPALCGETERROR alcGetError; | |
LPALCOPENDEVICE alcOpenDevice; | |
LPALCCLOSEDEVICE alcCloseDevice; | |
LPALCISEXTENSIONPRESENT alcIsExtensionPresent; | |
LPALCGETPROCADDRESS alcGetProcAddress; | |
LPALCGETENUMVALUE alcGetEnumValue; | |
LPALCGETSTRING alcGetString; | |
LPALCGETINTEGERV alcGetIntegerv; | |
LPALCCAPTUREOPENDEVICE alcCaptureOpenDevice; | |
LPALCCAPTURECLOSEDEVICE alcCaptureCloseDevice; | |
LPALCCAPTURESTART alcCaptureStart; | |
LPALCCAPTURESTOP alcCaptureStop; | |
LPALCCAPTURESAMPLES alcCaptureSamples; | |
LPALDOPPLERFACTOR alDopplerFactor; | |
LPALDOPPLERVELOCITY alDopplerVelocity; | |
LPALSPEEDOFSOUND alSpeedOfSound; | |
LPALDISTANCEMODEL alDistanceModel; | |
LPALENABLE alEnable; | |
LPALDISABLE alDisable; | |
LPALISENABLED alIsEnabled; | |
LPALGETSTRING alGetString; | |
LPALGETBOOLEAN alGetBooleanv; | |
LPALGETINTEGERV alGetIntegerv; | |
LPALGETFLOATV alGetFloatv; | |
LPALGETDOUBLEV alGetDoublev; | |
LPALGETBOOLEAN alGetBoolean; | |
LPALGETINTEGER alGetInteger; | |
LPALGETFLOAT alGetFloat; | |
LPALGETDOUBLE alGetDouble; | |
LPALGETERROR alGetError; | |
LPALISEXTENSIONPRESENT alIsExtensionPresent; | |
LPALGETPROCADDRESS alGetProcAddress; | |
LPALGETENUMVALUE alGetEnumValue; | |
LPALGETLISTENERF alListenerf; | |
LPALGETLISTENER3F alListener3f; | |
LPALGETLISTENERFV alListenerfv; | |
LPALGETLISTENERI alListeneri; | |
LPALGETLISTENER3I alListener3i; | |
LPALGETLISTENERIV alListeneriv; | |
LPALGETLISTENERF alGetListenerf; | |
LPALGETLISTENER3F alGetListener3f; | |
LPALGETLISTENERFV alGetListenerfv; | |
LPALGETLISTENERI alGetListeneri; | |
LPALGETLISTENER3I alGetListener3i; | |
LPALGETLISTENERIV alGetListeneriv; | |
LPALGENSOURCES alGenSources; | |
LPALDELETESOURCES alDeleteSources; | |
LPALISSOURCE alIsSource; | |
LPALSOURCEF alSourcef; | |
LPALSOURCE3F alSource3f; | |
LPALSOURCEFV alSourcefv; | |
LPALSOURCEI alSourcei; | |
LPALSOURCE3I alSource3i; | |
LPALSOURCEIV alSourceiv; | |
LPALGETSOURCEF alGetSourcef; | |
LPALGETSOURCE3F alGetSource3f; | |
LPALGETSOURCEFV alGetSourcefv; | |
LPALGETSOURCEI alGetSourcei; | |
LPALGETSOURCE3I alGetSource3i; | |
LPALGETSOURCEIV alGetSourceiv; | |
LPALSOURCEPLAYV alSourcePlayv; | |
LPALSOURCESTOPV alSourceStopv; | |
LPALSOURCEREWINDV alSourceRewindv; | |
LPALSOURCEPAUSEV alSourcePausev; | |
LPALSOURCEPLAY alSourcePlay; | |
LPALSOURCESTOP alSourceStop; | |
LPALSOURCEREWIND alSourceRewind; | |
LPALSOURCEPAUSE alSourcePause; | |
LPALSOURCEQUEUEBUFFERS alSourceQueueBuffers; | |
LPALSOURCEUNQUEUEBUFFERS alSourceUnqueueBuffers; | |
LPALGENBUFFERS alGenBuffers; | |
LPALDELETEBUFFERS alDeleteBuffers; | |
LPALISBUFFER alIsBuffer; | |
LPALBUFFERDATA alBufferData; | |
LPALBUFFERF alBufferf; | |
LPALBUFFER3F alBuffer3f; | |
LPALBUFFERFV alBufferfv; | |
LPALBUFFERI alBufferi; | |
LPALBUFFER3I alBuffer3i; | |
LPALBUFFERIV alBufferiv; | |
LPALGETBUFFERF alGetBufferf; | |
LPALGETBUFFER3F alGetBuffer3f; | |
LPALGETBUFFERFV alGetBufferfv; | |
LPALGETBUFFERI alGetBufferi; | |
LPALGETBUFFER3I alGetBuffer3i; | |
LPALGETBUFFERIV alGetBufferiv; | |
LPALGENEFFECTS alGenEffects; | |
LPALDELETEEFFECTS alDeleteEffects; | |
LPALISEFFECT alIsEffect; | |
LPALEFFECTI alEffecti; | |
LPALEFFECTIV alEffectiv; | |
LPALEFFECTF alEffectf; | |
LPALEFFECTI alEffectfv; | |
LPALGETEFFECTI alGetEffecti; | |
LPALGETEFFECTIV alGetEffectiv; | |
LPALGETEFFECTF alGetEffectf; | |
LPALGETEFFECTFV alGetEffectfv; | |
LPALGENFILTERS alGenFilters; | |
LPALDELETEFILTERS alDeleteFilters; | |
LPALISFILTER alIsFilter; | |
LPALFILTERI alFilteri; | |
LPALFILTERIV alFilteriv; | |
LPALFILTERF alFilterf; | |
LPALFILTERFV alFilterfv; | |
LPALGETFILTERI alGetFilteri; | |
LPALGETFILTERIV alGetFilteriv; | |
LPALGETFILTERF alGetFilterf; | |
LPALGETFILTERFV alGetFilterfv; | |
LPALGENAUXILIARYEFFECTSLOTS alGenAuxiliaryEffectSlots; | |
LPALDELETEAUXILIARYEFFECTSLOTS alDeleteAuxiliaryEffectSlots; | |
LPALISAUXILIARYEFFECTSLOT alIsAuxiliaryEffectSlot; | |
LPALAUXILIARYEFFECTSLOTI alAuxiliaryEffectSloti; | |
LPALAUXILIARYEFFECTSLOTIV alAuxiliaryEffectSlotiv; | |
LPALAUXILIARYEFFECTSLOTF alAuxiliaryEffectSlotf; | |
LPALAUXILIARYEFFECTSLOTFV alAuxiliaryEffectSlotfv; | |
LPALGETAUXILIARYEFFECTSLOTI alGetAuxiliaryEffectSloti; | |
LPALGETAUXILIARYEFFECTSLOTIV alGetAuxiliaryEffectSlotiv; | |
LPALGETAUXILIARYEFFECTSLOTF alGetAuxiliaryEffectSlotf; | |
LPALGETAUXILIARYEFFECTSLOTFV alGetAuxiliaryEffectSlotfv; | |
PFNALBUFFERDATASTATICPROC alBufferDataStatic; | |
PFNALCSETTHREADCONTEXTPROC alcSetThreadContext; | |
PFNALCGETTHREADCONTEXTPROC alcGetThreadContext; | |
LPALREQUESTFOLDBACKSTART alRequestFoldbackStart; | |
LPALREQUESTFOLDBACKSTOP alRequestFoldbackStop; | |
bool loadAL() | |
{ | |
void* libopenal = dlopen("libopenal.so", RTLD_NOW | RTLD_LOCAL); | |
if (!libopenal) | |
return false; | |
alcCreateContext = reinterpret_cast<LPALCCREATECONTEXT>(dlsym(libopenal,"alcCreateContext")); | |
alcMakeContextCurrent = reinterpret_cast<LPALCMAKECONTEXTCURRENT>(dlsym(libopenal,"alcMakeContextCurrent")); | |
alcProcessContext = reinterpret_cast<LPALCPROCESSCONTEXT>(dlsym(libopenal,"alcProcessContext")); | |
alcSuspendContext = reinterpret_cast<LPALCSUSPENDCONTEXT>(dlsym(libopenal,"alcSuspendContext")); | |
alcDestroyContext = reinterpret_cast<LPALCDESTROYCONTEXT>(dlsym(libopenal,"alcDestroyContext")); | |
alcGetCurrentContext = reinterpret_cast<LPALCGETCURRENTCONTEXT>(dlsym(libopenal,"alcGetCurrentContext")); | |
alcGetContextsDevice = reinterpret_cast<LPALCGETCONTEXTSDEVICE>(dlsym(libopenal,"alcGetContextsDevice")); | |
alcGetError = reinterpret_cast<LPALCGETERROR>(dlsym(libopenal,"alcGetError")); | |
alcOpenDevice = reinterpret_cast<LPALCOPENDEVICE>(dlsym(libopenal,"alcOpenDevice")); | |
alcCloseDevice = reinterpret_cast<LPALCCLOSEDEVICE>(dlsym(libopenal,"alcCloseDevice")); | |
alcIsExtensionPresent = reinterpret_cast<LPALCISEXTENSIONPRESENT>(dlsym(libopenal,"alcIsExtensionPresent")); | |
alcGetProcAddress = reinterpret_cast<LPALCGETPROCADDRESS>(dlsym(libopenal,"alcGetProcAddress")); | |
alcGetEnumValue = reinterpret_cast<LPALCGETENUMVALUE>(dlsym(libopenal,"alcGetEnumValue")); | |
alcGetString = reinterpret_cast<LPALCGETSTRING>(dlsym(libopenal,"alcGetString")); | |
alcGetIntegerv = reinterpret_cast<LPALCGETINTEGERV>(dlsym(libopenal,"alcGetIntegerv")); | |
alcCaptureOpenDevice = reinterpret_cast<LPALCCAPTUREOPENDEVICE>(dlsym(libopenal,"alcCaptureOpenDevice")); | |
alcCaptureCloseDevice = reinterpret_cast<LPALCCAPTURECLOSEDEVICE>(dlsym(libopenal,"alcCaptureCloseDevice")); | |
alcCaptureStart = reinterpret_cast<LPALCCAPTURESTART>(dlsym(libopenal,"alcCaptureStart")); | |
alcCaptureStop = reinterpret_cast<LPALCCAPTURESTOP>(dlsym(libopenal,"alcCaptureStop")); | |
alcCaptureSamples = reinterpret_cast<LPALCCAPTURESAMPLES>(dlsym(libopenal,"alcCaptureSamples")); | |
alDopplerFactor = reinterpret_cast<LPALDOPPLERFACTOR>(dlsym(libopenal,"alDopplerFactor")); | |
alDopplerVelocity = reinterpret_cast<LPALDOPPLERVELOCITY>(dlsym(libopenal,"alDopplerVelocity")); | |
alSpeedOfSound = reinterpret_cast<LPALSPEEDOFSOUND>(dlsym(libopenal,"alSpeedOfSound")); | |
alDistanceModel = reinterpret_cast<LPALDISTANCEMODEL>(dlsym(libopenal,"alDistanceModel")); | |
alEnable = reinterpret_cast<LPALENABLE>(dlsym(libopenal,"alEnable")); | |
alDisable = reinterpret_cast<LPALDISABLE>(dlsym(libopenal,"alDisable")); | |
alIsEnabled = reinterpret_cast<LPALISENABLED>(dlsym(libopenal,"alIsEnabled")); | |
alGetString = reinterpret_cast<LPALGETSTRING>(dlsym(libopenal,"alGetString")); | |
alGetBooleanv = reinterpret_cast<LPALGETBOOLEAN>(dlsym(libopenal,"alGetBooleanv")); | |
alGetIntegerv = reinterpret_cast<LPALGETINTEGERV>(dlsym(libopenal,"alGetIntegerv")); | |
alGetFloatv = reinterpret_cast<LPALGETFLOATV>(dlsym(libopenal,"alGetFloatv")); | |
alGetDoublev = reinterpret_cast<LPALGETDOUBLEV>(dlsym(libopenal,"alGetDoublev")); | |
alGetBoolean = reinterpret_cast<LPALGETBOOLEAN>(dlsym(libopenal,"alGetBoolean")); | |
alGetInteger = reinterpret_cast<LPALGETINTEGER>(dlsym(libopenal,"alGetInteger")); | |
alGetFloat = reinterpret_cast<LPALGETFLOAT>(dlsym(libopenal,"alGetFloat")); | |
alGetDouble = reinterpret_cast<LPALGETDOUBLE>(dlsym(libopenal,"alGetDouble")); | |
alGetError = reinterpret_cast<LPALGETERROR>(dlsym(libopenal,"alGetError")); | |
alIsExtensionPresent = reinterpret_cast<LPALISEXTENSIONPRESENT>(dlsym(libopenal,"alIsExtensionPresent")); | |
alGetProcAddress = reinterpret_cast<LPALGETPROCADDRESS>(dlsym(libopenal,"alGetProcAddress")); | |
alGetEnumValue = reinterpret_cast<LPALGETENUMVALUE>(dlsym(libopenal,"alGetEnumValue")); | |
alListenerf = reinterpret_cast<LPALGETLISTENERF>(dlsym(libopenal,"alListenerf")); | |
alListener3f = reinterpret_cast<LPALGETLISTENER3F>(dlsym(libopenal,"alListener3f")); | |
alListenerfv = reinterpret_cast<LPALGETLISTENERFV>(dlsym(libopenal,"alListenerfv")); | |
alListeneri = reinterpret_cast<LPALGETLISTENERI>(dlsym(libopenal,"alListeneri")); | |
alListener3i = reinterpret_cast<LPALGETLISTENER3I>(dlsym(libopenal,"alListener3i")); | |
alListeneriv = reinterpret_cast<LPALGETLISTENERIV>(dlsym(libopenal,"alListeneriv")); | |
alGetListenerf = reinterpret_cast<LPALGETLISTENERF>(dlsym(libopenal,"alGetListenerf")); | |
alGetListener3f = reinterpret_cast<LPALGETLISTENER3F>(dlsym(libopenal,"alGetListener3f")); | |
alGetListenerfv = reinterpret_cast<LPALGETLISTENERFV>(dlsym(libopenal,"alGetListenerfv")); | |
alGetListeneri = reinterpret_cast<LPALGETLISTENERI>(dlsym(libopenal,"alGetListeneri")); | |
alGetListener3i = reinterpret_cast<LPALGETLISTENER3I>(dlsym(libopenal,"alGetListener3i")); | |
alGetListeneriv = reinterpret_cast<LPALGETLISTENERIV>(dlsym(libopenal,"alGetListeneriv")); | |
alGenSources = reinterpret_cast<LPALGENSOURCES>(dlsym(libopenal,"alGenSources")); | |
alDeleteSources = reinterpret_cast<LPALDELETESOURCES>(dlsym(libopenal,"alDeleteSources")); | |
alIsSource = reinterpret_cast<LPALISSOURCE>(dlsym(libopenal,"alIsSource")); | |
alSourcef = reinterpret_cast<LPALSOURCEF>(dlsym(libopenal,"alSourcef")); | |
alSource3f = reinterpret_cast<LPALSOURCE3F>(dlsym(libopenal,"alSource3f")); | |
alSourcefv = reinterpret_cast<LPALSOURCEFV>(dlsym(libopenal,"alSourcefv")); | |
alSourcei = reinterpret_cast<LPALSOURCEI>(dlsym(libopenal,"alSourcei")); | |
alSource3i = reinterpret_cast<LPALSOURCE3I>(dlsym(libopenal,"alSource3i")); | |
alSourceiv = reinterpret_cast<LPALSOURCEIV>(dlsym(libopenal,"alSourceiv")); | |
alGetSourcef = reinterpret_cast<LPALGETSOURCEF>(dlsym(libopenal,"alGetSourcef")); | |
alGetSource3f = reinterpret_cast<LPALGETSOURCE3F>(dlsym(libopenal,"alGetSource3f")); | |
alGetSourcefv = reinterpret_cast<LPALGETSOURCEFV>(dlsym(libopenal,"alGetSourcefv")); | |
alGetSourcei = reinterpret_cast<LPALGETSOURCEI>(dlsym(libopenal,"alGetSourcei")); | |
alGetSource3i = reinterpret_cast<LPALGETSOURCE3I>(dlsym(libopenal,"alGetSource3i")); | |
alGetSourceiv = reinterpret_cast<LPALGETSOURCEIV>(dlsym(libopenal,"alGetSourceiv")); | |
alSourcePlayv = reinterpret_cast<LPALSOURCEPLAYV>(dlsym(libopenal,"alSourcePlayv")); | |
alSourceStopv = reinterpret_cast<LPALSOURCESTOPV>(dlsym(libopenal,"alSourceStopv")); | |
alSourceRewindv = reinterpret_cast<LPALSOURCEREWINDV>(dlsym(libopenal,"alSourceRewindv")); | |
alSourcePausev = reinterpret_cast<LPALSOURCEPAUSEV>(dlsym(libopenal,"alSourcePausev")); | |
alSourcePlay = reinterpret_cast<LPALSOURCEPLAY>(dlsym(libopenal,"alSourcePlay")); | |
alSourceStop = reinterpret_cast<LPALSOURCESTOP>(dlsym(libopenal,"alSourceStop")); | |
alSourceRewind = reinterpret_cast<LPALSOURCEREWIND>(dlsym(libopenal,"alSourceRewind")); | |
alSourcePause = reinterpret_cast<LPALSOURCEPAUSE>(dlsym(libopenal,"alSourcePause")); | |
alSourceQueueBuffers = reinterpret_cast<LPALSOURCEQUEUEBUFFERS>(dlsym(libopenal,"alSourceQueueBuffers")); | |
alSourceUnqueueBuffers = reinterpret_cast<LPALSOURCEUNQUEUEBUFFERS>(dlsym(libopenal,"alSourceUnqueueBuffers")); | |
alGenBuffers = reinterpret_cast<LPALGENBUFFERS>(dlsym(libopenal,"alGenBuffers")); | |
alDeleteBuffers = reinterpret_cast<LPALDELETEBUFFERS>(dlsym(libopenal,"alDeleteBuffers")); | |
alIsBuffer = reinterpret_cast<LPALISBUFFER>(dlsym(libopenal,"alIsBuffer")); | |
alBufferData = reinterpret_cast<LPALBUFFERDATA>(dlsym(libopenal,"alBufferData")); | |
alBufferf = reinterpret_cast<LPALBUFFERF>(dlsym(libopenal,"alBufferf")); | |
alBuffer3f = reinterpret_cast<LPALBUFFER3F>(dlsym(libopenal,"alBuffer3f")); | |
alBufferfv = reinterpret_cast<LPALBUFFERFV>(dlsym(libopenal,"alBufferfv")); | |
alBufferi = reinterpret_cast<LPALBUFFERI>(dlsym(libopenal,"alBufferi")); | |
alBuffer3i = reinterpret_cast<LPALBUFFER3I>(dlsym(libopenal,"alBuffer3i")); | |
alBufferiv = reinterpret_cast<LPALBUFFERIV>(dlsym(libopenal,"alBufferiv")); | |
alGetBufferf = reinterpret_cast<LPALGETBUFFERF>(dlsym(libopenal,"alGetBufferf")); | |
alGetBuffer3f = reinterpret_cast<LPALGETBUFFER3F>(dlsym(libopenal,"alGetBuffer3f")); | |
alGetBufferfv = reinterpret_cast<LPALGETBUFFERFV>(dlsym(libopenal,"alGetBufferfv")); | |
alGetBufferi = reinterpret_cast<LPALGETBUFFERI>(dlsym(libopenal,"alGetBufferi")); | |
alGetBuffer3i = reinterpret_cast<LPALGETBUFFER3I>(dlsym(libopenal,"alGetBuffer3i")); | |
alGetBufferiv = reinterpret_cast<LPALGETBUFFERIV>(dlsym(libopenal,"alGetBufferiv")); | |
alGenEffects = reinterpret_cast<LPALGENEFFECTS>(dlsym(libopenal,"alGenEffects")); | |
alDeleteEffects = reinterpret_cast<LPALDELETEEFFECTS>(dlsym(libopenal,"alDeleteEffects")); | |
alIsEffect = reinterpret_cast<LPALISEFFECT>(dlsym(libopenal,"alIsEffect")); | |
alEffecti = reinterpret_cast<LPALEFFECTI>(dlsym(libopenal,"alEffecti")); | |
alEffectiv = reinterpret_cast<LPALEFFECTIV>(dlsym(libopenal,"alEffectiv")); | |
alEffectf = reinterpret_cast<LPALEFFECTF>(dlsym(libopenal,"alEffectf")); | |
alEffectfv = reinterpret_cast<LPALEFFECTI>(dlsym(libopenal,"alEffectfv")); | |
alGetEffecti = reinterpret_cast<LPALGETEFFECTI>(dlsym(libopenal,"alGetEffecti")); | |
alGetEffectiv = reinterpret_cast<LPALGETEFFECTIV>(dlsym(libopenal,"alGetEffectiv")); | |
alGetEffectf = reinterpret_cast<LPALGETEFFECTF>(dlsym(libopenal,"alGetEffectf")); | |
alGetEffectfv = reinterpret_cast<LPALGETEFFECTFV>(dlsym(libopenal,"alGetEffectfv")); | |
alGenFilters = reinterpret_cast<LPALGENFILTERS>(dlsym(libopenal,"alGenFilters")); | |
alDeleteFilters = reinterpret_cast<LPALDELETEFILTERS>(dlsym(libopenal,"alDeleteFilters")); | |
alIsFilter = reinterpret_cast<LPALISFILTER>(dlsym(libopenal,"alIsFilter")); | |
alFilteri = reinterpret_cast<LPALFILTERI>(dlsym(libopenal,"alFilteri")); | |
alFilteriv = reinterpret_cast<LPALFILTERIV>(dlsym(libopenal,"alFilteriv")); | |
alFilterf = reinterpret_cast<LPALFILTERF>(dlsym(libopenal,"alFilterf")); | |
alFilterfv = reinterpret_cast<LPALFILTERFV>(dlsym(libopenal,"alFilterfv")); | |
alGetFilteri = reinterpret_cast<LPALGETFILTERI>(dlsym(libopenal,"alGetFilteri")); | |
alGetFilteriv = reinterpret_cast<LPALGETFILTERIV>(dlsym(libopenal,"alGetFilteriv")); | |
alGetFilterf = reinterpret_cast<LPALGETFILTERF>(dlsym(libopenal,"alGetFilterf")); | |
alGetFilterfv = reinterpret_cast<LPALGETFILTERFV>(dlsym(libopenal,"alGetFilterfv")); | |
alGenAuxiliaryEffectSlots = reinterpret_cast<LPALGENAUXILIARYEFFECTSLOTS>(dlsym(libopenal,"alGenAuxiliaryEffectSlots")); | |
alDeleteAuxiliaryEffectSlots = reinterpret_cast<LPALDELETEAUXILIARYEFFECTSLOTS>(dlsym(libopenal,"alDeleteAuxiliaryEffectSlots")); | |
alIsAuxiliaryEffectSlot = reinterpret_cast<LPALISAUXILIARYEFFECTSLOT>(dlsym(libopenal,"alIsAuxiliaryEffectSlot")); | |
alAuxiliaryEffectSloti = reinterpret_cast<LPALAUXILIARYEFFECTSLOTI>(dlsym(libopenal,"alAuxiliaryEffectSloti")); | |
alAuxiliaryEffectSlotiv = reinterpret_cast<LPALAUXILIARYEFFECTSLOTIV>(dlsym(libopenal,"alAuxiliaryEffectSlotiv")); | |
alAuxiliaryEffectSlotf = reinterpret_cast<LPALAUXILIARYEFFECTSLOTF>(dlsym(libopenal,"alAuxiliaryEffectSlotf")); | |
alAuxiliaryEffectSlotfv = reinterpret_cast<LPALAUXILIARYEFFECTSLOTFV>(dlsym(libopenal,"alAuxiliaryEffectSlotfv")); | |
alGetAuxiliaryEffectSloti = reinterpret_cast<LPALGETAUXILIARYEFFECTSLOTI>(dlsym(libopenal,"alGetAuxiliaryEffectSloti")); | |
alGetAuxiliaryEffectSlotiv = reinterpret_cast<LPALGETAUXILIARYEFFECTSLOTIV>(dlsym(libopenal,"alGetAuxiliaryEffectSlotiv")); | |
alGetAuxiliaryEffectSlotf = reinterpret_cast<LPALGETAUXILIARYEFFECTSLOTF>(dlsym(libopenal,"alGetAuxiliaryEffectSlotf")); | |
alGetAuxiliaryEffectSlotfv = reinterpret_cast<LPALGETAUXILIARYEFFECTSLOTFV>(dlsym(libopenal,"alGetAuxiliaryEffectSlotfv")); | |
alBufferDataStatic = reinterpret_cast<PFNALBUFFERDATASTATICPROC>(dlsym(libopenal,"alBufferDataStatic")); | |
alcSetThreadContext = reinterpret_cast<PFNALCSETTHREADCONTEXTPROC>(dlsym(libopenal,"alcSetThreadContext")); | |
alcGetThreadContext = reinterpret_cast<PFNALCGETTHREADCONTEXTPROC>(dlsym(libopenal,"alcGetThreadContext")); | |
alRequestFoldbackStart = reinterpret_cast<LPALREQUESTFOLDBACKSTART>(dlsym(libopenal,"alRequestFoldbackStart")); | |
alRequestFoldbackStop = reinterpret_cast<LPALREQUESTFOLDBACKSTOP>(dlsym(libopenal,"alRequestFoldbackStop")); | |
return true; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef OPENALWRAPPER_HPP | |
#define OPENALWRAPPER_HPP | |
/* OpenAL headers */ | |
#include "alext.h" | |
bool loadAL(); | |
#endif // OPENALWRAPPER_HPP |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment