From 80f4475e76be299e19ff88283d8f8aa02726506b Mon Sep 17 00:00:00 2001 From: skidau Date: Fri, 11 Jan 2013 14:03:09 +1100 Subject: [PATCH] Added a Dolby Pro Logic II (DPL2) decoder in the OpenAL backend. DPL2 audio is decoded to 5.1. Code adapted from ffdshow. Added an option in the DSP settings to disable the DPL2 decoder in case Dolphin incorrectly detects a 5.1 audio system. Updated the OpenAL files to OpenAL Soft 1.15.1 in the Windows build. Fixes issue 3023. --- Externals/OpenAL/Win32/soft_oal.dll | Bin 0 -> 402553 bytes Externals/OpenAL/Win64/soft_oal.dll | Bin 0 -> 417320 bytes Externals/OpenAL/include/al.h | 1110 +++++++------- Externals/OpenAL/include/alc.h | 258 ++-- Externals/OpenAL/include/alext.h | 355 +++++ Externals/OpenAL/include/efx-creative.h | 154 +- Externals/OpenAL/include/efx-presets.h | 402 +++++ Externals/OpenAL/include/efx.h | 1336 +++++++++-------- Source/Core/AudioCommon/AudioCommon.vcxproj | 10 +- .../AudioCommon/AudioCommon.vcxproj.filters | 2 + Source/Core/AudioCommon/CMakeLists.txt | 1 + Source/Core/AudioCommon/Src/DPL2Decoder.cpp | 397 +++++ Source/Core/AudioCommon/Src/DPL2Decoder.h | 24 + Source/Core/AudioCommon/Src/OpenALStream.cpp | 85 +- Source/Core/AudioCommon/Src/OpenALStream.h | 6 +- Source/Core/Core/Src/ConfigManager.cpp | 2 + Source/Core/Core/Src/CoreParameter.cpp | 2 + Source/Core/Core/Src/CoreParameter.h | 2 + Source/Core/DolphinWX/Src/ConfigMain.cpp | 16 + Source/Core/DolphinWX/Src/ConfigMain.h | 2 + 20 files changed, 2598 insertions(+), 1566 deletions(-) create mode 100644 Externals/OpenAL/Win32/soft_oal.dll create mode 100644 Externals/OpenAL/Win64/soft_oal.dll create mode 100644 Externals/OpenAL/include/alext.h create mode 100644 Externals/OpenAL/include/efx-presets.h create mode 100644 Source/Core/AudioCommon/Src/DPL2Decoder.cpp create mode 100644 Source/Core/AudioCommon/Src/DPL2Decoder.h diff --git a/Externals/OpenAL/Win32/soft_oal.dll b/Externals/OpenAL/Win32/soft_oal.dll new file mode 100644 index 0000000000000000000000000000000000000000..71ced6a21f8add6fdbd7571a81d4c4a36eca3418 GIT binary patch literal 402553 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 literal 0 HcmV?d00001 diff --git a/Externals/OpenAL/Win64/soft_oal.dll b/Externals/OpenAL/Win64/soft_oal.dll new file mode 100644 index 0000000000000000000000000000000000000000..b47ff952b78bf43db6b7d507b4d7a9b9f1d2d810 GIT binary patch literal 417320 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 literal 0 HcmV?d00001 diff --git a/Externals/OpenAL/include/al.h b/Externals/OpenAL/include/al.h index 1c2f95b318..413b38331e 100644 --- a/Externals/OpenAL/include/al.h +++ b/Externals/OpenAL/include/al.h @@ -1,21 +1,18 @@ #ifndef AL_AL_H #define AL_AL_H - - #if defined(__cplusplus) extern "C" { #endif -#if defined(_WIN32) && !defined(_XBOX) - /* _OPENAL32LIB is deprecated */ - #if defined(AL_BUILD_LIBRARY) || defined (_OPENAL32LIB) - #define AL_API __declspec(dllexport) - #else +#ifndef AL_API + #if defined(AL_LIBTYPE_STATIC) + #define AL_API + #elif defined(_WIN32) #define AL_API __declspec(dllimport) + #else + #define AL_API extern #endif -#else - #define AL_API extern #endif #if defined(_WIN32) @@ -24,20 +21,19 @@ extern "C" { #define AL_APIENTRY #endif -#if TARGET_OS_MAC - #pragma export on -#endif -/* The OPENAL, ALAPI, and ALAPIENTRY macros are deprecated, but are included for applications porting code - from AL 1.0 */ +/** Deprecated macro. */ #define OPENAL -#define ALAPI AL_API -#define ALAPIENTRY AL_APIENTRY +#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; @@ -45,7 +41,7 @@ typedef char ALboolean; typedef char ALchar; /** signed 8-bit 2's complement integer */ -typedef char ALbyte; +typedef signed char ALbyte; /** unsigned 8-bit integer */ typedef unsigned char ALubyte; @@ -80,650 +76,578 @@ typedef void ALvoid; /* Enumerant values begin at column 50. No tabs. */ -/* bad value */ -#define AL_INVALID -1 +/** "no distance model" or "no buffer" */ +#define AL_NONE 0 -#define AL_NONE 0 - -/* Boolean False. */ -#define AL_FALSE 0 +/** Boolean False. */ +#define AL_FALSE 0 /** Boolean True. */ -#define AL_TRUE 1 - -/** Indicate Source has relative coordinates. */ -#define AL_SOURCE_RELATIVE 0x202 - +#define AL_TRUE 1 /** - * Directional source, inner cone angle, in degrees. - * Range: [0-360] - * Default: 360 - */ -#define AL_CONE_INNER_ANGLE 0x1001 - -/** - * Directional source, outer cone angle, in degrees. - * Range: [0-360] - * Default: 360 - */ -#define AL_CONE_OUTER_ANGLE 0x1002 - -/** - * Specify the pitch to be applied, either at source, - * or on mixer results, at listener. - * Range: [0.5-2.0] - * Default: 1.0 - */ -#define AL_PITCH 0x1003 - -/** - * Specify the current 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. - * Listener position is always in the world coordinate system. - */ -#define AL_POSITION 0x1004 - -/** Specify the current direction. */ -#define AL_DIRECTION 0x1005 - -/** Specify the current velocity in three dimensional space. */ -#define AL_VELOCITY 0x1006 - -/** - * Indicate whether source is looping. - * Type: ALboolean? + * Relative source. + * Type: ALboolean * Range: [AL_TRUE, AL_FALSE] - * Default: FALSE. - */ -#define AL_LOOPING 0x1007 - -/** - * Indicate the buffer to provide sound samples. - * Type: ALuint. - * Range: any valid Buffer id. - */ -#define AL_BUFFER 0x1009 - -/** - * Indicate the gain (volume amplification) applied. - * Type: ALfloat. - * Range: ]0.0- ] - * A value of 1.0 means un-attenuated/unchanged. - * Each division by 2 equals an attenuation of -6dB. - * Each multiplicaton with 2 equals an amplification of +6dB. - * A value of 0.0 is meaningless with respect to a logarithmic - * scale; it is interpreted as zero volume - the channel - * is effectively disabled. - */ -#define AL_GAIN 0x100A - -/* - * Indicate minimum source attenuation - * Type: ALfloat - * Range: [0.0 - 1.0] + * Default: AL_FALSE * - * Logarthmic + * Specifies if the Source has relative coordinates. */ -#define AL_MIN_GAIN 0x100D +#define AL_SOURCE_RELATIVE 0x202 + /** - * Indicate maximum source attenuation - * Type: ALfloat - * Range: [0.0 - 1.0] + * Inner cone angle, in degrees. + * Type: ALint, ALfloat + * Range: [0 - 360] + * Default: 360 * - * Logarthmic + * The angle covered by the inner cone, where the source will not attenuate. */ -#define AL_MAX_GAIN 0x100E +#define AL_CONE_INNER_ANGLE 0x1001 /** - * Indicate listener orientation. + * Outer cone angle, in degrees. + * Range: [0 - 360] + * Default: 360 * - * at/up + * The angle covered by the outer cone, where the source will be fully + * attenuated. */ -#define AL_ORIENTATION 0x100F +#define AL_CONE_OUTER_ANGLE 0x1002 /** - * Specify the channel mask. (Creative) - * Type: ALuint - * Range: [0 - 255] - */ -#define AL_CHANNEL_MASK 0x3000 - - -/** - * Source state information. - */ -#define AL_SOURCE_STATE 0x1010 -#define AL_INITIAL 0x1011 -#define AL_PLAYING 0x1012 -#define AL_PAUSED 0x1013 -#define AL_STOPPED 0x1014 - -/** - * Buffer Queue params - */ -#define AL_BUFFERS_QUEUED 0x1015 -#define AL_BUFFERS_PROCESSED 0x1016 - -/** - * Source buffer position information - */ -#define AL_SEC_OFFSET 0x1024 -#define AL_SAMPLE_OFFSET 0x1025 -#define AL_BYTE_OFFSET 0x1026 - -/* - * Source type (Static, Streaming or undetermined) - * Source is Static if a Buffer has been attached using AL_BUFFER - * Source is Streaming if one or more Buffers have been attached using alSourceQueueBuffers - * Source is undetermined when it has the NULL buffer attached - */ -#define AL_SOURCE_TYPE 0x1027 -#define AL_STATIC 0x1028 -#define AL_STREAMING 0x1029 -#define AL_UNDETERMINED 0x1030 - -/** Sound samples: format specifier. */ -#define AL_FORMAT_MONO8 0x1100 -#define AL_FORMAT_MONO16 0x1101 -#define AL_FORMAT_STEREO8 0x1102 -#define AL_FORMAT_STEREO16 0x1103 - -/** - * source specific reference distance - * Type: ALfloat - * Range: 0.0 - +inf + * Source pitch. + * Type: ALfloat + * Range: [0.5 - 2.0] + * Default: 1.0 * - * At 0.0, no distance attenuation occurs. Default is - * 1.0. + * A multiplier for the frequency (sample rate) of the source's buffer. */ -#define AL_REFERENCE_DISTANCE 0x1020 +#define AL_PITCH 0x1003 /** - * source specific rolloff factor - * Type: ALfloat - * Range: 0.0 - +inf + * 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_ROLLOFF_FACTOR 0x1021 +#define AL_POSITION 0x1004 /** - * Directional source, outer cone gain. + * Source direction. + * Type: ALfloat[3], ALint[3] + * Default: {0, 0, 0} * - * Default: 0.0 - * Range: [0.0 - 1.0] - * Logarithmic + * Specifies the current direction in local space. + * A zero-length vector specifies an omni-directional source (cone is ignored). */ -#define AL_CONE_OUTER_GAIN 0x1022 +#define AL_DIRECTION 0x1005 /** - * Indicate distance above which sources are not - * attenuated using the inverse clamped distance model. + * 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 - * Type: ALfloat - * Range: 0.0 - +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 +#define AL_MAX_DISTANCE 0x1023 -/** - * Sound samples: frequency, in units of Hertz [Hz]. - * This is the number of samples per second. Half of the - * sample frequency marks the maximum significant - * frequency component. +/** 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_FREQUENCY 0x2001 -#define AL_BITS 0x2002 -#define AL_CHANNELS 0x2003 -#define AL_SIZE 0x2004 +#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 supported for public use (yet). + * Not for public use. */ -#define AL_UNUSED 0x2010 -#define AL_PENDING 0x2011 -#define AL_PROCESSED 0x2012 +#define AL_UNUSED 0x2010 +#define AL_PENDING 0x2011 +#define AL_PROCESSED 0x2012 -/** Errors: No Error. */ -#define AL_NO_ERROR AL_FALSE +/** No error. */ +#define AL_NO_ERROR 0 -/** - * Invalid Name paramater passed to AL call. - */ -#define AL_INVALID_NAME 0xA001 +/** Invalid name paramater passed to AL call. */ +#define AL_INVALID_NAME 0xA001 -/** - * Invalid parameter passed to AL call. - */ -#define AL_ILLEGAL_ENUM 0xA002 -#define AL_INVALID_ENUM 0xA002 +/** Invalid enum parameter passed to AL call. */ +#define AL_INVALID_ENUM 0xA002 -/** - * Invalid enum parameter value. - */ -#define AL_INVALID_VALUE 0xA003 +/** Invalid value parameter passed to AL call. */ +#define AL_INVALID_VALUE 0xA003 -/** - * Illegal call. - */ -#define AL_ILLEGAL_COMMAND 0xA004 -#define AL_INVALID_OPERATION 0xA004 +/** Illegal AL call. */ +#define AL_INVALID_OPERATION 0xA004 - -/** - * No mojo. - */ -#define AL_OUT_OF_MEMORY 0xA005 +/** Not enough memory. */ +#define AL_OUT_OF_MEMORY 0xA005 -/** Context strings: Vendor Name. */ -#define AL_VENDOR 0xB001 -#define AL_VERSION 0xB002 -#define AL_RENDERER 0xB003 -#define AL_EXTENSIONS 0xB004 +/** 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 -/** Global tweakage. */ /** - * Doppler scale. Default 1.0 - */ -#define AL_DOPPLER_FACTOR 0xC000 - -/** - * Tweaks speed of propagation. - */ -#define AL_DOPPLER_VELOCITY 0xC001 - -/** - * Speed of Sound in units per second - */ -#define AL_SPEED_OF_SOUND 0xC003 - -/** - * Distance models + * Doppler scale. + * Type: ALfloat + * Range: [0.0 - ] + * Default: 1.0 * - * used in conjunction with DistanceModel + * Scale for source and listener velocities. + */ +#define AL_DOPPLER_FACTOR 0xC000 +AL_API void AL_APIENTRY alDopplerFactor(ALfloat value); + +/** + * Doppler velocity (deprecated). * - * implicit: NONE, which disances distance attenuation. + * A multiplier applied to the Speed of Sound. */ -#define AL_DISTANCE_MODEL 0xD000 -#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 +#define AL_DOPPLER_VELOCITY 0xC001 +AL_API void AL_APIENTRY alDopplerVelocity(ALfloat value); - -#if !defined(AL_NO_PROTOTYPES) - -/* - * Renderer State management +/** + * 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. */ -AL_API void AL_APIENTRY alEnable( ALenum capability ); +#define AL_SPEED_OF_SOUND 0xC003 +AL_API void AL_APIENTRY alSpeedOfSound(ALfloat value); -AL_API void AL_APIENTRY alDisable( ALenum capability ); - -AL_API ALboolean AL_APIENTRY alIsEnabled( ALenum capability ); - - -/* - * State retrieval +/** + * 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. */ -AL_API const ALchar* AL_APIENTRY alGetString( ALenum param ); +#define AL_DISTANCE_MODEL 0xD000 +AL_API void AL_APIENTRY alDistanceModel(ALenum distanceModel); -AL_API void AL_APIENTRY alGetBooleanv( ALenum param, ALboolean* data ); +/** 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 -AL_API void AL_APIENTRY alGetIntegerv( ALenum param, ALint* data ); +/** Renderer State management. */ +AL_API void AL_APIENTRY alEnable(ALenum capability); +AL_API void AL_APIENTRY alDisable(ALenum capability); +AL_API ALboolean AL_APIENTRY alIsEnabled(ALenum capability); -AL_API void AL_APIENTRY alGetFloatv( ALenum param, ALfloat* data ); +/** State retrieval. */ +AL_API const ALchar* AL_APIENTRY alGetString(ALenum param); +AL_API void AL_APIENTRY alGetBooleanv(ALenum param, ALboolean *values); +AL_API void AL_APIENTRY alGetIntegerv(ALenum param, ALint *values); +AL_API void AL_APIENTRY alGetFloatv(ALenum param, ALfloat *values); +AL_API void AL_APIENTRY alGetDoublev(ALenum param, ALdouble *values); +AL_API ALboolean AL_APIENTRY alGetBoolean(ALenum param); +AL_API ALint AL_APIENTRY alGetInteger(ALenum param); +AL_API ALfloat AL_APIENTRY alGetFloat(ALenum param); +AL_API ALdouble AL_APIENTRY alGetDouble(ALenum param); -AL_API void AL_APIENTRY alGetDoublev( ALenum param, ALdouble* data ); - -AL_API ALboolean AL_APIENTRY alGetBoolean( ALenum param ); - -AL_API ALint AL_APIENTRY alGetInteger( ALenum param ); - -AL_API ALfloat AL_APIENTRY alGetFloat( ALenum param ); - -AL_API ALdouble AL_APIENTRY alGetDouble( ALenum param ); - - -/* - * Error support. - * Obtain the most recent error generated in the AL state machine. +/** + * Error retrieval. + * + * Obtain the first error generated in the AL context since the last check. */ -AL_API ALenum AL_APIENTRY alGetError( void ); +AL_API ALenum AL_APIENTRY alGetError(void); - -/* +/** * Extension support. - * Query for the presence of an extension, and obtain any appropriate - * function pointers and enum values. - */ -AL_API ALboolean AL_APIENTRY alIsExtensionPresent( const ALchar* extname ); - -AL_API void* AL_APIENTRY alGetProcAddress( const ALchar* fname ); - -AL_API ALenum AL_APIENTRY alGetEnumValue( const ALchar* ename ); - - -/* - * LISTENER - * Listener represents the location and orientation of the - * 'user' in 3D-space. * - * Properties include: - - * - * Gain AL_GAIN ALfloat - * Position AL_POSITION ALfloat[3] - * Velocity AL_VELOCITY ALfloat[3] - * Orientation AL_ORIENTATION ALfloat[6] (Forward then Up vectors) -*/ - -/* - * Set Listener parameters + * Query for the presence of an extension, and obtain any appropriate function + * pointers and enum values. */ -AL_API void AL_APIENTRY alListenerf( ALenum param, ALfloat value ); - -AL_API void AL_APIENTRY alListener3f( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); - -AL_API void AL_APIENTRY alListenerfv( ALenum param, const ALfloat* values ); - -AL_API void AL_APIENTRY alListeneri( ALenum param, ALint value ); - -AL_API void AL_APIENTRY alListener3i( ALenum param, ALint value1, ALint value2, ALint value3 ); - -AL_API void AL_APIENTRY alListeneriv( ALenum param, const ALint* values ); - -/* - * Get Listener parameters - */ -AL_API void AL_APIENTRY alGetListenerf( ALenum param, ALfloat* value ); - -AL_API void AL_APIENTRY alGetListener3f( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 ); - -AL_API void AL_APIENTRY alGetListenerfv( ALenum param, ALfloat* values ); - -AL_API void AL_APIENTRY alGetListeneri( ALenum param, ALint* value ); - -AL_API void AL_APIENTRY alGetListener3i( ALenum param, ALint *value1, ALint *value2, ALint *value3 ); - -AL_API void AL_APIENTRY alGetListeneriv( ALenum param, ALint* values ); - - -/** - * SOURCE - * Sources represent individual sound objects in 3D-space. - * Sources take the PCM data provided in the specified Buffer, - * apply Source-specific modifications, and then - * submit them to be mixed according to spatial arrangement etc. - * - * Properties include: - - * - * Gain AL_GAIN ALfloat - * Min Gain AL_MIN_GAIN ALfloat - * Max Gain AL_MAX_GAIN ALfloat - * Position AL_POSITION ALfloat[3] - * Velocity AL_VELOCITY ALfloat[3] - * Direction AL_DIRECTION ALfloat[3] - * Head Relative Mode AL_SOURCE_RELATIVE ALint (AL_TRUE or AL_FALSE) - * Reference Distance AL_REFERENCE_DISTANCE ALfloat - * Max Distance AL_MAX_DISTANCE ALfloat - * RollOff Factor AL_ROLLOFF_FACTOR ALfloat - * Inner Angle AL_CONE_INNER_ANGLE ALint or ALfloat - * Outer Angle AL_CONE_OUTER_ANGLE ALint or ALfloat - * Cone Outer Gain AL_CONE_OUTER_GAIN ALint or ALfloat - * Pitch AL_PITCH ALfloat - * Looping AL_LOOPING ALint (AL_TRUE or AL_FALSE) - * MS Offset AL_MSEC_OFFSET ALint or ALfloat - * Byte Offset AL_BYTE_OFFSET ALint or ALfloat - * Sample Offset AL_SAMPLE_OFFSET ALint or ALfloat - * Attached Buffer AL_BUFFER ALint - * State (Query only) AL_SOURCE_STATE ALint - * Buffers Queued (Query only) AL_BUFFERS_QUEUED ALint - * Buffers Processed (Query only) AL_BUFFERS_PROCESSED ALint - */ - -/* Create Source objects */ -AL_API void AL_APIENTRY alGenSources( ALsizei n, ALuint* sources ); - -/* Delete Source objects */ -AL_API void AL_APIENTRY alDeleteSources( ALsizei n, const ALuint* sources ); - -/* Verify a handle is a valid Source */ -AL_API ALboolean AL_APIENTRY alIsSource( ALuint sid ); - -/* - * Set Source parameters - */ -AL_API void AL_APIENTRY alSourcef( ALuint sid, ALenum param, ALfloat value ); - -AL_API void AL_APIENTRY alSource3f( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); - -AL_API void AL_APIENTRY alSourcefv( ALuint sid, ALenum param, const ALfloat* values ); - -AL_API void AL_APIENTRY alSourcei( ALuint sid, ALenum param, ALint value ); - -AL_API void AL_APIENTRY alSource3i( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 ); - -AL_API void AL_APIENTRY alSourceiv( ALuint sid, ALenum param, const ALint* values ); - -/* - * Get Source parameters - */ -AL_API void AL_APIENTRY alGetSourcef( ALuint sid, ALenum param, ALfloat* value ); - -AL_API void AL_APIENTRY alGetSource3f( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); - -AL_API void AL_APIENTRY alGetSourcefv( ALuint sid, ALenum param, ALfloat* values ); - -AL_API void AL_APIENTRY alGetSourcei( ALuint sid, ALenum param, ALint* value ); - -AL_API void AL_APIENTRY alGetSource3i( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3); - -AL_API void AL_APIENTRY alGetSourceiv( ALuint sid, ALenum param, ALint* values ); - - -/* - * Source vector based playback calls - */ - -/* Play, replay, or resume (if paused) a list of Sources */ -AL_API void AL_APIENTRY alSourcePlayv( ALsizei ns, const ALuint *sids ); - -/* Stop a list of Sources */ -AL_API void AL_APIENTRY alSourceStopv( ALsizei ns, const ALuint *sids ); - -/* Rewind a list of Sources */ -AL_API void AL_APIENTRY alSourceRewindv( ALsizei ns, const ALuint *sids ); - -/* Pause a list of Sources */ -AL_API void AL_APIENTRY alSourcePausev( ALsizei ns, const ALuint *sids ); - -/* - * Source based playback calls - */ - -/* Play, replay, or resume a Source */ -AL_API void AL_APIENTRY alSourcePlay( ALuint sid ); - -/* Stop a Source */ -AL_API void AL_APIENTRY alSourceStop( ALuint sid ); - -/* Rewind a Source (set playback postiton to beginning) */ -AL_API void AL_APIENTRY alSourceRewind( ALuint sid ); - -/* Pause a Source */ -AL_API void AL_APIENTRY alSourcePause( ALuint sid ); - -/* - * Source Queuing - */ -AL_API void AL_APIENTRY alSourceQueueBuffers( ALuint sid, ALsizei numEntries, const ALuint *bids ); - -AL_API void AL_APIENTRY alSourceUnqueueBuffers( ALuint sid, ALsizei numEntries, ALuint *bids ); - - -/** - * BUFFER - * Buffer objects are storage space for sample data. - * Buffers are referred to by Sources. One Buffer can be used - * by multiple Sources. - * - * Properties include: - - * - * Frequency (Query only) AL_FREQUENCY ALint - * Size (Query only) AL_SIZE ALint - * Bits (Query only) AL_BITS ALint - * Channels (Query only) AL_CHANNELS ALint - */ - -/* Create Buffer objects */ -AL_API void AL_APIENTRY alGenBuffers( ALsizei n, ALuint* buffers ); - -/* Delete Buffer objects */ -AL_API void AL_APIENTRY alDeleteBuffers( ALsizei n, const ALuint* buffers ); - -/* Verify a handle is a valid Buffer */ -AL_API ALboolean AL_APIENTRY alIsBuffer( ALuint bid ); - -/* Specify the data to be copied into a buffer */ -AL_API void AL_APIENTRY alBufferData( ALuint bid, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq ); - -/* - * Set Buffer parameters - */ -AL_API void AL_APIENTRY alBufferf( ALuint bid, ALenum param, ALfloat value ); - -AL_API void AL_APIENTRY alBuffer3f( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); - -AL_API void AL_APIENTRY alBufferfv( ALuint bid, ALenum param, const ALfloat* values ); - -AL_API void AL_APIENTRY alBufferi( ALuint bid, ALenum param, ALint value ); - -AL_API void AL_APIENTRY alBuffer3i( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); - -AL_API void AL_APIENTRY alBufferiv( ALuint bid, ALenum param, const ALint* values ); - -/* - * Get Buffer parameters - */ -AL_API void AL_APIENTRY alGetBufferf( ALuint bid, ALenum param, ALfloat* value ); - -AL_API void AL_APIENTRY alGetBuffer3f( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); - -AL_API void AL_APIENTRY alGetBufferfv( ALuint bid, ALenum param, ALfloat* values ); - -AL_API void AL_APIENTRY alGetBufferi( ALuint bid, ALenum param, ALint* value ); - -AL_API void AL_APIENTRY alGetBuffer3i( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3); - -AL_API void AL_APIENTRY alGetBufferiv( ALuint bid, ALenum param, ALint* values ); - - -/* - * Global Parameters - */ -AL_API void AL_APIENTRY alDopplerFactor( ALfloat value ); - -AL_API void AL_APIENTRY alDopplerVelocity( ALfloat value ); - -AL_API void AL_APIENTRY alSpeedOfSound( ALfloat value ); - -AL_API void AL_APIENTRY alDistanceModel( ALenum distanceModel ); - -#else /* AL_NO_PROTOTYPES */ - -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* data ); -typedef void (AL_APIENTRY *LPALGETINTEGERV)( ALenum param, ALint* data ); -typedef void (AL_APIENTRY *LPALGETFLOATV)( ALenum param, ALfloat* data ); -typedef void (AL_APIENTRY *LPALGETDOUBLEV)( ALenum param, ALdouble* data ); -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 sid ); -typedef void (AL_APIENTRY *LPALSOURCEF)( ALuint sid, ALenum param, ALfloat value); -typedef void (AL_APIENTRY *LPALSOURCE3F)( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); -typedef void (AL_APIENTRY *LPALSOURCEFV)( ALuint sid, ALenum param, const ALfloat* values ); -typedef void (AL_APIENTRY *LPALSOURCEI)( ALuint sid, ALenum param, ALint value); -typedef void (AL_APIENTRY *LPALSOURCE3I)( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 ); -typedef void (AL_APIENTRY *LPALSOURCEIV)( ALuint sid, ALenum param, const ALint* values ); -typedef void (AL_APIENTRY *LPALGETSOURCEF)( ALuint sid, ALenum param, ALfloat* value ); -typedef void (AL_APIENTRY *LPALGETSOURCE3F)( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); -typedef void (AL_APIENTRY *LPALGETSOURCEFV)( ALuint sid, ALenum param, ALfloat* values ); -typedef void (AL_APIENTRY *LPALGETSOURCEI)( ALuint sid, ALenum param, ALint* value ); -typedef void (AL_APIENTRY *LPALGETSOURCE3I)( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3); -typedef void (AL_APIENTRY *LPALGETSOURCEIV)( ALuint sid, ALenum param, ALint* values ); -typedef void (AL_APIENTRY *LPALSOURCEPLAYV)( ALsizei ns, const ALuint *sids ); -typedef void (AL_APIENTRY *LPALSOURCESTOPV)( ALsizei ns, const ALuint *sids ); -typedef void (AL_APIENTRY *LPALSOURCEREWINDV)( ALsizei ns, const ALuint *sids ); -typedef void (AL_APIENTRY *LPALSOURCEPAUSEV)( ALsizei ns, const ALuint *sids ); -typedef void (AL_APIENTRY *LPALSOURCEPLAY)( ALuint sid ); -typedef void (AL_APIENTRY *LPALSOURCESTOP)( ALuint sid ); -typedef void (AL_APIENTRY *LPALSOURCEREWIND)( ALuint sid ); -typedef void (AL_APIENTRY *LPALSOURCEPAUSE)( ALuint sid ); -typedef void (AL_APIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, const ALuint *bids ); -typedef void (AL_APIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, ALuint *bids ); -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 bid ); -typedef void (AL_APIENTRY *LPALBUFFERDATA)( ALuint bid, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq ); -typedef void (AL_APIENTRY *LPALBUFFERF)( ALuint bid, ALenum param, ALfloat value); -typedef void (AL_APIENTRY *LPALBUFFER3F)( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); -typedef void (AL_APIENTRY *LPALBUFFERFV)( ALuint bid, ALenum param, const ALfloat* values ); -typedef void (AL_APIENTRY *LPALBUFFERI)( ALuint bid, ALenum param, ALint value); -typedef void (AL_APIENTRY *LPALBUFFER3I)( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); -typedef void (AL_APIENTRY *LPALBUFFERIV)( ALuint bid, ALenum param, const ALint* values ); -typedef void (AL_APIENTRY *LPALGETBUFFERF)( ALuint bid, ALenum param, ALfloat* value ); -typedef void (AL_APIENTRY *LPALGETBUFFER3F)( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); -typedef void (AL_APIENTRY *LPALGETBUFFERFV)( ALuint bid, ALenum param, ALfloat* values ); -typedef void (AL_APIENTRY *LPALGETBUFFERI)( ALuint bid, ALenum param, ALint* value ); -typedef void (AL_APIENTRY *LPALGETBUFFER3I)( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3); -typedef void (AL_APIENTRY *LPALGETBUFFERIV)( ALuint bid, 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 ); - -#endif /* AL_NO_PROTOTYPES */ - -#if TARGET_OS_MAC - #pragma export off -#endif +AL_API ALboolean AL_APIENTRY alIsExtensionPresent(const ALchar *extname); +AL_API void* AL_APIENTRY alGetProcAddress(const ALchar *fname); +AL_API ALenum AL_APIENTRY alGetEnumValue(const ALchar *ename); + + +/** Set Listener parameters */ +AL_API void AL_APIENTRY alListenerf(ALenum param, ALfloat value); +AL_API void AL_APIENTRY alListener3f(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +AL_API void AL_APIENTRY alListenerfv(ALenum param, const ALfloat *values); +AL_API void AL_APIENTRY alListeneri(ALenum param, ALint value); +AL_API void AL_APIENTRY alListener3i(ALenum param, ALint value1, ALint value2, ALint value3); +AL_API void AL_APIENTRY alListeneriv(ALenum param, const ALint *values); + +/** Get Listener parameters */ +AL_API void AL_APIENTRY alGetListenerf(ALenum param, ALfloat *value); +AL_API void AL_APIENTRY alGetListener3f(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +AL_API void AL_APIENTRY alGetListenerfv(ALenum param, ALfloat *values); +AL_API void AL_APIENTRY alGetListeneri(ALenum param, ALint *value); +AL_API void AL_APIENTRY alGetListener3i(ALenum param, ALint *value1, ALint *value2, ALint *value3); +AL_API void AL_APIENTRY alGetListeneriv(ALenum param, ALint *values); + + +/** Create Source objects. */ +AL_API void AL_APIENTRY alGenSources(ALsizei n, ALuint *sources); +/** Delete Source objects. */ +AL_API void AL_APIENTRY alDeleteSources(ALsizei n, const ALuint *sources); +/** Verify a handle is a valid Source. */ +AL_API ALboolean AL_APIENTRY alIsSource(ALuint source); + +/** Set Source parameters. */ +AL_API void AL_APIENTRY alSourcef(ALuint source, ALenum param, ALfloat value); +AL_API void AL_APIENTRY alSource3f(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +AL_API void AL_APIENTRY alSourcefv(ALuint source, ALenum param, const ALfloat *values); +AL_API void AL_APIENTRY alSourcei(ALuint source, ALenum param, ALint value); +AL_API void AL_APIENTRY alSource3i(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3); +AL_API void AL_APIENTRY alSourceiv(ALuint source, ALenum param, const ALint *values); + +/** Get Source parameters. */ +AL_API void AL_APIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat *value); +AL_API void AL_APIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +AL_API void AL_APIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat *values); +AL_API void AL_APIENTRY alGetSourcei(ALuint source, ALenum param, ALint *value); +AL_API void AL_APIENTRY alGetSource3i(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3); +AL_API void AL_APIENTRY alGetSourceiv(ALuint source, ALenum param, ALint *values); + + +/** Play, replay, or resume (if paused) a list of Sources */ +AL_API void AL_APIENTRY alSourcePlayv(ALsizei n, const ALuint *sources); +/** Stop a list of Sources */ +AL_API void AL_APIENTRY alSourceStopv(ALsizei n, const ALuint *sources); +/** Rewind a list of Sources */ +AL_API void AL_APIENTRY alSourceRewindv(ALsizei n, const ALuint *sources); +/** Pause a list of Sources */ +AL_API void AL_APIENTRY alSourcePausev(ALsizei n, const ALuint *sources); + +/** Play, replay, or resume a Source */ +AL_API void AL_APIENTRY alSourcePlay(ALuint source); +/** Stop a Source */ +AL_API void AL_APIENTRY alSourceStop(ALuint source); +/** Rewind a Source (set playback postiton to beginning) */ +AL_API void AL_APIENTRY alSourceRewind(ALuint source); +/** Pause a Source */ +AL_API void AL_APIENTRY alSourcePause(ALuint source); + +/** Queue buffers onto a source */ +AL_API void AL_APIENTRY alSourceQueueBuffers(ALuint source, ALsizei nb, const ALuint *buffers); +/** Unqueue processed buffers from a source */ +AL_API void AL_APIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei nb, ALuint *buffers); + + +/** Create Buffer objects */ +AL_API void AL_APIENTRY alGenBuffers(ALsizei n, ALuint *buffers); +/** Delete Buffer objects */ +AL_API void AL_APIENTRY alDeleteBuffers(ALsizei n, const ALuint *buffers); +/** Verify a handle is a valid Buffer */ +AL_API ALboolean AL_APIENTRY alIsBuffer(ALuint buffer); + +/** Specifies the data to be copied into a buffer */ +AL_API void AL_APIENTRY alBufferData(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq); + +/** Set Buffer parameters, */ +AL_API void AL_APIENTRY alBufferf(ALuint buffer, ALenum param, ALfloat value); +AL_API void AL_APIENTRY alBuffer3f(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +AL_API void AL_APIENTRY alBufferfv(ALuint buffer, ALenum param, const ALfloat *values); +AL_API void AL_APIENTRY alBufferi(ALuint buffer, ALenum param, ALint value); +AL_API void AL_APIENTRY alBuffer3i(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3); +AL_API void AL_APIENTRY alBufferiv(ALuint buffer, ALenum param, const ALint *values); + +/** Get Buffer parameters. */ +AL_API void AL_APIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat *value); +AL_API void AL_APIENTRY alGetBuffer3f(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +AL_API void AL_APIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat *values); +AL_API void AL_APIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint *value); +AL_API void AL_APIENTRY alGetBuffer3i(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3); +AL_API void AL_APIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint *values); + +/** Pointer-to-function type, useful for dynamically getting AL entry points. */ +typedef void (AL_APIENTRY *LPALENABLE)(ALenum capability); +typedef void (AL_APIENTRY *LPALDISABLE)(ALenum capability); +typedef ALboolean (AL_APIENTRY *LPALISENABLED)(ALenum capability); +typedef const ALchar* (AL_APIENTRY *LPALGETSTRING)(ALenum param); +typedef void (AL_APIENTRY *LPALGETBOOLEANV)(ALenum param, ALboolean *values); +typedef void (AL_APIENTRY *LPALGETINTEGERV)(ALenum param, ALint *values); +typedef void (AL_APIENTRY *LPALGETFLOATV)(ALenum param, ALfloat *values); +typedef void (AL_APIENTRY *LPALGETDOUBLEV)(ALenum param, ALdouble *values); +typedef ALboolean (AL_APIENTRY *LPALGETBOOLEAN)(ALenum param); +typedef ALint (AL_APIENTRY *LPALGETINTEGER)(ALenum param); +typedef ALfloat (AL_APIENTRY *LPALGETFLOAT)(ALenum param); +typedef ALdouble (AL_APIENTRY *LPALGETDOUBLE)(ALenum param); +typedef ALenum (AL_APIENTRY *LPALGETERROR)(void); +typedef ALboolean (AL_APIENTRY *LPALISEXTENSIONPRESENT)(const ALchar *extname); +typedef void* (AL_APIENTRY *LPALGETPROCADDRESS)(const ALchar *fname); +typedef ALenum (AL_APIENTRY *LPALGETENUMVALUE)(const ALchar *ename); +typedef void (AL_APIENTRY *LPALLISTENERF)(ALenum param, ALfloat value); +typedef void (AL_APIENTRY *LPALLISTENER3F)(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +typedef void (AL_APIENTRY *LPALLISTENERFV)(ALenum param, const ALfloat *values); +typedef void (AL_APIENTRY *LPALLISTENERI)(ALenum param, ALint value); +typedef void (AL_APIENTRY *LPALLISTENER3I)(ALenum param, ALint value1, ALint value2, ALint value3); +typedef void (AL_APIENTRY *LPALLISTENERIV)(ALenum param, const ALint *values); +typedef void (AL_APIENTRY *LPALGETLISTENERF)(ALenum param, ALfloat *value); +typedef void (AL_APIENTRY *LPALGETLISTENER3F)(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +typedef void (AL_APIENTRY *LPALGETLISTENERFV)(ALenum param, ALfloat *values); +typedef void (AL_APIENTRY *LPALGETLISTENERI)(ALenum param, ALint *value); +typedef void (AL_APIENTRY *LPALGETLISTENER3I)(ALenum param, ALint *value1, ALint *value2, ALint *value3); +typedef void (AL_APIENTRY *LPALGETLISTENERIV)(ALenum param, ALint *values); +typedef void (AL_APIENTRY *LPALGENSOURCES)(ALsizei n, ALuint *sources); +typedef void (AL_APIENTRY *LPALDELETESOURCES)(ALsizei n, const ALuint *sources); +typedef ALboolean (AL_APIENTRY *LPALISSOURCE)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCEF)(ALuint source, ALenum param, ALfloat value); +typedef void (AL_APIENTRY *LPALSOURCE3F)(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +typedef void (AL_APIENTRY *LPALSOURCEFV)(ALuint source, ALenum param, const ALfloat *values); +typedef void (AL_APIENTRY *LPALSOURCEI)(ALuint source, ALenum param, ALint value); +typedef void (AL_APIENTRY *LPALSOURCE3I)(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3); +typedef void (AL_APIENTRY *LPALSOURCEIV)(ALuint source, ALenum param, const ALint *values); +typedef void (AL_APIENTRY *LPALGETSOURCEF)(ALuint source, ALenum param, ALfloat *value); +typedef void (AL_APIENTRY *LPALGETSOURCE3F)(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +typedef void (AL_APIENTRY *LPALGETSOURCEFV)(ALuint source, ALenum param, ALfloat *values); +typedef void (AL_APIENTRY *LPALGETSOURCEI)(ALuint source, ALenum param, ALint *value); +typedef void (AL_APIENTRY *LPALGETSOURCE3I)(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3); +typedef void (AL_APIENTRY *LPALGETSOURCEIV)(ALuint source, ALenum param, ALint *values); +typedef void (AL_APIENTRY *LPALSOURCEPLAYV)(ALsizei n, const ALuint *sources); +typedef void (AL_APIENTRY *LPALSOURCESTOPV)(ALsizei n, const ALuint *sources); +typedef void (AL_APIENTRY *LPALSOURCEREWINDV)(ALsizei n, const ALuint *sources); +typedef void (AL_APIENTRY *LPALSOURCEPAUSEV)(ALsizei n, const ALuint *sources); +typedef void (AL_APIENTRY *LPALSOURCEPLAY)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCESTOP)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCEREWIND)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCEPAUSE)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint source, ALsizei nb, const ALuint *buffers); +typedef void (AL_APIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint source, ALsizei nb, ALuint *buffers); +typedef void (AL_APIENTRY *LPALGENBUFFERS)(ALsizei n, ALuint *buffers); +typedef void (AL_APIENTRY *LPALDELETEBUFFERS)(ALsizei n, const ALuint *buffers); +typedef ALboolean (AL_APIENTRY *LPALISBUFFER)(ALuint buffer); +typedef void (AL_APIENTRY *LPALBUFFERDATA)(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq); +typedef void (AL_APIENTRY *LPALBUFFERF)(ALuint buffer, ALenum param, ALfloat value); +typedef void (AL_APIENTRY *LPALBUFFER3F)(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +typedef void (AL_APIENTRY *LPALBUFFERFV)(ALuint buffer, ALenum param, const ALfloat *values); +typedef void (AL_APIENTRY *LPALBUFFERI)(ALuint buffer, ALenum param, ALint value); +typedef void (AL_APIENTRY *LPALBUFFER3I)(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3); +typedef void (AL_APIENTRY *LPALBUFFERIV)(ALuint buffer, ALenum param, const ALint *values); +typedef void (AL_APIENTRY *LPALGETBUFFERF)(ALuint buffer, ALenum param, ALfloat *value); +typedef void (AL_APIENTRY *LPALGETBUFFER3F)(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +typedef void (AL_APIENTRY *LPALGETBUFFERFV)(ALuint buffer, ALenum param, ALfloat *values); +typedef void (AL_APIENTRY *LPALGETBUFFERI)(ALuint buffer, ALenum param, ALint *value); +typedef void (AL_APIENTRY *LPALGETBUFFER3I)(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3); +typedef void (AL_APIENTRY *LPALGETBUFFERIV)(ALuint buffer, ALenum param, ALint *values); +typedef void (AL_APIENTRY *LPALDOPPLERFACTOR)(ALfloat value); +typedef void (AL_APIENTRY *LPALDOPPLERVELOCITY)(ALfloat value); +typedef void (AL_APIENTRY *LPALSPEEDOFSOUND)(ALfloat value); +typedef void (AL_APIENTRY *LPALDISTANCEMODEL)(ALenum distanceModel); #if defined(__cplusplus) } /* extern "C" */ diff --git a/Externals/OpenAL/include/alc.h b/Externals/OpenAL/include/alc.h index b0bbfbe7de..294e8b33c6 100644 --- a/Externals/OpenAL/include/alc.h +++ b/Externals/OpenAL/include/alc.h @@ -5,16 +5,11 @@ extern "C" { #endif -#if defined(_WIN32) && !defined(_XBOX) - /* _OPENAL32LIB is deprecated */ - #if defined(AL_BUILD_LIBRARY) || defined (_OPENAL32LIB) - #define ALC_API __declspec(dllexport) - #else +#ifndef ALC_API + #if defined(AL_LIBTYPE_STATIC) + #define ALC_API + #elif defined(_WIN32) #define ALC_API __declspec(dllimport) - #endif -#else - #if defined(AL_BUILD_LIBRARY) && defined(HAVE_GCC_VISIBILITY) - #define ALC_API __attribute__((visibility("default"))) #else #define ALC_API extern #endif @@ -26,25 +21,20 @@ extern "C" { #define ALC_APIENTRY #endif -#if defined(TARGET_OS_MAC) && TARGET_OS_MAC - #pragma export on -#endif -/* - * The ALCAPI, ALCAPIENTRY, and ALC_INVALID macros are deprecated, but are - * included for applications porting code from AL 1.0 - */ -#define ALCAPI ALC_API -#define ALCAPIENTRY ALC_APIENTRY -#define ALC_INVALID 0 +/** Deprecated macro. */ +#define ALCAPI ALC_API +#define ALCAPIENTRY ALC_APIENTRY +#define ALC_INVALID 0 +/** Supported ALC version? */ +#define ALC_VERSION_0_1 1 -#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; @@ -52,7 +42,7 @@ typedef char ALCboolean; typedef char ALCchar; /** signed 8-bit 2's complement integer */ -typedef char ALCbyte; +typedef signed char ALCbyte; /** unsigned 8-bit integer */ typedef unsigned char ALCubyte; @@ -87,192 +77,158 @@ typedef void ALCvoid; /* Enumerant values begin at column 50. No tabs. */ -/* Boolean False. */ +/** Boolean False. */ #define ALC_FALSE 0 -/* Boolean True. */ +/** Boolean True. */ #define ALC_TRUE 1 -/** - * followed by Hz - */ +/** Context attribute: Hz. */ #define ALC_FREQUENCY 0x1007 -/** - * followed by Hz - */ +/** Context attribute: Hz. */ #define ALC_REFRESH 0x1008 -/** - * followed by AL_TRUE, AL_FALSE - */ +/** Context attribute: AL_TRUE or AL_FALSE. */ #define ALC_SYNC 0x1009 -/** - * followed by Num of requested Mono (3D) Sources - */ +/** Context attribute: requested Mono (3D) Sources. */ #define ALC_MONO_SOURCES 0x1010 -/** - * followed by Num of requested Stereo Sources - */ +/** Context attribute: requested Stereo Sources. */ #define ALC_STEREO_SOURCES 0x1011 -/** - * errors - */ +/** No error. */ +#define ALC_NO_ERROR 0 -/** - * No error - */ -#define ALC_NO_ERROR ALC_FALSE - -/** - * No device - */ +/** Invalid device handle. */ #define ALC_INVALID_DEVICE 0xA001 -/** - * invalid context ID - */ +/** Invalid context handle. */ #define ALC_INVALID_CONTEXT 0xA002 -/** - * bad enum - */ +/** Invalid enum parameter passed to an ALC call. */ #define ALC_INVALID_ENUM 0xA003 -/** - * bad value - */ +/** Invalid value parameter passed to an ALC call. */ #define ALC_INVALID_VALUE 0xA004 -/** - * Out of memory. - */ +/** Out of memory. */ #define ALC_OUT_OF_MEMORY 0xA005 -/** - * The Specifier string for default device - */ -#define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004 -#define ALC_DEVICE_SPECIFIER 0x1005 -#define ALC_EXTENSIONS 0x1006 - +/** 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 /** - * ALC_ENUMERATE_ALL_EXT enums + * 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_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012 -#define ALC_ALL_DEVICES_SPECIFIER 0x1013 +#define ALC_DEVICE_SPECIFIER 0x1005 +/** String for space-separated list of ALC extensions. */ +#define ALC_EXTENSIONS 0x1006 + +/** Capture extension */ +#define ALC_EXT_CAPTURE 1 /** - * Capture extension + * 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 -/* - * Context Management +/** 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). */ -ALC_API ALCcontext * ALC_APIENTRY alcCreateContext( ALCdevice *device, const ALCint* attrlist ); - -ALC_API ALCboolean ALC_APIENTRY alcMakeContextCurrent( ALCcontext *context ); - -ALC_API void ALC_APIENTRY alcProcessContext( ALCcontext *context ); - -ALC_API void ALC_APIENTRY alcSuspendContext( ALCcontext *context ); - -ALC_API void ALC_APIENTRY alcDestroyContext( ALCcontext *context ); - -ALC_API ALCcontext * ALC_APIENTRY alcGetCurrentContext( void ); - -ALC_API ALCdevice* ALC_APIENTRY alcGetContextsDevice( ALCcontext *context ); +#define ALC_ALL_DEVICES_SPECIFIER 0x1013 -/* - * Device Management - */ -ALC_API ALCdevice * ALC_APIENTRY alcOpenDevice( const ALCchar *devicename ); +/** Context management. */ +ALC_API ALCcontext* ALC_APIENTRY alcCreateContext(ALCdevice *device, const ALCint* attrlist); +ALC_API ALCboolean ALC_APIENTRY alcMakeContextCurrent(ALCcontext *context); +ALC_API void ALC_APIENTRY alcProcessContext(ALCcontext *context); +ALC_API void ALC_APIENTRY alcSuspendContext(ALCcontext *context); +ALC_API void ALC_APIENTRY alcDestroyContext(ALCcontext *context); +ALC_API ALCcontext* ALC_APIENTRY alcGetCurrentContext(void); +ALC_API ALCdevice* ALC_APIENTRY alcGetContextsDevice(ALCcontext *context); -ALC_API ALCboolean ALC_APIENTRY alcCloseDevice( ALCdevice *device ); +/** Device management. */ +ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *devicename); +ALC_API ALCboolean ALC_APIENTRY alcCloseDevice(ALCdevice *device); -/* +/** * Error support. - * Obtain the most recent Context error + * + * Obtain the most recent Device error. */ -ALC_API ALCenum ALC_APIENTRY alcGetError( ALCdevice *device ); +ALC_API ALCenum ALC_APIENTRY alcGetError(ALCdevice *device); - -/* +/** * Extension support. + * * Query for the presence of an extension, and obtain any appropriate * function pointers and enum values. */ -ALC_API ALCboolean ALC_APIENTRY alcIsExtensionPresent( ALCdevice *device, const ALCchar *extname ); +ALC_API ALCboolean ALC_APIENTRY alcIsExtensionPresent(ALCdevice *device, const ALCchar *extname); +ALC_API void* ALC_APIENTRY alcGetProcAddress(ALCdevice *device, const ALCchar *funcname); +ALC_API ALCenum ALC_APIENTRY alcGetEnumValue(ALCdevice *device, const ALCchar *enumname); -ALC_API void * ALC_APIENTRY alcGetProcAddress( ALCdevice *device, const ALCchar *funcname ); +/** Query function. */ +ALC_API const ALCchar* ALC_APIENTRY alcGetString(ALCdevice *device, ALCenum param); +ALC_API void ALC_APIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values); -ALC_API ALCenum ALC_APIENTRY alcGetEnumValue( ALCdevice *device, const ALCchar *enumname ); +/** Capture function. */ +ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice(const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize); +ALC_API ALCboolean ALC_APIENTRY alcCaptureCloseDevice(ALCdevice *device); +ALC_API void ALC_APIENTRY alcCaptureStart(ALCdevice *device); +ALC_API void ALC_APIENTRY alcCaptureStop(ALCdevice *device); +ALC_API void ALC_APIENTRY alcCaptureSamples(ALCdevice *device, ALCvoid *buffer, ALCsizei samples); - -/* - * Query functions - */ -ALC_API const ALCchar * ALC_APIENTRY alcGetString( ALCdevice *device, ALCenum param ); - -ALC_API void ALC_APIENTRY alcGetIntegerv( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data ); - - -/* - * Capture functions - */ -ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize ); - -ALC_API ALCboolean ALC_APIENTRY alcCaptureCloseDevice( ALCdevice *device ); - -ALC_API void ALC_APIENTRY alcCaptureStart( ALCdevice *device ); - -ALC_API void ALC_APIENTRY alcCaptureStop( ALCdevice *device ); - -ALC_API void ALC_APIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples ); - -/* - * Pointer-to-function types, 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 *dest ); -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 ); - -#if defined(TARGET_OS_MAC) && TARGET_OS_MAC - #pragma export off -#endif +/** 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); #if defined(__cplusplus) } diff --git a/Externals/OpenAL/include/alext.h b/Externals/OpenAL/include/alext.h new file mode 100644 index 0000000000..0447f2bb45 --- /dev/null +++ b/Externals/OpenAL/include/alext.h @@ -0,0 +1,355 @@ +/** + * OpenAL cross platform audio library + * Copyright (C) 2008 by authors. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * Or go to http://www.gnu.org/copyleft/lgpl.html + */ + +#ifndef AL_ALEXT_H +#define AL_ALEXT_H + +#include +/* Define int64_t and uint64_t types */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include +#elif defined(_WIN32) && defined(__GNUC__) +#include +#elif defined(_WIN32) +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +/* Fallback if nothing above works */ +#include +#endif + +#include "alc.h" +#include "al.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef AL_LOKI_IMA_ADPCM_format +#define AL_LOKI_IMA_ADPCM_format 1 +#define AL_FORMAT_IMA_ADPCM_MONO16_EXT 0x10000 +#define AL_FORMAT_IMA_ADPCM_STEREO16_EXT 0x10001 +#endif + +#ifndef AL_LOKI_WAVE_format +#define AL_LOKI_WAVE_format 1 +#define AL_FORMAT_WAVE_EXT 0x10002 +#endif + +#ifndef AL_EXT_vorbis +#define AL_EXT_vorbis 1 +#define AL_FORMAT_VORBIS_EXT 0x10003 +#endif + +#ifndef AL_LOKI_quadriphonic +#define AL_LOKI_quadriphonic 1 +#define AL_FORMAT_QUAD8_LOKI 0x10004 +#define AL_FORMAT_QUAD16_LOKI 0x10005 +#endif + +#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 + +#ifndef AL_EXT_STATIC_BUFFER +#define AL_EXT_STATIC_BUFFER 1 +typedef ALvoid (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALint,ALenum,ALvoid*,ALsizei,ALsizei); +#ifdef AL_ALEXT_PROTOTYPES +AL_API ALvoid AL_APIENTRY alBufferDataStatic(const ALint buffer, ALenum format, ALvoid *data, ALsizei len, ALsizei freq); +#endif +#endif + +#ifndef ALC_EXT_EFX +#define ALC_EXT_EFX 1 +#include "efx.h" +#endif + +#ifndef ALC_EXT_disconnect +#define ALC_EXT_disconnect 1 +#define ALC_CONNECTED 0x313 +#endif + +#ifndef ALC_EXT_thread_local_context +#define ALC_EXT_thread_local_context 1 +typedef ALCboolean (ALC_APIENTRY*PFNALCSETTHREADCONTEXTPROC)(ALCcontext *context); +typedef ALCcontext* (ALC_APIENTRY*PFNALCGETTHREADCONTEXTPROC)(void); +#ifdef AL_ALEXT_PROTOTYPES +ALC_API ALCboolean ALC_APIENTRY alcSetThreadContext(ALCcontext *context); +ALC_API ALCcontext* ALC_APIENTRY alcGetThreadContext(void); +#endif +#endif + +#ifndef AL_EXT_source_distance_model +#define AL_EXT_source_distance_model 1 +#define AL_SOURCE_DISTANCE_MODEL 0x200 +#endif + +#ifndef AL_SOFT_buffer_sub_data +#define AL_SOFT_buffer_sub_data 1 +#define AL_BYTE_RW_OFFSETS_SOFT 0x1031 +#define AL_SAMPLE_RW_OFFSETS_SOFT 0x1032 +typedef ALvoid (AL_APIENTRY*PFNALBUFFERSUBDATASOFTPROC)(ALuint,ALenum,const ALvoid*,ALsizei,ALsizei); +#ifdef AL_ALEXT_PROTOTYPES +AL_API ALvoid AL_APIENTRY alBufferSubDataSOFT(ALuint buffer,ALenum format,const ALvoid *data,ALsizei offset,ALsizei length); +#endif +#endif + +#ifndef AL_SOFT_loop_points +#define AL_SOFT_loop_points 1 +#define AL_LOOP_POINTS_SOFT 0x2015 +#endif + +#ifndef AL_EXT_FOLDBACK +#define AL_EXT_FOLDBACK 1 +#define AL_EXT_FOLDBACK_NAME "AL_EXT_FOLDBACK" +#define AL_FOLDBACK_EVENT_BLOCK 0x4112 +#define AL_FOLDBACK_EVENT_START 0x4111 +#define AL_FOLDBACK_EVENT_STOP 0x4113 +#define AL_FOLDBACK_MODE_MONO 0x4101 +#define AL_FOLDBACK_MODE_STEREO 0x4102 +typedef void (AL_APIENTRY*LPALFOLDBACKCALLBACK)(ALenum,ALsizei); +typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTART)(ALenum,ALsizei,ALsizei,ALfloat*,LPALFOLDBACKCALLBACK); +typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTOP)(void); +#ifdef AL_ALEXT_PROTOTYPES +AL_API void AL_APIENTRY alRequestFoldbackStart(ALenum mode,ALsizei count,ALsizei length,ALfloat *mem,LPALFOLDBACKCALLBACK callback); +AL_API void AL_APIENTRY alRequestFoldbackStop(void); +#endif +#endif + +#ifndef ALC_EXT_DEDICATED +#define ALC_EXT_DEDICATED 1 +#define AL_DEDICATED_GAIN 0x0001 +#define AL_EFFECT_DEDICATED_DIALOGUE 0x9001 +#define AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT 0x9000 +#endif + +#ifndef AL_SOFT_buffer_samples +#define AL_SOFT_buffer_samples 1 +/* Channel configurations */ +#define AL_MONO_SOFT 0x1500 +#define AL_STEREO_SOFT 0x1501 +#define AL_REAR_SOFT 0x1502 +#define AL_QUAD_SOFT 0x1503 +#define AL_5POINT1_SOFT 0x1504 +#define AL_6POINT1_SOFT 0x1505 +#define AL_7POINT1_SOFT 0x1506 + +/* Sample types */ +#define AL_BYTE_SOFT 0x1400 +#define AL_UNSIGNED_BYTE_SOFT 0x1401 +#define AL_SHORT_SOFT 0x1402 +#define AL_UNSIGNED_SHORT_SOFT 0x1403 +#define AL_INT_SOFT 0x1404 +#define AL_UNSIGNED_INT_SOFT 0x1405 +#define AL_FLOAT_SOFT 0x1406 +#define AL_DOUBLE_SOFT 0x1407 +#define AL_BYTE3_SOFT 0x1408 +#define AL_UNSIGNED_BYTE3_SOFT 0x1409 + +/* Storage formats */ +#define AL_MONO8_SOFT 0x1100 +#define AL_MONO16_SOFT 0x1101 +#define AL_MONO32F_SOFT 0x10010 +#define AL_STEREO8_SOFT 0x1102 +#define AL_STEREO16_SOFT 0x1103 +#define AL_STEREO32F_SOFT 0x10011 +#define AL_QUAD8_SOFT 0x1204 +#define AL_QUAD16_SOFT 0x1205 +#define AL_QUAD32F_SOFT 0x1206 +#define AL_REAR8_SOFT 0x1207 +#define AL_REAR16_SOFT 0x1208 +#define AL_REAR32F_SOFT 0x1209 +#define AL_5POINT1_8_SOFT 0x120A +#define AL_5POINT1_16_SOFT 0x120B +#define AL_5POINT1_32F_SOFT 0x120C +#define AL_6POINT1_8_SOFT 0x120D +#define AL_6POINT1_16_SOFT 0x120E +#define AL_6POINT1_32F_SOFT 0x120F +#define AL_7POINT1_8_SOFT 0x1210 +#define AL_7POINT1_16_SOFT 0x1211 +#define AL_7POINT1_32F_SOFT 0x1212 + +/* Buffer attributes */ +#define AL_INTERNAL_FORMAT_SOFT 0x2008 +#define AL_BYTE_LENGTH_SOFT 0x2009 +#define AL_SAMPLE_LENGTH_SOFT 0x200A +#define AL_SEC_LENGTH_SOFT 0x200B + +typedef void (AL_APIENTRY*LPALBUFFERSAMPLESSOFT)(ALuint,ALuint,ALenum,ALsizei,ALenum,ALenum,const ALvoid*); +typedef void (AL_APIENTRY*LPALBUFFERSUBSAMPLESSOFT)(ALuint,ALsizei,ALsizei,ALenum,ALenum,const ALvoid*); +typedef void (AL_APIENTRY*LPALGETBUFFERSAMPLESSOFT)(ALuint,ALsizei,ALsizei,ALenum,ALenum,ALvoid*); +typedef ALboolean (AL_APIENTRY*LPALISBUFFERFORMATSUPPORTEDSOFT)(ALenum); +#ifdef AL_ALEXT_PROTOTYPES +AL_API void AL_APIENTRY alBufferSamplesSOFT(ALuint buffer, ALuint samplerate, ALenum internalformat, ALsizei samples, ALenum channels, ALenum type, const ALvoid *data); +AL_API void AL_APIENTRY alBufferSubSamplesSOFT(ALuint buffer, ALsizei offset, ALsizei samples, ALenum channels, ALenum type, const ALvoid *data); +AL_API void AL_APIENTRY alGetBufferSamplesSOFT(ALuint buffer, ALsizei offset, ALsizei samples, ALenum channels, ALenum type, ALvoid *data); +AL_API ALboolean AL_APIENTRY alIsBufferFormatSupportedSOFT(ALenum format); +#endif +#endif + +#ifndef AL_SOFT_direct_channels +#define AL_SOFT_direct_channels 1 +#define AL_DIRECT_CHANNELS_SOFT 0x1033 +#endif + +#ifndef ALC_SOFT_loopback +#define ALC_SOFT_loopback 1 +#define ALC_FORMAT_CHANNELS_SOFT 0x1990 +#define ALC_FORMAT_TYPE_SOFT 0x1991 + +/* Sample types */ +#define ALC_BYTE_SOFT 0x1400 +#define ALC_UNSIGNED_BYTE_SOFT 0x1401 +#define ALC_SHORT_SOFT 0x1402 +#define ALC_UNSIGNED_SHORT_SOFT 0x1403 +#define ALC_INT_SOFT 0x1404 +#define ALC_UNSIGNED_INT_SOFT 0x1405 +#define ALC_FLOAT_SOFT 0x1406 + +/* Channel configurations */ +#define ALC_MONO_SOFT 0x1500 +#define ALC_STEREO_SOFT 0x1501 +#define ALC_QUAD_SOFT 0x1503 +#define ALC_5POINT1_SOFT 0x1504 +#define ALC_6POINT1_SOFT 0x1505 +#define ALC_7POINT1_SOFT 0x1506 + +typedef ALCdevice* (ALC_APIENTRY*LPALCLOOPBACKOPENDEVICESOFT)(const ALCchar*); +typedef ALCboolean (ALC_APIENTRY*LPALCISRENDERFORMATSUPPORTEDSOFT)(ALCdevice*,ALCsizei,ALCenum,ALCenum); +typedef void (ALC_APIENTRY*LPALCRENDERSAMPLESSOFT)(ALCdevice*,ALCvoid*,ALCsizei); +#ifdef AL_ALEXT_PROTOTYPES +ALC_API ALCdevice* ALC_APIENTRY alcLoopbackOpenDeviceSOFT(const ALCchar *deviceName); +ALC_API ALCboolean ALC_APIENTRY alcIsRenderFormatSupportedSOFT(ALCdevice *device, ALCsizei freq, ALCenum channels, ALCenum type); +ALC_API void ALC_APIENTRY alcRenderSamplesSOFT(ALCdevice *device, ALCvoid *buffer, ALCsizei samples); +#endif +#endif + +#ifndef AL_EXT_STEREO_ANGLES +#define AL_EXT_STEREO_ANGLES 1 +#define AL_STEREO_ANGLES 0x1030 +#endif + +#ifndef AL_EXT_SOURCE_RADIUS +#define AL_EXT_SOURCE_RADIUS 1 +#define AL_SOURCE_RADIUS 0x1031 +#endif + +#ifndef AL_SOFT_source_latency +#define AL_SOFT_source_latency 1 +#define AL_SAMPLE_OFFSET_LATENCY_SOFT 0x1200 +#define AL_SEC_OFFSET_LATENCY_SOFT 0x1201 +typedef int64_t ALint64SOFT; +typedef uint64_t ALuint64SOFT; +typedef void (AL_APIENTRY*LPALSOURCEDSOFT)(ALuint,ALenum,ALdouble); +typedef void (AL_APIENTRY*LPALSOURCE3DSOFT)(ALuint,ALenum,ALdouble,ALdouble,ALdouble); +typedef void (AL_APIENTRY*LPALSOURCEDVSOFT)(ALuint,ALenum,const ALdouble*); +typedef void (AL_APIENTRY*LPALGETSOURCEDSOFT)(ALuint,ALenum,ALdouble*); +typedef void (AL_APIENTRY*LPALGETSOURCE3DSOFT)(ALuint,ALenum,ALdouble*,ALdouble*,ALdouble*); +typedef void (AL_APIENTRY*LPALGETSOURCEDVSOFT)(ALuint,ALenum,ALdouble*); +typedef void (AL_APIENTRY*LPALSOURCEI64SOFT)(ALuint,ALenum,ALint64SOFT); +typedef void (AL_APIENTRY*LPALSOURCE3I64SOFT)(ALuint,ALenum,ALint64SOFT,ALint64SOFT,ALint64SOFT); +typedef void (AL_APIENTRY*LPALSOURCEI64VSOFT)(ALuint,ALenum,const ALint64SOFT*); +typedef void (AL_APIENTRY*LPALGETSOURCEI64SOFT)(ALuint,ALenum,ALint64SOFT*); +typedef void (AL_APIENTRY*LPALGETSOURCE3I64SOFT)(ALuint,ALenum,ALint64SOFT*,ALint64SOFT*,ALint64SOFT*); +typedef void (AL_APIENTRY*LPALGETSOURCEI64VSOFT)(ALuint,ALenum,ALint64SOFT*); +#ifdef AL_ALEXT_PROTOTYPES +AL_API void AL_APIENTRY alSourcedSOFT(ALuint source, ALenum param, ALdouble value); +AL_API void AL_APIENTRY alSource3dSOFT(ALuint source, ALenum param, ALdouble value1, ALdouble value2, ALdouble value3); +AL_API void AL_APIENTRY alSourcedvSOFT(ALuint source, ALenum param, const ALdouble *values); +AL_API void AL_APIENTRY alGetSourcedSOFT(ALuint source, ALenum param, ALdouble *value); +AL_API void AL_APIENTRY alGetSource3dSOFT(ALuint source, ALenum param, ALdouble *value1, ALdouble *value2, ALdouble *value3); +AL_API void AL_APIENTRY alGetSourcedvSOFT(ALuint source, ALenum param, ALdouble *values); +AL_API void AL_APIENTRY alSourcei64SOFT(ALuint source, ALenum param, ALint64SOFT value); +AL_API void AL_APIENTRY alSource3i64SOFT(ALuint source, ALenum param, ALint64SOFT value1, ALint64SOFT value2, ALint64SOFT value3); +AL_API void AL_APIENTRY alSourcei64vSOFT(ALuint source, ALenum param, const ALint64SOFT *values); +AL_API void AL_APIENTRY alGetSourcei64SOFT(ALuint source, ALenum param, ALint64SOFT *value); +AL_API void AL_APIENTRY alGetSource3i64SOFT(ALuint source, ALenum param, ALint64SOFT *value1, ALint64SOFT *value2, ALint64SOFT *value3); +AL_API void AL_APIENTRY alGetSourcei64vSOFT(ALuint source, ALenum param, ALint64SOFT *values); +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/Externals/OpenAL/include/efx-creative.h b/Externals/OpenAL/include/efx-creative.h index 4ea9da6b72..0a04c982e1 100644 --- a/Externals/OpenAL/include/efx-creative.h +++ b/Externals/OpenAL/include/efx-creative.h @@ -1,151 +1,3 @@ -#ifndef __efxcreative_h_ -#define __efxcreative_h_ - -/** - * efx-creative.h - Environmental Audio Extensions - * for OpenAL Effects Extension. - * - */ -#ifdef __cplusplus -extern "C" { -#endif - - -/** - * Effect object definitions to be used with alEffect functions. - * - * Effect parameter value definitions, ranges, and defaults - * appear farther down in this file. - */ - -/* AL EAXReverb 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 - -/* Effect type definitions to be used with AL_EFFECT_TYPE. */ -#define AL_EFFECT_EAXREVERB 0x8000 - - - - /********************************************************** - * Effect parameter structures, value definitions, ranges and defaults. - */ - -/** - * AL reverb effect parameter ranges and defaults - */ -#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 {0.0f, 0.0f, 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 {0.0f, 0.0f, 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 - - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __efxcreative_h_ */ +/* The tokens that would be defined here are already defined in efx.h. This + * empty file is here to provide compatibility with Windows-based projects + * that would include it. */ diff --git a/Externals/OpenAL/include/efx-presets.h b/Externals/OpenAL/include/efx-presets.h new file mode 100644 index 0000000000..86dcbda2f3 --- /dev/null +++ b/Externals/OpenAL/include/efx-presets.h @@ -0,0 +1,402 @@ +/* Reverb presets for EFX */ + +#ifndef EFX_PRESETS_H +#define EFX_PRESETS_H + +#ifndef EFXEAXREVERBPROPERTIES_DEFINED +#define EFXEAXREVERBPROPERTIES_DEFINED +typedef struct { + float flDensity; + float flDiffusion; + float flGain; + float flGainHF; + float flGainLF; + float flDecayTime; + float flDecayHFRatio; + float flDecayLFRatio; + float flReflectionsGain; + float flReflectionsDelay; + float flReflectionsPan[3]; + float flLateReverbGain; + float flLateReverbDelay; + float flLateReverbPan[3]; + float flEchoTime; + float flEchoDepth; + float flModulationTime; + float flModulationDepth; + float flAirAbsorptionGainHF; + float flHFReference; + float flLFReference; + float flRoomRolloffFactor; + int iDecayHFLimit; +} EFXEAXREVERBPROPERTIES, *LPEFXEAXREVERBPROPERTIES; +#endif + +/* Default Presets */ + +#define EFX_REVERB_PRESET_GENERIC \ + { 1.0000f, 1.0000f, 0.3162f, 0.8913f, 1.0000f, 1.4900f, 0.8300f, 1.0000f, 0.0500f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PADDEDCELL \ + { 0.1715f, 1.0000f, 0.3162f, 0.0010f, 1.0000f, 0.1700f, 0.1000f, 1.0000f, 0.2500f, 0.0010f, { 0.0000f, 0.0000f, 0.0000f }, 1.2691f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ROOM \ + { 0.4287f, 1.0000f, 0.3162f, 0.5929f, 1.0000f, 0.4000f, 0.8300f, 1.0000f, 0.1503f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 1.0629f, 0.0030f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_BATHROOM \ + { 0.1715f, 1.0000f, 0.3162f, 0.2512f, 1.0000f, 1.4900f, 0.5400f, 1.0000f, 0.6531f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 3.2734f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_LIVINGROOM \ + { 0.9766f, 1.0000f, 0.3162f, 0.0010f, 1.0000f, 0.5000f, 0.1000f, 1.0000f, 0.2051f, 0.0030f, { 0.0000f, 0.0000f, 0.0000f }, 0.2805f, 0.0040f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_STONEROOM \ + { 1.0000f, 1.0000f, 0.3162f, 0.7079f, 1.0000f, 2.3100f, 0.6400f, 1.0000f, 0.4411f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1003f, 0.0170f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_AUDITORIUM \ + { 1.0000f, 1.0000f, 0.3162f, 0.5781f, 1.0000f, 4.3200f, 0.5900f, 1.0000f, 0.4032f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.7170f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CONCERTHALL \ + { 1.0000f, 1.0000f, 0.3162f, 0.5623f, 1.0000f, 3.9200f, 0.7000f, 1.0000f, 0.2427f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.9977f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CAVE \ + { 1.0000f, 1.0000f, 0.3162f, 1.0000f, 1.0000f, 2.9100f, 1.3000f, 1.0000f, 0.5000f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.7063f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_ARENA \ + { 1.0000f, 1.0000f, 0.3162f, 0.4477f, 1.0000f, 7.2400f, 0.3300f, 1.0000f, 0.2612f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.0186f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_HANGAR \ + { 1.0000f, 1.0000f, 0.3162f, 0.3162f, 1.0000f, 10.0500f, 0.2300f, 1.0000f, 0.5000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.2560f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CARPETEDHALLWAY \ + { 0.4287f, 1.0000f, 0.3162f, 0.0100f, 1.0000f, 0.3000f, 0.1000f, 1.0000f, 0.1215f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 0.1531f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_HALLWAY \ + { 0.3645f, 1.0000f, 0.3162f, 0.7079f, 1.0000f, 1.4900f, 0.5900f, 1.0000f, 0.2458f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.6615f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_STONECORRIDOR \ + { 1.0000f, 1.0000f, 0.3162f, 0.7612f, 1.0000f, 2.7000f, 0.7900f, 1.0000f, 0.2472f, 0.0130f, { 0.0000f, 0.0000f, 0.0000f }, 1.5758f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ALLEY \ + { 1.0000f, 0.3000f, 0.3162f, 0.7328f, 1.0000f, 1.4900f, 0.8600f, 1.0000f, 0.2500f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.9954f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 0.9500f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FOREST \ + { 1.0000f, 0.3000f, 0.3162f, 0.0224f, 1.0000f, 1.4900f, 0.5400f, 1.0000f, 0.0525f, 0.1620f, { 0.0000f, 0.0000f, 0.0000f }, 0.7682f, 0.0880f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CITY \ + { 1.0000f, 0.5000f, 0.3162f, 0.3981f, 1.0000f, 1.4900f, 0.6700f, 1.0000f, 0.0730f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.1427f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_MOUNTAINS \ + { 1.0000f, 0.2700f, 0.3162f, 0.0562f, 1.0000f, 1.4900f, 0.2100f, 1.0000f, 0.0407f, 0.3000f, { 0.0000f, 0.0000f, 0.0000f }, 0.1919f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_QUARRY \ + { 1.0000f, 1.0000f, 0.3162f, 0.3162f, 1.0000f, 1.4900f, 0.8300f, 1.0000f, 0.0000f, 0.0610f, { 0.0000f, 0.0000f, 0.0000f }, 1.7783f, 0.0250f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 0.7000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PLAIN \ + { 1.0000f, 0.2100f, 0.3162f, 0.1000f, 1.0000f, 1.4900f, 0.5000f, 1.0000f, 0.0585f, 0.1790f, { 0.0000f, 0.0000f, 0.0000f }, 0.1089f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PARKINGLOT \ + { 1.0000f, 1.0000f, 0.3162f, 1.0000f, 1.0000f, 1.6500f, 1.5000f, 1.0000f, 0.2082f, 0.0080f, { 0.0000f, 0.0000f, 0.0000f }, 0.2652f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_SEWERPIPE \ + { 0.3071f, 0.8000f, 0.3162f, 0.3162f, 1.0000f, 2.8100f, 0.1400f, 1.0000f, 1.6387f, 0.0140f, { 0.0000f, 0.0000f, 0.0000f }, 3.2471f, 0.0210f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_UNDERWATER \ + { 0.3645f, 1.0000f, 0.3162f, 0.0100f, 1.0000f, 1.4900f, 0.1000f, 1.0000f, 0.5963f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 7.0795f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 1.1800f, 0.3480f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRUGGED \ + { 0.4287f, 0.5000f, 0.3162f, 1.0000f, 1.0000f, 8.3900f, 1.3900f, 1.0000f, 0.8760f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 3.1081f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 1.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_DIZZY \ + { 0.3645f, 0.6000f, 0.3162f, 0.6310f, 1.0000f, 17.2300f, 0.5600f, 1.0000f, 0.1392f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.4937f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.8100f, 0.3100f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PSYCHOTIC \ + { 0.0625f, 0.5000f, 0.3162f, 0.8404f, 1.0000f, 7.5600f, 0.9100f, 1.0000f, 0.4864f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 2.4378f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 4.0000f, 1.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +/* Castle Presets */ + +#define EFX_REVERB_PRESET_CASTLE_SMALLROOM \ + { 1.0000f, 0.8900f, 0.3162f, 0.3981f, 0.1000f, 1.2200f, 0.8300f, 0.3100f, 0.8913f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_SHORTPASSAGE \ + { 1.0000f, 0.8900f, 0.3162f, 0.3162f, 0.1000f, 2.3200f, 0.8300f, 0.3100f, 0.8913f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_MEDIUMROOM \ + { 1.0000f, 0.9300f, 0.3162f, 0.2818f, 0.1000f, 2.0400f, 0.8300f, 0.4600f, 0.6310f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 1.5849f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1550f, 0.0300f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_LARGEROOM \ + { 1.0000f, 0.8200f, 0.3162f, 0.2818f, 0.1259f, 2.5300f, 0.8300f, 0.5000f, 0.4467f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.1850f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_LONGPASSAGE \ + { 1.0000f, 0.8900f, 0.3162f, 0.3981f, 0.1000f, 3.4200f, 0.8300f, 0.3100f, 0.8913f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_HALL \ + { 1.0000f, 0.8100f, 0.3162f, 0.2818f, 0.1778f, 3.1400f, 0.7900f, 0.6200f, 0.1778f, 0.0560f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_CUPBOARD \ + { 1.0000f, 0.8900f, 0.3162f, 0.2818f, 0.1000f, 0.6700f, 0.8700f, 0.3100f, 1.4125f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 3.5481f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_COURTYARD \ + { 1.0000f, 0.4200f, 0.3162f, 0.4467f, 0.1995f, 2.1300f, 0.6100f, 0.2300f, 0.2239f, 0.1600f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0360f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.3700f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_CASTLE_ALCOVE \ + { 1.0000f, 0.8900f, 0.3162f, 0.5012f, 0.1000f, 1.6400f, 0.8700f, 0.3100f, 1.0000f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +/* Factory Presets */ + +#define EFX_REVERB_PRESET_FACTORY_SMALLROOM \ + { 0.3645f, 0.8200f, 0.3162f, 0.7943f, 0.5012f, 1.7200f, 0.6500f, 1.3100f, 0.7079f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.7783f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.1190f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_SHORTPASSAGE \ + { 0.3645f, 0.6400f, 0.2512f, 0.7943f, 0.5012f, 2.5300f, 0.6500f, 1.3100f, 1.0000f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.1350f, 0.2300f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_MEDIUMROOM \ + { 0.4287f, 0.8200f, 0.2512f, 0.7943f, 0.5012f, 2.7600f, 0.6500f, 1.3100f, 0.2818f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1740f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_LARGEROOM \ + { 0.4287f, 0.7500f, 0.2512f, 0.7079f, 0.6310f, 4.2400f, 0.5100f, 1.3100f, 0.1778f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.2310f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_LONGPASSAGE \ + { 0.3645f, 0.6400f, 0.2512f, 0.7943f, 0.5012f, 4.0600f, 0.6500f, 1.3100f, 1.0000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0370f, { 0.0000f, 0.0000f, 0.0000f }, 0.1350f, 0.2300f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_HALL \ + { 0.4287f, 0.7500f, 0.3162f, 0.7079f, 0.6310f, 7.4300f, 0.5100f, 1.3100f, 0.0631f, 0.0730f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0270f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_CUPBOARD \ + { 0.3071f, 0.6300f, 0.2512f, 0.7943f, 0.5012f, 0.4900f, 0.6500f, 1.3100f, 1.2589f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.1070f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_COURTYARD \ + { 0.3071f, 0.5700f, 0.3162f, 0.3162f, 0.6310f, 2.3200f, 0.2900f, 0.5600f, 0.2239f, 0.1400f, { 0.0000f, 0.0000f, 0.0000f }, 0.3981f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2900f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_ALCOVE \ + { 0.3645f, 0.5900f, 0.2512f, 0.7943f, 0.5012f, 3.1400f, 0.6500f, 1.3100f, 1.4125f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.1140f, 0.1000f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +/* Ice Palace Presets */ + +#define EFX_REVERB_PRESET_ICEPALACE_SMALLROOM \ + { 1.0000f, 0.8400f, 0.3162f, 0.5623f, 0.2818f, 1.5100f, 1.5300f, 0.2700f, 0.8913f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1640f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_SHORTPASSAGE \ + { 1.0000f, 0.7500f, 0.3162f, 0.5623f, 0.2818f, 1.7900f, 1.4600f, 0.2800f, 0.5012f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0190f, { 0.0000f, 0.0000f, 0.0000f }, 0.1770f, 0.0900f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_MEDIUMROOM \ + { 1.0000f, 0.8700f, 0.3162f, 0.5623f, 0.4467f, 2.2200f, 1.5300f, 0.3200f, 0.3981f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0270f, { 0.0000f, 0.0000f, 0.0000f }, 0.1860f, 0.1200f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_LARGEROOM \ + { 1.0000f, 0.8100f, 0.3162f, 0.5623f, 0.4467f, 3.1400f, 1.5300f, 0.3200f, 0.2512f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0270f, { 0.0000f, 0.0000f, 0.0000f }, 0.2140f, 0.1100f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_LONGPASSAGE \ + { 1.0000f, 0.7700f, 0.3162f, 0.5623f, 0.3981f, 3.0100f, 1.4600f, 0.2800f, 0.7943f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0250f, { 0.0000f, 0.0000f, 0.0000f }, 0.1860f, 0.0400f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_HALL \ + { 1.0000f, 0.7600f, 0.3162f, 0.4467f, 0.5623f, 5.4900f, 1.5300f, 0.3800f, 0.1122f, 0.0540f, { 0.0000f, 0.0000f, 0.0000f }, 0.6310f, 0.0520f, { 0.0000f, 0.0000f, 0.0000f }, 0.2260f, 0.1100f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_CUPBOARD \ + { 1.0000f, 0.8300f, 0.3162f, 0.5012f, 0.2239f, 0.7600f, 1.5300f, 0.2600f, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.1430f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_COURTYARD \ + { 1.0000f, 0.5900f, 0.3162f, 0.2818f, 0.3162f, 2.0400f, 1.2000f, 0.3800f, 0.3162f, 0.1730f, { 0.0000f, 0.0000f, 0.0000f }, 0.3162f, 0.0430f, { 0.0000f, 0.0000f, 0.0000f }, 0.2350f, 0.4800f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_ALCOVE \ + { 1.0000f, 0.8400f, 0.3162f, 0.5623f, 0.2818f, 2.7600f, 1.4600f, 0.2800f, 1.1220f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1610f, 0.0900f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +/* Space Station Presets */ + +#define EFX_REVERB_PRESET_SPACESTATION_SMALLROOM \ + { 0.2109f, 0.7000f, 0.3162f, 0.7079f, 0.8913f, 1.7200f, 0.8200f, 0.5500f, 0.7943f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0130f, { 0.0000f, 0.0000f, 0.0000f }, 0.1880f, 0.2600f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_SHORTPASSAGE \ + { 0.2109f, 0.8700f, 0.3162f, 0.6310f, 0.8913f, 3.5700f, 0.5000f, 0.5500f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.1720f, 0.2000f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_MEDIUMROOM \ + { 0.2109f, 0.7500f, 0.3162f, 0.6310f, 0.8913f, 3.0100f, 0.5000f, 0.5500f, 0.3981f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0350f, { 0.0000f, 0.0000f, 0.0000f }, 0.2090f, 0.3100f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_LARGEROOM \ + { 0.3645f, 0.8100f, 0.3162f, 0.6310f, 0.8913f, 3.8900f, 0.3800f, 0.6100f, 0.3162f, 0.0560f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0350f, { 0.0000f, 0.0000f, 0.0000f }, 0.2330f, 0.2800f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_LONGPASSAGE \ + { 0.4287f, 0.8200f, 0.3162f, 0.6310f, 0.8913f, 4.6200f, 0.6200f, 0.5500f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0310f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2300f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_HALL \ + { 0.4287f, 0.8700f, 0.3162f, 0.6310f, 0.8913f, 7.1100f, 0.3800f, 0.6100f, 0.1778f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.6310f, 0.0470f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2500f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_CUPBOARD \ + { 0.1715f, 0.5600f, 0.3162f, 0.7079f, 0.8913f, 0.7900f, 0.8100f, 0.5500f, 1.4125f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.7783f, 0.0180f, { 0.0000f, 0.0000f, 0.0000f }, 0.1810f, 0.3100f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_ALCOVE \ + { 0.2109f, 0.7800f, 0.3162f, 0.7079f, 0.8913f, 1.1600f, 0.8100f, 0.5500f, 1.4125f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0180f, { 0.0000f, 0.0000f, 0.0000f }, 0.1920f, 0.2100f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +/* Wooden Galleon Presets */ + +#define EFX_REVERB_PRESET_WOODEN_SMALLROOM \ + { 1.0000f, 1.0000f, 0.3162f, 0.1122f, 0.3162f, 0.7900f, 0.3200f, 0.8700f, 1.0000f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_SHORTPASSAGE \ + { 1.0000f, 1.0000f, 0.3162f, 0.1259f, 0.3162f, 1.7500f, 0.5000f, 0.8700f, 0.8913f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.6310f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_MEDIUMROOM \ + { 1.0000f, 1.0000f, 0.3162f, 0.1000f, 0.2818f, 1.4700f, 0.4200f, 0.8200f, 0.8913f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_LARGEROOM \ + { 1.0000f, 1.0000f, 0.3162f, 0.0891f, 0.2818f, 2.6500f, 0.3300f, 0.8200f, 0.8913f, 0.0660f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_LONGPASSAGE \ + { 1.0000f, 1.0000f, 0.3162f, 0.1000f, 0.3162f, 1.9900f, 0.4000f, 0.7900f, 1.0000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.4467f, 0.0360f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_HALL \ + { 1.0000f, 1.0000f, 0.3162f, 0.0794f, 0.2818f, 3.4500f, 0.3000f, 0.8200f, 0.8913f, 0.0880f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0630f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_CUPBOARD \ + { 1.0000f, 1.0000f, 0.3162f, 0.1413f, 0.3162f, 0.5600f, 0.4600f, 0.9100f, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0280f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_COURTYARD \ + { 1.0000f, 0.6500f, 0.3162f, 0.0794f, 0.3162f, 1.7900f, 0.3500f, 0.7900f, 0.5623f, 0.1230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1000f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_ALCOVE \ + { 1.0000f, 1.0000f, 0.3162f, 0.1259f, 0.3162f, 1.2200f, 0.6200f, 0.9100f, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +/* Sports Presets */ + +#define EFX_REVERB_PRESET_SPORT_EMPTYSTADIUM \ + { 1.0000f, 1.0000f, 0.3162f, 0.4467f, 0.7943f, 6.2600f, 0.5100f, 1.1000f, 0.0631f, 0.1830f, { 0.0000f, 0.0000f, 0.0000f }, 0.3981f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPORT_SQUASHCOURT \ + { 1.0000f, 0.7500f, 0.3162f, 0.3162f, 0.7943f, 2.2200f, 0.9100f, 1.1600f, 0.4467f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1260f, 0.1900f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPORT_SMALLSWIMMINGPOOL \ + { 1.0000f, 0.7000f, 0.3162f, 0.7943f, 0.8913f, 2.7600f, 1.2500f, 1.1400f, 0.6310f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1790f, 0.1500f, 0.8950f, 0.1900f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_SPORT_LARGESWIMMINGPOOL \ + { 1.0000f, 0.8200f, 0.3162f, 0.7943f, 1.0000f, 5.4900f, 1.3100f, 1.1400f, 0.4467f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 0.5012f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2220f, 0.5500f, 1.1590f, 0.2100f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_SPORT_GYMNASIUM \ + { 1.0000f, 0.8100f, 0.3162f, 0.4467f, 0.8913f, 3.1400f, 1.0600f, 1.3500f, 0.3981f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.5623f, 0.0450f, { 0.0000f, 0.0000f, 0.0000f }, 0.1460f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPORT_FULLSTADIUM \ + { 1.0000f, 1.0000f, 0.3162f, 0.0708f, 0.7943f, 5.2500f, 0.1700f, 0.8000f, 0.1000f, 0.1880f, { 0.0000f, 0.0000f, 0.0000f }, 0.2818f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPORT_STADIUMTANNOY \ + { 1.0000f, 0.7800f, 0.3162f, 0.5623f, 0.5012f, 2.5300f, 0.8800f, 0.6800f, 0.2818f, 0.2300f, { 0.0000f, 0.0000f, 0.0000f }, 0.5012f, 0.0630f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +/* Prefab Presets */ + +#define EFX_REVERB_PRESET_PREFAB_WORKSHOP \ + { 0.4287f, 1.0000f, 0.3162f, 0.1413f, 0.3981f, 0.7600f, 1.0000f, 1.0000f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PREFAB_SCHOOLROOM \ + { 0.4022f, 0.6900f, 0.3162f, 0.6310f, 0.5012f, 0.9800f, 0.4500f, 0.1800f, 1.4125f, 0.0170f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.0950f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PREFAB_PRACTISEROOM \ + { 0.4022f, 0.8700f, 0.3162f, 0.3981f, 0.5012f, 1.1200f, 0.5600f, 0.1800f, 1.2589f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.0950f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PREFAB_OUTHOUSE \ + { 1.0000f, 0.8200f, 0.3162f, 0.1122f, 0.1585f, 1.3800f, 0.3800f, 0.3500f, 0.8913f, 0.0240f, { 0.0000f, 0.0000f, -0.0000f }, 0.6310f, 0.0440f, { 0.0000f, 0.0000f, 0.0000f }, 0.1210f, 0.1700f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PREFAB_CARAVAN \ + { 1.0000f, 1.0000f, 0.3162f, 0.0891f, 0.1259f, 0.4300f, 1.5000f, 1.0000f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +/* Dome and Pipe Presets */ + +#define EFX_REVERB_PRESET_DOME_TOMB \ + { 1.0000f, 0.7900f, 0.3162f, 0.3548f, 0.2239f, 4.1800f, 0.2100f, 0.1000f, 0.3868f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 1.6788f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.1770f, 0.1900f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PIPE_SMALL \ + { 1.0000f, 1.0000f, 0.3162f, 0.3548f, 0.2239f, 5.0400f, 0.1000f, 0.1000f, 0.5012f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 2.5119f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DOME_SAINTPAULS \ + { 1.0000f, 0.8700f, 0.3162f, 0.3548f, 0.2239f, 10.4800f, 0.1900f, 0.1000f, 0.1778f, 0.0900f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0420f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.1200f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PIPE_LONGTHIN \ + { 0.2560f, 0.9100f, 0.3162f, 0.4467f, 0.2818f, 9.2100f, 0.1800f, 0.1000f, 0.7079f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PIPE_LARGE \ + { 1.0000f, 1.0000f, 0.3162f, 0.3548f, 0.2239f, 8.4500f, 0.1000f, 0.1000f, 0.3981f, 0.0460f, { 0.0000f, 0.0000f, 0.0000f }, 1.5849f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PIPE_RESONANT \ + { 0.1373f, 0.9100f, 0.3162f, 0.4467f, 0.2818f, 6.8100f, 0.1800f, 0.1000f, 0.7079f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x0 } + +/* Outdoors Presets */ + +#define EFX_REVERB_PRESET_OUTDOORS_BACKYARD \ + { 1.0000f, 0.4500f, 0.3162f, 0.2512f, 0.5012f, 1.1200f, 0.3400f, 0.4600f, 0.4467f, 0.0690f, { 0.0000f, 0.0000f, -0.0000f }, 0.7079f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.2180f, 0.3400f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_OUTDOORS_ROLLINGPLAINS \ + { 1.0000f, 0.0000f, 0.3162f, 0.0112f, 0.6310f, 2.1300f, 0.2100f, 0.4600f, 0.1778f, 0.3000f, { 0.0000f, 0.0000f, -0.0000f }, 0.4467f, 0.0190f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_OUTDOORS_DEEPCANYON \ + { 1.0000f, 0.7400f, 0.3162f, 0.1778f, 0.6310f, 3.8900f, 0.2100f, 0.4600f, 0.3162f, 0.2230f, { 0.0000f, 0.0000f, -0.0000f }, 0.3548f, 0.0190f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_OUTDOORS_CREEK \ + { 1.0000f, 0.3500f, 0.3162f, 0.1778f, 0.5012f, 2.1300f, 0.2100f, 0.4600f, 0.3981f, 0.1150f, { 0.0000f, 0.0000f, -0.0000f }, 0.1995f, 0.0310f, { 0.0000f, 0.0000f, 0.0000f }, 0.2180f, 0.3400f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_OUTDOORS_VALLEY \ + { 1.0000f, 0.2800f, 0.3162f, 0.0282f, 0.1585f, 2.8800f, 0.2600f, 0.3500f, 0.1413f, 0.2630f, { 0.0000f, 0.0000f, -0.0000f }, 0.3981f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.3400f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 } + +/* Mood Presets */ + +#define EFX_REVERB_PRESET_MOOD_HEAVEN \ + { 1.0000f, 0.9400f, 0.3162f, 0.7943f, 0.4467f, 5.0400f, 1.1200f, 0.5600f, 0.2427f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0800f, 2.7420f, 0.0500f, 0.9977f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_MOOD_HELL \ + { 1.0000f, 0.5700f, 0.3162f, 0.3548f, 0.4467f, 3.5700f, 0.4900f, 2.0000f, 0.0000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1100f, 0.0400f, 2.1090f, 0.5200f, 0.9943f, 5000.0000f, 139.5000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_MOOD_MEMORY \ + { 1.0000f, 0.8500f, 0.3162f, 0.6310f, 0.3548f, 4.0600f, 0.8200f, 0.5600f, 0.0398f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.4740f, 0.4500f, 0.9886f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +/* Driving Presets */ + +#define EFX_REVERB_PRESET_DRIVING_COMMENTATOR \ + { 1.0000f, 0.0000f, 3.1623f, 0.5623f, 0.5012f, 2.4200f, 0.8800f, 0.6800f, 0.1995f, 0.0930f, { 0.0000f, 0.0000f, 0.0000f }, 0.2512f, 0.0170f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9886f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRIVING_PITGARAGE \ + { 0.4287f, 0.5900f, 0.3162f, 0.7079f, 0.5623f, 1.7200f, 0.9300f, 0.8700f, 0.5623f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.1100f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_DRIVING_INCAR_RACER \ + { 0.0832f, 0.8000f, 0.3162f, 1.0000f, 0.7943f, 0.1700f, 2.0000f, 0.4100f, 1.7783f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10268.2002f, 251.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRIVING_INCAR_SPORTS \ + { 0.0832f, 0.8000f, 0.3162f, 0.6310f, 1.0000f, 0.1700f, 0.7500f, 0.4100f, 1.0000f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.5623f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10268.2002f, 251.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRIVING_INCAR_LUXURY \ + { 0.2560f, 1.0000f, 0.3162f, 0.1000f, 0.5012f, 0.1300f, 0.4100f, 0.4600f, 0.7943f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.5849f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10268.2002f, 251.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRIVING_FULLGRANDSTAND \ + { 1.0000f, 1.0000f, 0.3162f, 0.2818f, 0.6310f, 3.0100f, 1.3700f, 1.2800f, 0.3548f, 0.0900f, { 0.0000f, 0.0000f, 0.0000f }, 0.1778f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10420.2002f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_DRIVING_EMPTYGRANDSTAND \ + { 1.0000f, 1.0000f, 0.3162f, 1.0000f, 0.7943f, 4.6200f, 1.7500f, 1.4000f, 0.2082f, 0.0900f, { 0.0000f, 0.0000f, 0.0000f }, 0.2512f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10420.2002f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_DRIVING_TUNNEL \ + { 1.0000f, 0.8100f, 0.3162f, 0.3981f, 0.8913f, 3.4200f, 0.9400f, 1.3100f, 0.7079f, 0.0510f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0470f, { 0.0000f, 0.0000f, 0.0000f }, 0.2140f, 0.0500f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 155.3000f, 0.0000f, 0x1 } + +/* City Presets */ + +#define EFX_REVERB_PRESET_CITY_STREETS \ + { 1.0000f, 0.7800f, 0.3162f, 0.7079f, 0.8913f, 1.7900f, 1.1200f, 0.9100f, 0.2818f, 0.0460f, { 0.0000f, 0.0000f, 0.0000f }, 0.1995f, 0.0280f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CITY_SUBWAY \ + { 1.0000f, 0.7400f, 0.3162f, 0.7079f, 0.8913f, 3.0100f, 1.2300f, 0.9100f, 0.7079f, 0.0460f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0280f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 0.2100f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CITY_MUSEUM \ + { 1.0000f, 0.8200f, 0.3162f, 0.1778f, 0.1778f, 3.2800f, 1.4000f, 0.5700f, 0.2512f, 0.0390f, { 0.0000f, 0.0000f, -0.0000f }, 0.8913f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 0.1300f, 0.1700f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_CITY_LIBRARY \ + { 1.0000f, 0.8200f, 0.3162f, 0.2818f, 0.0891f, 2.7600f, 0.8900f, 0.4100f, 0.3548f, 0.0290f, { 0.0000f, 0.0000f, -0.0000f }, 0.8913f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.1300f, 0.1700f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_CITY_UNDERPASS \ + { 1.0000f, 0.8200f, 0.3162f, 0.4467f, 0.8913f, 3.5700f, 1.1200f, 0.9100f, 0.3981f, 0.0590f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0370f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.1400f, 0.2500f, 0.0000f, 0.9920f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CITY_ABANDONED \ + { 1.0000f, 0.6900f, 0.3162f, 0.7943f, 0.8913f, 3.2800f, 1.1700f, 0.9100f, 0.4467f, 0.0440f, { 0.0000f, 0.0000f, 0.0000f }, 0.2818f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2000f, 0.2500f, 0.0000f, 0.9966f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +/* Misc. Presets */ + +#define EFX_REVERB_PRESET_DUSTYROOM \ + { 0.3645f, 0.5600f, 0.3162f, 0.7943f, 0.7079f, 1.7900f, 0.3800f, 0.2100f, 0.5012f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0060f, { 0.0000f, 0.0000f, 0.0000f }, 0.2020f, 0.0500f, 0.2500f, 0.0000f, 0.9886f, 13046.0000f, 163.3000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CHAPEL \ + { 1.0000f, 0.8400f, 0.3162f, 0.5623f, 1.0000f, 4.6200f, 0.6400f, 1.2300f, 0.4467f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.1100f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SMALLWATERROOM \ + { 1.0000f, 0.7000f, 0.3162f, 0.4477f, 1.0000f, 1.5100f, 1.2500f, 1.1400f, 0.8913f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1790f, 0.1500f, 0.8950f, 0.1900f, 0.9920f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#endif /* EFX_PRESETS_H */ diff --git a/Externals/OpenAL/include/efx.h b/Externals/OpenAL/include/efx.h index fece1608de..57766983f6 100644 --- a/Externals/OpenAL/include/efx.h +++ b/Externals/OpenAL/include/efx.h @@ -1,737 +1,761 @@ -#ifndef __efx_h_ -#define __efx_h_ +#ifndef AL_EFX_H +#define AL_EFX_H +#include "alc.h" +#include "al.h" + #ifdef __cplusplus extern "C" { #endif -#define ALC_EXT_EFX_NAME "ALC_EXT_EFX" +#define ALC_EXT_EFX_NAME "ALC_EXT_EFX" -/** - * Context definitions to be used with alcCreateContext. - * These values must be unique and not conflict with other - * al context values. - */ -#define ALC_EFX_MAJOR_VERSION 0x20001 -#define ALC_EFX_MINOR_VERSION 0x20002 -#define ALC_MAX_AUXILIARY_SENDS 0x20003 +#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 -/** - * Listener definitions to be used with alListener functions. - * These values must be unique and not conflict with other - * al listener values. - */ -#define AL_METERS_PER_UNIT 0x20004 +/* 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 -/** - * Source definitions to be used with alSource functions. - * These values must be unique and not conflict with other - * al source values. - */ -#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 +/* 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 -/** - * Effect object definitions to be used with alEffect functions. - * - * Effect parameter value definitions, ranges, and defaults - * appear farther down in this file. - */ +/* 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 -/* Reverb 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 +/* Pitchshifter effect parameters */ +#define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001 +#define AL_PITCH_SHIFTER_FINE_TUNE 0x0002 -/* Chorus 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 +/* Ringmodulator effect parameters */ +#define AL_RING_MODULATOR_FREQUENCY 0x0001 +#define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002 +#define AL_RING_MODULATOR_WAVEFORM 0x0003 -/* Distortion 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 +/* 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 -/* Echo 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 +/* Compressor effect parameters */ +#define AL_COMPRESSOR_ONOFF 0x0001 -/* Flanger 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 - -/* Frequencyshifter Parameters */ -#define AL_FREQUENCY_SHIFTER_FREQUENCY 0x0001 -#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION 0x0002 -#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION 0x0003 - -/* Vocalmorpher 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 Parameters */ -#define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001 -#define AL_PITCH_SHIFTER_FINE_TUNE 0x0002 - -/* Ringmodulator Parameters */ -#define AL_RING_MODULATOR_FREQUENCY 0x0001 -#define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002 -#define AL_RING_MODULATOR_WAVEFORM 0x0003 - -/* Autowah 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 Parameters */ -#define AL_COMPRESSOR_ONOFF 0x0001 - -/* Equalizer 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 +/* 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 +#define AL_EFFECT_FIRST_PARAMETER 0x0000 +#define AL_EFFECT_LAST_PARAMETER 0x8000 +#define AL_EFFECT_TYPE 0x8001 -/* Effect type definitions to be used with AL_EFFECT_TYPE. */ -#define AL_EFFECT_NULL 0x0000 /* Can also be used as an Effect Object ID */ -#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 +/* 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 Slot object definitions to be used with alAuxiliaryEffectSlot functions. - */ -#define AL_EFFECTSLOT_EFFECT 0x0001 -#define AL_EFFECTSLOT_GAIN 0x0002 -#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003 +/* Auxiliary Effect Slot properties. */ +#define AL_EFFECTSLOT_EFFECT 0x0001 +#define AL_EFFECTSLOT_GAIN 0x0002 +#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003 -/** - * Value to be used as an Auxiliary Slot ID to disable a source send.. - */ -#define AL_EFFECTSLOT_NULL 0x0000 +/* NULL Auxiliary Slot ID to disable a source send. */ +#define AL_EFFECTSLOT_NULL 0x0000 +/* Filter properties. */ -/** - * Filter object definitions to be used with alFilter functions. - */ +/* Lowpass filter parameters */ +#define AL_LOWPASS_GAIN 0x0001 +#define AL_LOWPASS_GAINHF 0x0002 -/* Lowpass parameters. */ -#define AL_LOWPASS_GAIN 0x0001 -#define AL_LOWPASS_GAINHF 0x0002 +/* Highpass filter parameters */ +#define AL_HIGHPASS_GAIN 0x0001 +#define AL_HIGHPASS_GAINLF 0x0002 -/* Highpass Parameters */ -#define AL_HIGHPASS_GAIN 0x0001 -#define AL_HIGHPASS_GAINLF 0x0002 - -/* Bandpass Parameters */ -#define AL_BANDPASS_GAIN 0x0001 -#define AL_BANDPASS_GAINLF 0x0002 -#define AL_BANDPASS_GAINHF 0x0003 +/* 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 +#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*); + +#ifdef AL_ALEXT_PROTOTYPES +AL_API ALvoid AL_APIENTRY alGenEffects(ALsizei n, ALuint *effects); +AL_API ALvoid AL_APIENTRY alDeleteEffects(ALsizei n, const ALuint *effects); +AL_API ALboolean AL_APIENTRY alIsEffect(ALuint effect); +AL_API ALvoid AL_APIENTRY alEffecti(ALuint effect, ALenum param, ALint iValue); +AL_API ALvoid AL_APIENTRY alEffectiv(ALuint effect, ALenum param, const ALint *piValues); +AL_API ALvoid AL_APIENTRY alEffectf(ALuint effect, ALenum param, ALfloat flValue); +AL_API ALvoid AL_APIENTRY alEffectfv(ALuint effect, ALenum param, const ALfloat *pflValues); +AL_API ALvoid AL_APIENTRY alGetEffecti(ALuint effect, ALenum param, ALint *piValue); +AL_API ALvoid AL_APIENTRY alGetEffectiv(ALuint effect, ALenum param, ALint *piValues); +AL_API ALvoid AL_APIENTRY alGetEffectf(ALuint effect, ALenum param, ALfloat *pflValue); +AL_API ALvoid AL_APIENTRY alGetEffectfv(ALuint effect, ALenum param, ALfloat *pflValues); + +AL_API ALvoid AL_APIENTRY alGenFilters(ALsizei n, ALuint *filters); +AL_API ALvoid AL_APIENTRY alDeleteFilters(ALsizei n, const ALuint *filters); +AL_API ALboolean AL_APIENTRY alIsFilter(ALuint filter); +AL_API ALvoid AL_APIENTRY alFilteri(ALuint filter, ALenum param, ALint iValue); +AL_API ALvoid AL_APIENTRY alFilteriv(ALuint filter, ALenum param, const ALint *piValues); +AL_API ALvoid AL_APIENTRY alFilterf(ALuint filter, ALenum param, ALfloat flValue); +AL_API ALvoid AL_APIENTRY alFilterfv(ALuint filter, ALenum param, const ALfloat *pflValues); +AL_API ALvoid AL_APIENTRY alGetFilteri(ALuint filter, ALenum param, ALint *piValue); +AL_API ALvoid AL_APIENTRY alGetFilteriv(ALuint filter, ALenum param, ALint *piValues); +AL_API ALvoid AL_APIENTRY alGetFilterf(ALuint filter, ALenum param, ALfloat *pflValue); +AL_API ALvoid AL_APIENTRY alGetFilterfv(ALuint filter, ALenum param, ALfloat *pflValues); + +AL_API ALvoid AL_APIENTRY alGenAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots); +AL_API ALvoid AL_APIENTRY alDeleteAuxiliaryEffectSlots(ALsizei n, const ALuint *effectslots); +AL_API ALboolean AL_APIENTRY alIsAuxiliaryEffectSlot(ALuint effectslot); +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint iValue); +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, const ALint *piValues); +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat flValue); +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, const ALfloat *pflValues); +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint *piValue); +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues); +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat *pflValue); +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues); +#endif + +/* 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) -/* Filter type definitions to be used with AL_FILTER_TYPE. */ -#define AL_FILTER_NULL 0x0000 /* Can also be used as a Filter Object ID */ -#define AL_FILTER_LOWPASS 0x0001 -#define AL_FILTER_HIGHPASS 0x0002 -#define AL_FILTER_BANDPASS 0x0003 +#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) -/** - * Effect object functions. - */ +#define AL_EAXREVERB_MIN_GAINHF (0.0f) +#define AL_EAXREVERB_MAX_GAINHF (1.0f) +#define AL_EAXREVERB_DEFAULT_GAINHF (0.89f) -/* Create Effect objects. */ -typedef void (__cdecl *LPALGENEFFECTS)( ALsizei n, ALuint* effects ); +#define AL_EAXREVERB_MIN_GAINLF (0.0f) +#define AL_EAXREVERB_MAX_GAINLF (1.0f) +#define AL_EAXREVERB_DEFAULT_GAINLF (1.0f) -/* Delete Effect objects. */ -typedef void (__cdecl *LPALDELETEEFFECTS)( ALsizei n, ALuint* effects ); +#define AL_EAXREVERB_MIN_DECAY_TIME (0.1f) +#define AL_EAXREVERB_MAX_DECAY_TIME (20.0f) +#define AL_EAXREVERB_DEFAULT_DECAY_TIME (1.49f) -/* Verify a handle is a valid Effect. */ -typedef ALboolean (__cdecl *LPALISEFFECT)( ALuint eid ); +#define AL_EAXREVERB_MIN_DECAY_HFRATIO (0.1f) +#define AL_EAXREVERB_MAX_DECAY_HFRATIO (2.0f) +#define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO (0.83f) -/* Set an integer parameter for an Effect object. */ -typedef void (__cdecl *LPALEFFECTI)( ALuint eid, ALenum param, ALint value); -typedef void (__cdecl *LPALEFFECTIV)( ALuint eid, ALenum param, ALint* values ); +#define AL_EAXREVERB_MIN_DECAY_LFRATIO (0.1f) +#define AL_EAXREVERB_MAX_DECAY_LFRATIO (2.0f) +#define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO (1.0f) -/* Set a floating point parameter for an Effect object. */ -typedef void (__cdecl *LPALEFFECTF)( ALuint eid, ALenum param, ALfloat value); -typedef void (__cdecl *LPALEFFECTFV)( ALuint eid, ALenum param, ALfloat* values ); +#define AL_EAXREVERB_MIN_REFLECTIONS_GAIN (0.0f) +#define AL_EAXREVERB_MAX_REFLECTIONS_GAIN (3.16f) +#define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN (0.05f) -/* Get an integer parameter for an Effect object. */ -typedef void (__cdecl *LPALGETEFFECTI)( ALuint eid, ALenum pname, ALint* value ); -typedef void (__cdecl *LPALGETEFFECTIV)( ALuint eid, ALenum pname, ALint* values ); +#define AL_EAXREVERB_MIN_REFLECTIONS_DELAY (0.0f) +#define AL_EAXREVERB_MAX_REFLECTIONS_DELAY (0.3f) +#define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY (0.007f) -/* Get a floating point parameter for an Effect object. */ -typedef void (__cdecl *LPALGETEFFECTF)( ALuint eid, ALenum pname, ALfloat* value ); -typedef void (__cdecl *LPALGETEFFECTFV)( ALuint eid, ALenum pname, ALfloat* values ); +#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) -/** - * Filter object functions - */ +#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) -/* Create Filter objects. */ -typedef void (__cdecl *LPALGENFILTERS)( ALsizei n, ALuint* filters ); +#define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ (0.0f) -/* Delete Filter objects. */ -typedef void (__cdecl *LPALDELETEFILTERS)( ALsizei n, ALuint* filters ); +#define AL_EAXREVERB_MIN_ECHO_TIME (0.075f) +#define AL_EAXREVERB_MAX_ECHO_TIME (0.25f) +#define AL_EAXREVERB_DEFAULT_ECHO_TIME (0.25f) -/* Verify a handle is a valid Filter. */ -typedef ALboolean (__cdecl *LPALISFILTER)( ALuint fid ); +#define AL_EAXREVERB_MIN_ECHO_DEPTH (0.0f) +#define AL_EAXREVERB_MAX_ECHO_DEPTH (1.0f) +#define AL_EAXREVERB_DEFAULT_ECHO_DEPTH (0.0f) -/* Set an integer parameter for a Filter object. */ -typedef void (__cdecl *LPALFILTERI)( ALuint fid, ALenum param, ALint value ); -typedef void (__cdecl *LPALFILTERIV)( ALuint fid, ALenum param, ALint* values ); +#define AL_EAXREVERB_MIN_MODULATION_TIME (0.04f) +#define AL_EAXREVERB_MAX_MODULATION_TIME (4.0f) +#define AL_EAXREVERB_DEFAULT_MODULATION_TIME (0.25f) -/* Set a floating point parameter for an Filter object. */ -typedef void (__cdecl *LPALFILTERF)( ALuint fid, ALenum param, ALfloat value); -typedef void (__cdecl *LPALFILTERFV)( ALuint fid, ALenum param, ALfloat* values ); +#define AL_EAXREVERB_MIN_MODULATION_DEPTH (0.0f) +#define AL_EAXREVERB_MAX_MODULATION_DEPTH (1.0f) +#define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH (0.0f) -/* Get an integer parameter for a Filter object. */ -typedef void (__cdecl *LPALGETFILTERI)( ALuint fid, ALenum pname, ALint* value ); -typedef void (__cdecl *LPALGETFILTERIV)( ALuint fid, ALenum pname, ALint* values ); +#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) -/* Get a floating point parameter for a Filter object. */ -typedef void (__cdecl *LPALGETFILTERF)( ALuint fid, ALenum pname, ALfloat* value ); -typedef void (__cdecl *LPALGETFILTERFV)( ALuint fid, ALenum pname, ALfloat* values ); +#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) -/** - * Auxiliary Slot object functions - */ +#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) -/* Create Auxiliary Slot objects. */ -typedef void (__cdecl *LPALGENAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); +#define AL_EAXREVERB_MIN_DECAY_HFLIMIT AL_FALSE +#define AL_EAXREVERB_MAX_DECAY_HFLIMIT AL_TRUE +#define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE -/* Delete Auxiliary Slot objects. */ -typedef void (__cdecl *LPALDELETEAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); +/* Chorus effect */ +#define AL_CHORUS_WAVEFORM_SINUSOID (0) +#define AL_CHORUS_WAVEFORM_TRIANGLE (1) -/* Verify a handle is a valid Auxiliary Slot. */ -typedef ALboolean (__cdecl *LPALISAUXILIARYEFFECTSLOT)( ALuint slot ); +#define AL_CHORUS_MIN_WAVEFORM (0) +#define AL_CHORUS_MAX_WAVEFORM (1) +#define AL_CHORUS_DEFAULT_WAVEFORM (1) -/* Set an integer parameter for a Auxiliary Slot object. */ -typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum param, ALint value ); -typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum param, ALint* values ); +#define AL_CHORUS_MIN_PHASE (-180) +#define AL_CHORUS_MAX_PHASE (180) +#define AL_CHORUS_DEFAULT_PHASE (90) -/* Set a floating point parameter for an Auxiliary Slot object. */ -typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum param, ALfloat value ); -typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum param, ALfloat* values ); +#define AL_CHORUS_MIN_RATE (0.0f) +#define AL_CHORUS_MAX_RATE (10.0f) +#define AL_CHORUS_DEFAULT_RATE (1.1f) -/* Get an integer parameter for a Auxiliary Slot object. */ -typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum pname, ALint* value ); -typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum pname, ALint* values ); +#define AL_CHORUS_MIN_DEPTH (0.0f) +#define AL_CHORUS_MAX_DEPTH (1.0f) +#define AL_CHORUS_DEFAULT_DEPTH (0.1f) -/* Get a floating point parameter for a Auxiliary Slot object. */ -typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum pname, ALfloat* value ); -typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum pname, ALfloat* values ); +#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) -/********************************************************** - * Filter ranges and defaults. - */ +/* 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) -/** - * Lowpass filter - */ +#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 LOWPASS_MIN_GAIN 0.0f -#define LOWPASS_MAX_GAIN 1.0f -#define LOWPASS_DEFAULT_GAIN 1.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 LOWPASS_MIN_GAINHF 0.0f -#define LOWPASS_MAX_GAINHF 1.0f -#define LOWPASS_DEFAULT_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 -/** - * Highpass filter - */ +#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 HIGHPASS_MIN_GAIN 0.0f -#define HIGHPASS_MAX_GAIN 1.0f -#define HIGHPASS_DEFAULT_GAIN 1.0f +#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 -#define HIGHPASS_MIN_GAINLF 0.0f -#define HIGHPASS_MAX_GAINLF 1.0f -#define HIGHPASS_DEFAULT_GAINLF 1.0f -/** - * Bandpass filter - */ - -#define BANDPASS_MIN_GAIN 0.0f -#define BANDPASS_MAX_GAIN 1.0f -#define BANDPASS_DEFAULT_GAIN 1.0f - -#define BANDPASS_MIN_GAINHF 0.0f -#define BANDPASS_MAX_GAINHF 1.0f -#define BANDPASS_DEFAULT_GAINHF 1.0f - -#define BANDPASS_MIN_GAINLF 0.0f -#define BANDPASS_MAX_GAINLF 1.0f -#define BANDPASS_DEFAULT_GAINLF 1.0f - - - - - /********************************************************** - * Effect parameter structures, value definitions, ranges and defaults. - */ - -/** - * AL reverb effect parameter ranges and defaults - */ -#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 - -/** - * AL chorus effect parameter ranges and defaults - */ -#define AL_CHORUS_MIN_WAVEFORM 0 -#define AL_CHORUS_MAX_WAVEFORM 1 -#define AL_CHORUS_DEFAULT_WAVEFORM 1 - -#define AL_CHORUS_WAVEFORM_SINUSOID 0 -#define AL_CHORUS_WAVEFORM_TRIANGLE 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 - -/** - * AL distortion effect parameter ranges and defaults - */ -#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 - -/** - * AL echo effect parameter ranges and defaults - */ -#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) - -/** - * AL flanger effect parameter ranges and defaults - */ -#define AL_FLANGER_MIN_WAVEFORM 0 -#define AL_FLANGER_MAX_WAVEFORM 1 -#define AL_FLANGER_DEFAULT_WAVEFORM 1 - -#define AL_FLANGER_WAVEFORM_SINUSOID 0 -#define AL_FLANGER_WAVEFORM_TRIANGLE 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 - -/** - * AL frequency shifter effect parameter ranges and defaults - */ -#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_MIN_RIGHT_DIRECTION 0 -#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION 2 -#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION 0 - -#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN 0 -#define AL_FREQUENCY_SHIFTER_DIRECTION_UP 1 -#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF 2 - -/** - * AL vocal morpher effect parameter ranges and defaults - */ -#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_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_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_MIN_WAVEFORM 0 -#define AL_VOCAL_MORPHER_MAX_WAVEFORM 2 -#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM 0 - -#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_RATE 0.0f -#define AL_VOCAL_MORPHER_MAX_RATE 10.0f -#define AL_VOCAL_MORPHER_DEFAULT_RATE 1.41f - -/** - * AL pitch shifter effect parameter ranges and defaults - */ -#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 - -/** - * AL ring modulator effect parameter ranges and defaults - */ -#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_MIN_WAVEFORM 0 -#define AL_RING_MODULATOR_MAX_WAVEFORM 2 -#define AL_RING_MODULATOR_DEFAULT_WAVEFORM 0 - -#define AL_RING_MODULATOR_SINUSOID 0 -#define AL_RING_MODULATOR_SAWTOOTH 1 -#define AL_RING_MODULATOR_SQUARE 2 - -/** - * AL autowah effect parameter ranges and defaults - */ -#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 - -/** - * AL compressor effect parameter ranges and defaults - */ -#define AL_COMPRESSOR_MIN_ONOFF 0 -#define AL_COMPRESSOR_MAX_ONOFF 1 -#define AL_COMPRESSOR_DEFAULT_ONOFF 1 - -/** - * AL equalizer effect parameter ranges and defaults - */ -#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 definitions, 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 definitions, 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 +/* 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 /* __efx_h_ */ +#endif /* AL_EFX_H */ diff --git a/Source/Core/AudioCommon/AudioCommon.vcxproj b/Source/Core/AudioCommon/AudioCommon.vcxproj index 2e13aedb46..a983005318 100644 --- a/Source/Core/AudioCommon/AudioCommon.vcxproj +++ b/Source/Core/AudioCommon/AudioCommon.vcxproj @@ -109,7 +109,7 @@ - ..\Common\Src;%(AdditionalIncludeDirectories) + ..\Core\Src;..\Common\Src;..\..\..\Externals;%(AdditionalIncludeDirectories) true @@ -121,7 +121,7 @@ - ..\Common\Src;%(AdditionalIncludeDirectories) + ..\Core\Src;..\Common\Src;..\..\..\Externals;%(AdditionalIncludeDirectories) true @@ -147,7 +147,7 @@ - ..\Common\Src;%(AdditionalIncludeDirectories) + ..\Core\Src;..\Common\Src;..\..\..\Externals;%(AdditionalIncludeDirectories) true @@ -175,7 +175,7 @@ - ..\Common\Src;%(AdditionalIncludeDirectories) + ..\Core\Src;..\Common\Src;..\..\..\Externals;%(AdditionalIncludeDirectories) true @@ -192,6 +192,7 @@ + @@ -204,6 +205,7 @@ + diff --git a/Source/Core/AudioCommon/AudioCommon.vcxproj.filters b/Source/Core/AudioCommon/AudioCommon.vcxproj.filters index 7e098ecb85..af5fe12220 100644 --- a/Source/Core/AudioCommon/AudioCommon.vcxproj.filters +++ b/Source/Core/AudioCommon/AudioCommon.vcxproj.filters @@ -21,6 +21,7 @@ SoundStreams + @@ -44,6 +45,7 @@ SoundStreams + diff --git a/Source/Core/AudioCommon/CMakeLists.txt b/Source/Core/AudioCommon/CMakeLists.txt index 93547681b0..0e610bd847 100644 --- a/Source/Core/AudioCommon/CMakeLists.txt +++ b/Source/Core/AudioCommon/CMakeLists.txt @@ -1,5 +1,6 @@ set(SRCS Src/AudioCommon.cpp Src/AudioCommonConfig.cpp + Src/DPL2Decoder.cpp Src/Mixer.cpp Src/WaveFile.cpp Src/NullSoundStream.cpp) diff --git a/Source/Core/AudioCommon/Src/DPL2Decoder.cpp b/Source/Core/AudioCommon/Src/DPL2Decoder.cpp new file mode 100644 index 0000000000..4efedc4b44 --- /dev/null +++ b/Source/Core/AudioCommon/Src/DPL2Decoder.cpp @@ -0,0 +1,397 @@ +// Copyright (C) 2003 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +// Dolby Pro Logic 2 decoder from ffdshow-tryout +// * Copyright 2001 Anders Johansson ajh@atri.curtin.edu.au +// * Copyright (c) 2004-2006 Milan Cutka +// * based on mplayer HRTF plugin by ylai + +#include +#include +#include "DPL2Decoder.h" + +#define M_PI 3.14159265358979323846 +#define M_SQRT1_2 0.70710678118654752440 + +int olddelay = -1; +unsigned int oldfreq = 0; +unsigned int dlbuflen; +int cyc_pos; +float l_fwr, r_fwr, lpr_fwr, lmr_fwr; +std::vector fwrbuf_l, fwrbuf_r; +float adapt_l_gain, adapt_r_gain, adapt_lpr_gain, adapt_lmr_gain; +std::vector lf, rf, lr, rr, cf, cr; +float LFE_buf[256]; +unsigned int lfe_pos; +float *filter_coefs_lfe; +unsigned int len125; + +template static _ftype_t dotproduct(int count,const T *buf,const _ftype_t *coefficients) +{ + float sum0=0,sum1=0,sum2=0,sum3=0; + for (;count>=4;buf+=4,coefficients+=4,count-=4) + { + sum0+=buf[0]*coefficients[0]; + sum1+=buf[1]*coefficients[1]; + sum2+=buf[2]*coefficients[2]; + sum3+=buf[3]*coefficients[3]; + } + while (count--) sum0+= *buf++ * *coefficients++; + return sum0+sum1+sum2+sum3; +} + +template static T firfilter(const T *buf, int pos, int len, int count, const float *coefficients) +{ + int count1, count2; + + if (pos >= count) + { + pos -= count; + count1 = count; count2 = 0; + } + else + { + count2 = pos; + count1 = count - pos; + pos = len - count1; + } + + // high part of window + const T *ptr = &buf[pos]; + + float r1=dotproduct(count1,ptr,coefficients);coefficients+=count1; + float r2=dotproduct(count2,buf,coefficients); + return T(r1+r2); +} + +template inline const T& limit(const T& val, const T& min, const T& max) +{ + if (val < min) { + return min; + } else if (val > max) { + return max; + } else { + return val; + } +} + +/* +// Hamming +// 2*pi*k +// w(k) = 0.54 - 0.46*cos(------), where 0 <= k < N +// N-1 +// +// n window length +// w buffer for the window parameters +*/ +void hamming(int n, float* w) +{ + int i; + float k = float(2*M_PI/((float)(n-1))); // 2*pi/(N-1) + + // Calculate window coefficients + for (i=0; i Fs/2 +flags window and filter type as defined in filter.h +variables are ored together: i.e. LP|HAMMING will give a +low pass filter designed using a hamming window +opt beta constant used only when designing using kaiser windows + +returns 0 if OK, -1 if fail +*/ +float* design_fir(unsigned int *n, float* fc, float opt) +{ + unsigned int o = *n & 1; // Indicator for odd filter length + unsigned int end = ((*n + 1) >> 1) - o; // Loop end + unsigned int i; // Loop index + + float k1 = 2 * float(M_PI); // 2*pi*fc1 + float k2 = 0.5f * (float)(1 - o);// Constant used if the filter has even length + float g = 0.0f; // Gain + float t1; // Temporary variables + float fc1; // Cutoff frequencies + + // Sanity check + if(*n==0) return NULL; + fc[0]=limit(fc[0],float(0.001),float(1)); + + float *w=(float*)calloc(sizeof(float),*n); + + // Get window coefficients + hamming(*n,w); + + fc1=*fc; + // Cutoff frequency must be < 0.5 where 0.5 <=> Fs/2 + fc1 = ((fc1 <= 1.0) && (fc1 > 0.0)) ? fc1/2 : 0.25f; + k1 *= fc1; + + // Low pass filter + + // If the filter length is odd, there is one point which is exactly + // in the middle. The value at this point is 2*fCutoff*sin(x)/x, + // where x is zero. To make sure nothing strange happens, we set this + // value separately. + if (o) + { + w[end] = fc1 * w[end] * 2.0f; + g=w[end]; + } + + // Create filter + for (i=0 ; i M9_03DB * lpr_fwr ? lmr_fwr : M9_03DB * lpr_fwr; + float lpr_gain = (lpr_fwr + lmr_lim_fwr) / (1 + lpr_fwr + lpr_fwr); + float lmr_gain = (lpr_fwr + lmr_lim_fwr) / (1 + lmr_lim_fwr + lmr_lim_fwr); + float lmr_unlim_gain = (lpr_fwr + lmr_fwr) / (1 + lmr_fwr + lmr_fwr); + float lpr, lmr; + float l_agc, r_agc, lpr_agc, lmr_agc; + float f, d_gain, c_gain, c_agc_cfk; + + /*** AXIS NO. 1: (Lt, Rt) -> (C, Ls, Rs) ***/ + /* AGC adaption */ + d_gain = (fabs(l_gain - *adapt_l_gain) + fabs(r_gain - *adapt_r_gain)) * 0.5f; + f = d_gain * (1.0f / MATAGCTRIG); + f = MATAGCDECAY - MATAGCDECAY / (1 + f * f); + *adapt_l_gain = (1 - f) * *adapt_l_gain + f * l_gain; + *adapt_r_gain = (1 - f) * *adapt_r_gain + f * r_gain; + /* Matrix */ + l_agc = in[il] * passive_lock(*adapt_l_gain); + r_agc = in[ir] * passive_lock(*adapt_r_gain); + cf[k] = (l_agc + r_agc) * (float)M_SQRT1_2; + if (decode_rear) + { + lr[kr] = rr[kr] = (l_agc - r_agc) * (float)M_SQRT1_2; + /* Stereo rear channel is steered with the same AGC steering as + the decoding matrix. Note this requires a fast updating AGC + at the order of 20 ms (which is the case here). */ + lr[kr] *= (l_fwr + l_fwr) / (1 + l_fwr + r_fwr); + rr[kr] *= (r_fwr + r_fwr) / (1 + l_fwr + r_fwr); + } + + /*** AXIS NO. 2: (Lt + Rt, Lt - Rt) -> (L, R) ***/ + lpr = (in[il] + in[ir]) * (float)M_SQRT1_2; + lmr = (in[il] - in[ir]) * (float)M_SQRT1_2; + /* AGC adaption */ + d_gain = fabs(lmr_unlim_gain - *adapt_lmr_gain); + f = d_gain * (1.0f / MATAGCTRIG); + f = MATAGCDECAY - MATAGCDECAY / (1 + f * f); + *adapt_lpr_gain = (1 - f) * *adapt_lpr_gain + f * lpr_gain; + *adapt_lmr_gain = (1 - f) * *adapt_lmr_gain + f * lmr_gain; + /* Matrix */ + lpr_agc = lpr * passive_lock(*adapt_lpr_gain); + lmr_agc = lmr * passive_lock(*adapt_lmr_gain); + lf[k] = (lpr_agc + lmr_agc) * (float)M_SQRT1_2; + rf[k] = (lpr_agc - lmr_agc) * (float)M_SQRT1_2; + + /*** CENTER FRONT CANCELLATION ***/ + /* A heuristic approach exploits that Lt + Rt gain contains the + information about Lt, Rt correlation. This effectively reshapes + the front and rear "cones" to concentrate Lt + Rt to C and + introduce Lt - Rt in L, R. */ + /* 0.67677 is the empirical lower bound for lpr_gain. */ + c_gain = 8 * (*adapt_lpr_gain - 0.67677f); + c_gain = c_gain > 0 ? c_gain : 0; + /* c_gain should not be too high, not even reaching full + cancellation (~ 0.50 - 0.55 at current AGC implementation), or + the center will sound too narrow. */ + c_gain = MATCOMPGAIN / (1 + c_gain * c_gain); + c_agc_cfk = c_gain * cf[k]; + lf[k] -= c_agc_cfk; + rf[k] -= c_agc_cfk; + cf[k] += c_agc_cfk + c_agc_cfk; +} + +void dpl2decode(float *samples, int numsamples, float *out) +{ + static const unsigned int FWRDURATION = 240; /* FWR average duration (samples) */ + static const unsigned int cfg_delay = 0; + static const unsigned int fmt_freq = 48000; + static const unsigned int fmt_nchannels = 2; // input channels + + int cur = 0; + + if (olddelay != cfg_delay || oldfreq != fmt_freq) + { + done(); + olddelay = cfg_delay; + oldfreq = fmt_freq; + dlbuflen = std::max(FWRDURATION, (fmt_freq * cfg_delay / 1000)); //+(len7000-1); + cyc_pos = dlbuflen - 1; + fwrbuf_l.resize(dlbuflen); + fwrbuf_r.resize(dlbuflen); + lf.resize(dlbuflen); + rf.resize(dlbuflen); + lr.resize(dlbuflen); + rr.resize(dlbuflen); + cf.resize(dlbuflen); + cr.resize(dlbuflen); + filter_coefs_lfe = calc_coefficients_125Hz_lowpass(fmt_freq); + lfe_pos = 0; + memset(LFE_buf, 0, sizeof(LFE_buf)); + } + + float *in = samples; // Input audio data + float *end = in + numsamples * fmt_nchannels; // Loop end + + while (in < end) + { + const int k = cyc_pos; + + const int fwr_pos = (k + FWRDURATION) % dlbuflen; + /* Update the full wave rectified total amplitude */ + /* Input matrix decoder */ + l_fwr += fabs(in[0]) - fabs(fwrbuf_l[fwr_pos]); + r_fwr += fabs(in[1]) - fabs(fwrbuf_r[fwr_pos]); + lpr_fwr += fabs(in[0] + in[1]) - fabs(fwrbuf_l[fwr_pos] + fwrbuf_r[fwr_pos]); + lmr_fwr += fabs(in[0] - in[1]) - fabs(fwrbuf_l[fwr_pos] - fwrbuf_r[fwr_pos]); + + /* Matrix encoded 2 channel sources */ + fwrbuf_l[k] = in[0]; + fwrbuf_r[k] = in[1]; + matrix_decode(in, k, 0, 1, true, dlbuflen, + l_fwr, r_fwr, + lpr_fwr, lmr_fwr, + &adapt_l_gain, &adapt_r_gain, + &adapt_lpr_gain, &adapt_lmr_gain, + &lf[0], &rf[0], &lr[0], &rr[0], &cf[0]); + + out[cur + 0] = lf[k]; + out[cur + 1] = rf[k]; + out[cur + 2] = cf[k]; + LFE_buf[lfe_pos] = (out[0] + out[1]) / 2; + out[cur + 3] = firfilter(LFE_buf, lfe_pos, len125, len125, filter_coefs_lfe); + lfe_pos++; + if (lfe_pos == len125) + { + lfe_pos = 0; + } + out[cur + 4] = lr[k]; + out[cur + 5] = rr[k]; + // Next sample... + in += 2; + cur += 6; + cyc_pos--; + if (cyc_pos < 0) + { + cyc_pos += dlbuflen; + } + } +} + +void dpl2reset() +{ + olddelay = -1; + oldfreq = 0; + filter_coefs_lfe = NULL; +} diff --git a/Source/Core/AudioCommon/Src/DPL2Decoder.h b/Source/Core/AudioCommon/Src/DPL2Decoder.h new file mode 100644 index 0000000000..eee8fbf15e --- /dev/null +++ b/Source/Core/AudioCommon/Src/DPL2Decoder.h @@ -0,0 +1,24 @@ +// Copyright (C) 2003 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +#ifndef _DPL2DECODER_H_ +#define _DPL2DECODER_H_ + +void dpl2decode(float *samples, int numsamples, float *out); +void dpl2reset(); + +#endif // _DPL2DECODER_H_ diff --git a/Source/Core/AudioCommon/Src/OpenALStream.cpp b/Source/Core/AudioCommon/Src/OpenALStream.cpp index b0c856dcad..8fb1f1b2c5 100644 --- a/Source/Core/AudioCommon/Src/OpenALStream.cpp +++ b/Source/Core/AudioCommon/Src/OpenALStream.cpp @@ -15,10 +15,9 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ -#include - #include "aldlist.h" #include "OpenALStream.h" +#include "DPL2Decoder.h" #if defined HAVE_OPENAL && HAVE_OPENAL @@ -37,8 +36,10 @@ bool OpenALStream::Start() pDeviceList = new ALDeviceList(); if ((pDeviceList) && (pDeviceList->GetNumDevices())) { - char *defDevName = pDeviceList-> \ - GetDeviceName(pDeviceList->GetDefaultDevice()); + char *defDevName = pDeviceList->GetDeviceName(pDeviceList->GetDefaultDevice()); + + WARN_LOG(AUDIO, "Found OpenAL device %s", defDevName); + pDevice = alcOpenDevice(defDevName); if (pDevice) { @@ -52,8 +53,7 @@ bool OpenALStream::Start() else { alcCloseDevice(pDevice); - PanicAlertT("OpenAL: can't create context " - "for device %s", defDevName); + PanicAlertT("OpenAL: can't create context for device %s", defDevName); } } else @@ -67,6 +67,9 @@ bool OpenALStream::Start() PanicAlertT("OpenAL: can't find sound devices"); } + // Initialise DPL2 parameters + dpl2reset(); + soundTouch.clear(); return bReturn; } @@ -76,6 +79,7 @@ void OpenALStream::Stop() threadData = 1; // kick the thread if it's waiting soundSyncEvent.Set(); + mainSyncEvent.Set(); soundTouch.clear(); @@ -141,10 +145,15 @@ void OpenALStream::SoundLoop() alGenSources(1, &uiSource); // Short Silence - memset(sampleBuffer, 0, OAL_MAX_SAMPLES * 4 * OAL_NUM_BUFFERS); + memset(sampleBuffer, 0, OAL_MAX_SAMPLES * SIZE_FLOAT * SURROUND_CHANNELS * OAL_NUM_BUFFERS); memset(realtimeBuffer, 0, OAL_MAX_SAMPLES * 4); for (int i = 0; i < OAL_NUM_BUFFERS; i++) - alBufferData(uiBuffers[i], AL_FORMAT_STEREO16, realtimeBuffer, OAL_MAX_SAMPLES * 4, ulFrequency); + { + if (Core::g_CoreStartupParameter.bDPL2Decoder) + alBufferData(uiBuffers[i], AL_FORMAT_51CHN32, sampleBuffer, OAL_MAX_SAMPLES * SIZE_FLOAT * SURROUND_CHANNELS * OAL_NUM_BUFFERS, ulFrequency); + else + alBufferData(uiBuffers[i], AL_FORMAT_STEREO16, realtimeBuffer, OAL_MAX_SAMPLES * 4, ulFrequency); + } alSourceQueueBuffers(uiSource, OAL_NUM_BUFFERS, uiBuffers); alSourcePlay(uiSource); @@ -166,6 +175,8 @@ void OpenALStream::SoundLoop() soundTouch.setSetting(SETTING_SEEKWINDOW_MS, 28); soundTouch.setSetting(SETTING_OVERLAP_MS, 12); + bool surround_capable = Core::g_CoreStartupParameter.bDPL2Decoder; + while (!threadData) { // num_samples_to_render in this update - depends on SystemTimers::AUDIO_DMA_PERIOD. @@ -201,18 +212,72 @@ void OpenALStream::SoundLoop() soundTouch.setSetting(SETTING_SEQUENCE_MS, (int)(1 / (rate * rate))); soundTouch.setTempo(rate); } - unsigned int nSamples = soundTouch.receiveSamples(sampleBuffer, OAL_MAX_SAMPLES * 2 * OAL_NUM_BUFFERS); + unsigned int nSamples = soundTouch.receiveSamples(sampleBuffer, OAL_MAX_SAMPLES * SIZE_FLOAT * SURROUND_CHANNELS * OAL_NUM_BUFFERS); if (nSamples > 0) { // Remove the Buffer from the Queue. (uiBuffer contains the Buffer ID for the unqueued Buffer) if (iBuffersFilled == 0) + { alSourceUnqueueBuffers(uiSource, iBuffersProcessed, uiBufferTemp); - alBufferData(uiBufferTemp[iBuffersFilled], AL_FORMAT_STEREO16, sampleBuffer, nSamples * 4, ulFrequency); + ALenum err = alGetError(); + if (err != 0) + { + ERROR_LOG(AUDIO, "Error unqueuing buffers: %08x", err); + } + } +#if defined(__APPLE__) + // OSX does not have the alext AL_FORMAT_51CHN32 yet. + surround_capable = false; +#else + if (surround_capable) + { + // Convert the samples from short to float for the dpl2 decoder + float dest[OAL_MAX_SAMPLES * 2 * OAL_NUM_BUFFERS]; + for (u32 i = 0; i < nSamples; ++i) + { + dest[i * 2 + 0] = (float)sampleBuffer[i * 2 + 0] / (1<<16); + dest[i * 2 + 1] = (float)sampleBuffer[i * 2 + 1] / (1<<16); + } + + float dpl2[OAL_MAX_SAMPLES * SIZE_FLOAT * SURROUND_CHANNELS * OAL_NUM_BUFFERS]; + dpl2decode(dest, nSamples, dpl2); + + alBufferData(uiBufferTemp[iBuffersFilled], AL_FORMAT_51CHN32, dpl2, nSamples * SIZE_FLOAT * SURROUND_CHANNELS, ulFrequency); + ALenum err = alGetError(); + if (err == AL_INVALID_ENUM) + { + // 5.1 is not supported by the host, fallback to stereo + WARN_LOG(AUDIO, "Unable set 5.1 surround mode. Updating OpenAL Soft might fix this issue."); + surround_capable = false; + } + else if (err != 0) + { + ERROR_LOG(AUDIO, "Error occurred while buffering data: %08x", err); + } + } +#endif + if (!surround_capable) + { + alBufferData(uiBufferTemp[iBuffersFilled], AL_FORMAT_STEREO16, sampleBuffer, nSamples * 2 * 2, ulFrequency); + } + alSourceQueueBuffers(uiSource, 1, &uiBufferTemp[iBuffersFilled]); + ALenum err = alGetError(); + if (err != 0) + { + ERROR_LOG(AUDIO, "Error queuing buffers: %08x", err); + } iBuffersFilled++; if (iBuffersFilled == OAL_NUM_BUFFERS) + { alSourcePlay(uiSource); + ALenum err = alGetError(); + if (err != 0) + { + ERROR_LOG(AUDIO, "Error occurred during playback: %08x", err); + } + } } } else diff --git a/Source/Core/AudioCommon/Src/OpenALStream.h b/Source/Core/AudioCommon/Src/OpenALStream.h index c775d31cf2..b342e0a49e 100644 --- a/Source/Core/AudioCommon/Src/OpenALStream.h +++ b/Source/Core/AudioCommon/Src/OpenALStream.h @@ -26,12 +26,14 @@ #ifdef _WIN32 #include #include +#include #elif defined __APPLE__ #include #include #else #include #include +#include #endif #include "Core.h" @@ -44,6 +46,8 @@ #define SFX_MAX_SOURCE 1 #define OAL_NUM_BUFFERS 16 #define OAL_MAX_SAMPLES 512 +#define SURROUND_CHANNELS 6 // number of channels in surround mode +#define SIZE_FLOAT 4 // size of a float in bytes #endif class OpenALStream: public SoundStream @@ -72,7 +76,7 @@ private: Common::Event mainSyncEvent; short realtimeBuffer[OAL_MAX_SAMPLES * 2]; - soundtouch::SAMPLETYPE sampleBuffer[OAL_MAX_SAMPLES * 2 * OAL_NUM_BUFFERS]; + soundtouch::SAMPLETYPE sampleBuffer[OAL_MAX_SAMPLES * SIZE_FLOAT * SURROUND_CHANNELS * OAL_NUM_BUFFERS]; ALuint uiBuffers[OAL_NUM_BUFFERS]; ALuint uiSource; ALfloat fVolume; diff --git a/Source/Core/Core/Src/ConfigManager.cpp b/Source/Core/Core/Src/ConfigManager.cpp index 180e6c981d..d4b79774ef 100644 --- a/Source/Core/Core/Src/ConfigManager.cpp +++ b/Source/Core/Core/Src/ConfigManager.cpp @@ -227,6 +227,7 @@ void SConfig::SaveSettings() ini.Set("Core", "Apploader", m_LocalCoreStartupParameter.m_strApploader); ini.Set("Core", "EnableCheats", m_LocalCoreStartupParameter.bEnableCheats); ini.Set("Core", "SelectedLanguage", m_LocalCoreStartupParameter.SelectedLanguage); + ini.Set("Core", "DPL2Decoder", m_LocalCoreStartupParameter.bDPL2Decoder); ini.Set("Core", "MemcardA", m_strMemoryCardA); ini.Set("Core", "MemcardB", m_strMemoryCardB); ini.Set("Core", "SlotA", m_EXIDevice[0]); @@ -367,6 +368,7 @@ void SConfig::LoadSettings() ini.Get("Core", "Apploader", &m_LocalCoreStartupParameter.m_strApploader); ini.Get("Core", "EnableCheats", &m_LocalCoreStartupParameter.bEnableCheats, false); ini.Get("Core", "SelectedLanguage", &m_LocalCoreStartupParameter.SelectedLanguage, 0); + ini.Get("Core", "DPL2Decoder", &m_LocalCoreStartupParameter.bDPL2Decoder, true); ini.Get("Core", "MemcardA", &m_strMemoryCardA); ini.Get("Core", "MemcardB", &m_strMemoryCardB); ini.Get("Core", "SlotA", (int*)&m_EXIDevice[0], EXIDEVICE_MEMORYCARD); diff --git a/Source/Core/Core/Src/CoreParameter.cpp b/Source/Core/Core/Src/CoreParameter.cpp index dee2452cb3..64a3fc54d8 100644 --- a/Source/Core/Core/Src/CoreParameter.cpp +++ b/Source/Core/Core/Src/CoreParameter.cpp @@ -49,6 +49,7 @@ SCoreStartupParameter::SCoreStartupParameter() bEnableCheats(false), bMergeBlocks(false), bRunCompareServer(false), bRunCompareClient(false), + bDPL2Decoder(true), bMMU(false), bMMUBAT(false), iTLBHack(0), bVBeam(false), bFastDiscSpeed(false), SelectedLanguage(0), bWii(false), bDisableWiimoteSpeaker(false), @@ -84,6 +85,7 @@ void SCoreStartupParameter::LoadDefaults() bMergeBlocks = false; SelectedLanguage = 0; bWii = false; + bDPL2Decoder = true; iPosX = 100; iPosY = 100; diff --git a/Source/Core/Core/Src/CoreParameter.h b/Source/Core/Core/Src/CoreParameter.h index e67935906b..b67bf24b20 100644 --- a/Source/Core/Core/Src/CoreParameter.h +++ b/Source/Core/Core/Src/CoreParameter.h @@ -107,6 +107,8 @@ struct SCoreStartupParameter bool bEnableCheats; bool bMergeBlocks; + bool bDPL2Decoder; + bool bRunCompareServer; bool bRunCompareClient; diff --git a/Source/Core/DolphinWX/Src/ConfigMain.cpp b/Source/Core/DolphinWX/Src/ConfigMain.cpp index ce4cd9cb22..9f38c5db69 100644 --- a/Source/Core/DolphinWX/Src/ConfigMain.cpp +++ b/Source/Core/DolphinWX/Src/ConfigMain.cpp @@ -120,6 +120,7 @@ EVT_RADIOBOX(ID_DSPENGINE, CConfigMain::AudioSettingsChanged) EVT_CHECKBOX(ID_DSPTHREAD, CConfigMain::AudioSettingsChanged) EVT_CHECKBOX(ID_ENABLE_THROTTLE, CConfigMain::AudioSettingsChanged) EVT_CHECKBOX(ID_DUMP_AUDIO, CConfigMain::AudioSettingsChanged) +EVT_CHECKBOX(ID_DPL2DECODER, CConfigMain::AudioSettingsChanged) EVT_CHOICE(ID_FREQUENCY, CConfigMain::AudioSettingsChanged) EVT_CHOICE(ID_BACKEND, CConfigMain::AudioSettingsChanged) EVT_SLIDER(ID_VOLUME, CConfigMain::AudioSettingsChanged) @@ -363,6 +364,7 @@ void CConfigMain::InitializeGUIValues() VolumeText->SetLabel(wxString::Format(wxT("%d %%"), ac_Config.m_Volume)); DSPThread->SetValue(startup_params.bDSPThread); DumpAudio->SetValue(ac_Config.m_DumpAudio ? true : false); + DPL2Decoder->SetValue(startup_params.bDPL2Decoder); FrequencySelection->SetSelection( FrequencySelection->FindString(wxString::Format(_("%d Hz"), ac_Config.iFrequency))); // add backends to the list @@ -517,6 +519,14 @@ void CConfigMain::InitializeGUITooltips() // Wii - Devices WiiKeyboard->SetToolTip(_("This could cause slow down in Wii Menu and some games.")); + +#if defined(__APPLE__) + DPL2Decoder->SetToolTip(_("Enables Dolby Pro Logic II emulation using 5.1 surround. Not available on OSX.")); +#elif defined(__linux__) + DPL2Decoder->SetToolTip(_("Enables Dolby Pro Logic II emulation using 5.1 surround. OpenAL backend only.")); +#elif defined(_WIN32) + DPL2Decoder->SetToolTip(_("Enables Dolby Pro Logic II emulation using 5.1 surround. OpenAL backend only. May need to rename soft_oal.dll to OpenAL32.dll to make it work.")); +#endif } void CConfigMain::CreateGUIControls() @@ -613,6 +623,7 @@ void CConfigMain::CreateGUIControls() DSPThread = new wxCheckBox(AudioPage, ID_DSPTHREAD, _("DSP LLE on Thread")); DumpAudio = new wxCheckBox(AudioPage, ID_DUMP_AUDIO, _("Dump Audio"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + DPL2Decoder = new wxCheckBox(AudioPage, ID_DPL2DECODER, _("Dolby Pro Logic II decoder")); VolumeSlider = new wxSlider(AudioPage, ID_VOLUME, 0, 1, 100, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL|wxSL_INVERSE); VolumeText = new wxStaticText(AudioPage, wxID_ANY, wxT(""), @@ -634,6 +645,7 @@ void CConfigMain::CreateGUIControls() sbAudioSettings->Add(DSPEngine, 0, wxALL | wxEXPAND, 5); sbAudioSettings->Add(DSPThread, 0, wxALL, 5); sbAudioSettings->Add(DumpAudio, 0, wxALL, 5); + sbAudioSettings->Add(DPL2Decoder, 0, wxALL, 5); wxStaticBoxSizer *sbVolume = new wxStaticBoxSizer(wxVERTICAL, AudioPage, _("Volume")); sbVolume->Add(VolumeSlider, 1, wxLEFT|wxRIGHT, 13); @@ -927,6 +939,10 @@ void CConfigMain::AudioSettingsChanged(wxCommandEvent& event) SConfig::GetInstance().m_LocalCoreStartupParameter.bDSPThread = DSPThread->IsChecked(); break; + case ID_DPL2DECODER: + SConfig::GetInstance().m_LocalCoreStartupParameter.bDPL2Decoder = DPL2Decoder->IsChecked(); + break; + case ID_BACKEND: VolumeSlider->Enable(SupportsVolumeChanges(std::string(BackendSelection->GetStringSelection().mb_str()))); ac_Config.sBackend = BackendSelection->GetStringSelection().mb_str(); diff --git a/Source/Core/DolphinWX/Src/ConfigMain.h b/Source/Core/DolphinWX/Src/ConfigMain.h index 9b5dbf4243..01a85fabeb 100644 --- a/Source/Core/DolphinWX/Src/ConfigMain.h +++ b/Source/Core/DolphinWX/Src/ConfigMain.h @@ -79,6 +79,7 @@ private: ID_ENABLE_HLE_AUDIO, ID_ENABLE_THROTTLE, ID_DUMP_AUDIO, + ID_DPL2DECODER, ID_FREQUENCY, ID_BACKEND, ID_VOLUME, @@ -157,6 +158,7 @@ private: wxSlider* VolumeSlider; wxStaticText* VolumeText; wxCheckBox* DumpAudio; + wxCheckBox* DPL2Decoder; wxArrayString wxArrayBackends; wxChoice* BackendSelection; wxChoice* FrequencySelection;