diff --git a/Source/OpenTK/OpenAL/EfxFunctions.cs b/Source/OpenTK/OpenAL/EfxFunctions.cs new file mode 100644 index 00000000..3c19a6ba --- /dev/null +++ b/Source/OpenTK/OpenAL/EfxFunctions.cs @@ -0,0 +1,109 @@ +#region --- OpenTK.OpenAL License --- +/* EfxFunctions.cs + * C headers: \OpenAL 1.1 SDK\include\ "efx.h", "efx-creative.h", "Efx-Util.h" + * Spec: Effects Extension Guide.pdf (bundled with OpenAL SDK) + * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos + * See license.txt for license details + * http://www.OpenTK.net */ +#endregion + +using System; +using System.Runtime.InteropServices; + +namespace OpenTK.OpenAL +{ + public partial class Efx + { + /** + * Effect object functions. + */ + + /* Create Effect objects. */ + // typedef void (__cdecl *LPALGENEFFECTS)( ALsizei n, ALuint* effects ); + unsafe private delegate void alGenEffects(int n, [Out] uint* effects); + + /* Delete Effect objects. */ + // typedef void (__cdecl *LPALDELETEEFFECTS)( ALsizei n, ALuint* effects ); + unsafe private delegate void alDeleteEffects(int n, [In] uint* effects); + + /* Verify a handle is a valid Effect. */ + // typedef ALboolean (__cdecl *LPALISEFFECT)( ALuint eid ); + public delegate AL.Bool alIsEffect(uint eid); + + /* 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 ); + + /* 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 ); + + /* 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 ); + + /* 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 ); + + + /** + * Filter object functions + */ + + /* Create Filter objects. */ + // typedef void (__cdecl *LPALGENFILTERS)( ALsizei n, ALuint* filters ); + + /* Delete Filter objects. */ + // typedef void (__cdecl *LPALDELETEFILTERS)( ALsizei n, ALuint* filters ); + + /* Verify a handle is a valid Filter. */ + // typedef ALboolean (__cdecl *LPALISFILTER)( ALuint fid ); + + /* 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 ); + + /* 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 ); + + /* 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 ); + + /* 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 ); + + + /** + * Auxiliary Slot object functions + */ + + /* Create Auxiliary Slot objects. */ + // typedef void (__cdecl *LPALGENAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); + + /* Delete Auxiliary Slot objects. */ + // typedef void (__cdecl *LPALDELETEAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); + + /* Verify a handle is a valid Auxiliary Slot. */ + // typedef ALboolean (__cdecl *LPALISAUXILIARYEFFECTSLOT)( ALuint slot ); + + /* 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 ); + + /* 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 ); + + /* 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 ); + + /* 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 ); + } +} diff --git a/Source/OpenTK/OpenAL/EfxPresets.cs b/Source/OpenTK/OpenAL/EfxPresets.cs new file mode 100644 index 00000000..d264dd5d --- /dev/null +++ b/Source/OpenTK/OpenAL/EfxPresets.cs @@ -0,0 +1,419 @@ +#region --- OpenTK.OpenAL License --- +/* EfxPresets.cs + * C headers: \OpenAL 1.1 SDK\include\ "efx.h", "efx-creative.h", "Efx-Util.h" + * Spec: Effects Extension Guide.pdf (bundled with OpenAL SDK) + * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos + * See license.txt for license details + * http://www.OpenTK.net */ +#endregion + +using System; + +using OpenTK.Math; + +namespace OpenTK.OpenAL +{ + public partial class Efx + { + public struct _EAXREVERBPROPERTIES + { + uint ulEnvironment; + float flEnvironmentSize; + float flEnvironmentDiffusion; + int lRoom; + int lRoomHF; + int lRoomLF; + float flDecayTime; + float flDecayHFRatio; + float flDecayLFRatio; + int lReflections; + float flReflectionsDelay; + Vector3 vReflectionsPan; + int lReverb; + float flReverbDelay; + Vector3 vReverbPan; + float flEchoTime; + float flEchoDepth; + float flModulationTime; + float flModulationDepth; + float flAirAbsorptionHF; + float flHFReference; + float flLFReference; + float flRoomRolloffFactor; + uint ulFlags; + } + _EAXREVERBPROPERTIES EAXREVERBPROPERTIES; //, *LPEAXREVERBPROPERTIES; + + + public struct _EFXEAXREVERBPROPERTIES + { + float flDensity; + float flDiffusion; + float flGain; + float flGainHF; + float flGainLF; + float flDecayTime; + float flDecayHFRatio; + float flDecayLFRatio; + float flReflectionsGain; + float flReflectionsDelay; + Vector3 flReflectionsPan; + float flLateReverbGain; + float flLateReverbDelay; + Vector3 flLateReverbPan; + float flEchoTime; + float flEchoDepth; + float flModulationTime; + float flModulationDepth; + float flAirAbsorptionGainHF; + float flHFReference; + float flLFReference; + float flRoomRolloffFactor; + int iDecayHFLimit; + } + _EFXEAXREVERBPROPERTIES EFXEAXREVERBPROPERTIES;//, *LPEFXEAXREVERBPROPERTIES; + + + public struct _EAXOBSTRUCTIONPROPERTIES + { + int lObstruction; + float flObstructionLFRatio; + } + _EAXOBSTRUCTIONPROPERTIES EAXOBSTRUCTIONPROPERTIES;//, *LPEAXOBSTRUCTIONPROPERTIES; + + + public struct _EAXOCCLUSIONPROPERTIES + { + int lOcclusion; + float flOcclusionLFRatio; + float flOcclusionRoomRatio; + float flOcclusionDirectRatio; + } + _EAXOCCLUSIONPROPERTIES EAXOCCLUSIONPROPERTIES;//, *LPEAXOCCLUSIONPROPERTIES; + + + public struct _EAXEXCLUSIONPROPERTIES + { + int lExclusion; + float flExclusionLFRatio; + } + _EAXEXCLUSIONPROPERTIES EAXEXCLUSIONPROPERTIES;//, *LPEAXEXCLUSIONPROPERTIES; + + + public struct _EFXLOWPASSFILTER + { + float flGain; + float flGainHF; + } + _EFXLOWPASSFILTER EFXLOWPASSFILTER;//, *LPEFXLOWPASSFILTER; + + /* + void ConvertReverbParameters(EAXREVERBPROPERTIES *pEAXProp, EFXEAXREVERBPROPERTIES *pEFXEAXReverb); + void ConvertObstructionParameters(EAXOBSTRUCTIONPROPERTIES *pObProp, EFXLOWPASSFILTER *pDirectLowPassFilter); + void ConvertExclusionParameters(EAXEXCLUSIONPROPERTIES *pExProp, EFXLOWPASSFILTER *pSendLowPassFilter); + void ConvertOcclusionParameters(EAXOCCLUSIONPROPERTIES *pOcProp, EFXLOWPASSFILTER *pDirectLowPassFilter, EFXLOWPASSFILTER *pSendLowPassFilter); + */ + + /***********************************************************************************************\ + * + * EAX Reverb Presets in legacy format - use ConvertReverbParameters() to convert to + * EFX EAX Reverb Presets for use with the OpenAL Effects Extension. + * + ************************************************************************************************/ + /* + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_GENERIC \ + {0, 7.5f, 1.000f, -1000, -100, 0, 1.49f, 0.83f, 1.00f, -2602, 0.007f, 0.00f,0.00f,0.00f, 200, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_PADDEDCELL \ + {1, 1.4f, 1.000f, -1000, -6000, 0, 0.17f, 0.10f, 1.00f, -1204, 0.001f, 0.00f,0.00f,0.00f, 207, 0.002f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_ROOM \ + {2, 1.9f, 1.000f, -1000, -454, 0, 0.40f, 0.83f, 1.00f, -1646, 0.002f, 0.00f,0.00f,0.00f, 53, 0.003f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_BATHROOM \ + {3, 1.4f, 1.000f, -1000, -1200, 0, 1.49f, 0.54f, 1.00f, -370, 0.007f, 0.00f,0.00f,0.00f, 1030, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_LIVINGROOM \ + {4, 2.5f, 1.000f, -1000, -6000, 0, 0.50f, 0.10f, 1.00f, -1376, 0.003f, 0.00f,0.00f,0.00f, -1104, 0.004f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_STONEROOM \ + {5, 11.6f, 1.000f, -1000, -300, 0, 2.31f, 0.64f, 1.00f, -711, 0.012f, 0.00f,0.00f,0.00f, 83, 0.017f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_AUDITORIUM \ + {6, 21.6f, 1.000f, -1000, -476, 0, 4.32f, 0.59f, 1.00f, -789, 0.020f, 0.00f,0.00f,0.00f, -289, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_CONCERTHALL \ + {7, 19.6f, 1.000f, -1000, -500, 0, 3.92f, 0.70f, 1.00f, -1230, 0.020f, 0.00f,0.00f,0.00f, -02, 0.029f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_CAVE \ + {8, 14.6f, 1.000f, -1000, 0, 0, 2.91f, 1.30f, 1.00f, -602, 0.015f, 0.00f,0.00f,0.00f, -302, 0.022f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } + #define REVERB_PRESET_ARENA \ + {9, 36.2f, 1.000f, -1000, -698, 0, 7.24f, 0.33f, 1.00f, -1166, 0.020f, 0.00f,0.00f,0.00f, 16, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_HANGAR \ + {10, 50.3f, 1.000f, -1000, -1000, 0, 10.05f, 0.23f, 1.00f, -602, 0.020f, 0.00f,0.00f,0.00f, 198, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_CARPETTEDHALLWAY \ + {11, 1.9f, 1.000f, -1000, -4000, 0, 0.30f, 0.10f, 1.00f, -1831, 0.002f, 0.00f,0.00f,0.00f, -1630, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_HALLWAY \ + {12, 1.8f, 1.000f, -1000, -300, 0, 1.49f, 0.59f, 1.00f, -1219, 0.007f, 0.00f,0.00f,0.00f, 441, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_STONECORRIDOR \ + {13, 13.5f, 1.000f, -1000, -237, 0, 2.70f, 0.79f, 1.00f, -1214, 0.013f, 0.00f,0.00f,0.00f, 395, 0.020f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_ALLEY \ + {14, 7.5f, 0.300f, -1000, -270, 0, 1.49f, 0.86f, 1.00f, -1204, 0.007f, 0.00f,0.00f,0.00f, -4, 0.011f, 0.00f,0.00f,0.00f, 0.125f, 0.950f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_FOREST \ + {15, 38.0f, 0.300f, -1000, -3300, 0, 1.49f, 0.54f, 1.00f, -2560, 0.162f, 0.00f,0.00f,0.00f, -229, 0.088f, 0.00f,0.00f,0.00f, 0.125f, 1.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_CITY \ + {16, 7.5f, 0.500f, -1000, -800, 0, 1.49f, 0.67f, 1.00f, -2273, 0.007f, 0.00f,0.00f,0.00f, -1691, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_MOUNTAINS \ + {17, 100.0f, 0.270f, -1000, -2500, 0, 1.49f, 0.21f, 1.00f, -2780, 0.300f, 0.00f,0.00f,0.00f, -1434, 0.100f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } + #define REVERB_PRESET_QUARRY \ + {18, 17.5f, 1.000f, -1000, -1000, 0, 1.49f, 0.83f, 1.00f, -10000, 0.061f, 0.00f,0.00f,0.00f, 500, 0.025f, 0.00f,0.00f,0.00f, 0.125f, 0.700f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_PLAIN \ + {19, 42.5f, 0.210f, -1000, -2000, 0, 1.49f, 0.50f, 1.00f, -2466, 0.179f, 0.00f,0.00f,0.00f, -1926, 0.100f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_PARKINGLOT \ + {20, 8.3f, 1.000f, -1000, 0, 0, 1.65f, 1.50f, 1.00f, -1363, 0.008f, 0.00f,0.00f,0.00f, -1153, 0.012f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } + #define REVERB_PRESET_SEWERPIPE \ + {21, 1.7f, 0.800f, -1000, -1000, 0, 2.81f, 0.14f, 1.00f, 429, 0.014f, 0.00f,0.00f,0.00f, 1023, 0.021f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_UNDERWATER \ + {22, 1.8f, 1.000f, -1000, -4000, 0, 1.49f, 0.10f, 1.00f, -449, 0.007f, 0.00f,0.00f,0.00f, 1700, 0.011f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 1.180f, 0.348f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_DRUGGED \ + {23, 1.9f, 0.500f, -1000, 0, 0, 8.39f, 1.39f, 1.00f, -115, 0.002f, 0.00f,0.00f,0.00f, 985, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 1.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } + #define REVERB_PRESET_DIZZY \ + {24, 1.8f, 0.600f, -1000, -400, 0, 17.23f, 0.56f, 1.00f, -1713, 0.020f, 0.00f,0.00f,0.00f, -613, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.810f, 0.310f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } + #define REVERB_PRESET_PSYCHOTIC \ + {25, 1.0f, 0.500f, -1000, -151, 0, 7.56f, 0.91f, 1.00f, -626, 0.020f, 0.00f,0.00f,0.00f, 774, 0.030f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 4.000f, 1.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } + + + // CASTLE PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_CASTLE_SMALLROOM \ + { 26, 8.3f, 0.890f, -1000, -800, -2000, 1.22f, 0.83f, 0.31f, -100, 0.022f, 0.00f,0.00f,0.00f, 600, 0.011f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } + #define REVERB_PRESET_CASTLE_SHORTPASSAGE \ + { 26, 8.3f, 0.890f, -1000, -1000, -2000, 2.32f, 0.83f, 0.31f, -100, 0.007f, 0.00f,0.00f,0.00f, 200, 0.023f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } + #define REVERB_PRESET_CASTLE_MEDIUMROOM \ + { 26, 8.3f, 0.930f, -1000, -1100, -2000, 2.04f, 0.83f, 0.46f, -400, 0.022f, 0.00f,0.00f,0.00f, 400, 0.011f, 0.00f,0.00f,0.00f, 0.155f, 0.030f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } + #define REVERB_PRESET_CASTLE_LONGPASSAGE \ + { 26, 8.3f, 0.890f, -1000, -800, -2000, 3.42f, 0.83f, 0.31f, -100, 0.007f, 0.00f,0.00f,0.00f, 300, 0.023f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } + #define REVERB_PRESET_CASTLE_LARGEROOM \ + { 26, 8.3f, 0.820f, -1000, -1100, -1800, 2.53f, 0.83f, 0.50f, -700, 0.034f, 0.00f,0.00f,0.00f, 200, 0.016f, 0.00f,0.00f,0.00f, 0.185f, 0.070f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } + #define REVERB_PRESET_CASTLE_HALL \ + { 26, 8.3f, 0.810f, -1000, -1100, -1500, 3.14f, 0.79f, 0.62f, -1500, 0.056f, 0.00f,0.00f,0.00f, 100, 0.024f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } + #define REVERB_PRESET_CASTLE_CUPBOARD \ + { 26, 8.3f, 0.890f, -1000, -1100, -2000, 0.67f, 0.87f, 0.31f, 300, 0.010f, 0.00f,0.00f,0.00f, 1100, 0.007f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } + #define REVERB_PRESET_CASTLE_COURTYARD \ + { 26, 8.3f, 0.420f, -1000, -700, -1400, 2.13f, 0.61f, 0.23f, -1300, 0.160f, 0.00f,0.00f,0.00f, -300, 0.036f, 0.00f,0.00f,0.00f, 0.250f, 0.370f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } + #define REVERB_PRESET_CASTLE_ALCOVE \ + { 26, 8.3f, 0.890f, -1000, -600, -2000, 1.64f, 0.87f, 0.31f, 00, 0.007f, 0.00f,0.00f,0.00f, 300, 0.034f, 0.00f,0.00f,0.00f, 0.138f, 0.080f, 0.250f, 0.000f, -5.0f, 5168.6f, 139.5f, 0.00f, 0x20 } + + + // FACTORY PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_FACTORY_ALCOVE \ + { 26, 1.8f, 0.590f, -1200, -200, -600, 3.14f, 0.65f, 1.31f, 300, 0.010f, 0.00f,0.00f,0.00f, 000, 0.038f, 0.00f,0.00f,0.00f, 0.114f, 0.100f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } + #define REVERB_PRESET_FACTORY_SHORTPASSAGE \ + { 26, 1.8f, 0.640f, -1200, -200, -600, 2.53f, 0.65f, 1.31f, 0, 0.010f, 0.00f,0.00f,0.00f, 200, 0.038f, 0.00f,0.00f,0.00f, 0.135f, 0.230f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } + #define REVERB_PRESET_FACTORY_MEDIUMROOM \ + { 26, 1.9f, 0.820f, -1200, -200, -600, 2.76f, 0.65f, 1.31f, -1100, 0.022f, 0.00f,0.00f,0.00f, 300, 0.023f, 0.00f,0.00f,0.00f, 0.174f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } + #define REVERB_PRESET_FACTORY_LONGPASSAGE \ + { 26, 1.8f, 0.640f, -1200, -200, -600, 4.06f, 0.65f, 1.31f, 0, 0.020f, 0.00f,0.00f,0.00f, 200, 0.037f, 0.00f,0.00f,0.00f, 0.135f, 0.230f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } + #define REVERB_PRESET_FACTORY_LARGEROOM \ + { 26, 1.9f, 0.750f, -1200, -300, -400, 4.24f, 0.51f, 1.31f, -1500, 0.039f, 0.00f,0.00f,0.00f, 100, 0.023f, 0.00f,0.00f,0.00f, 0.231f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } + #define REVERB_PRESET_FACTORY_HALL \ + { 26, 1.9f, 0.750f, -1000, -300, -400, 7.43f, 0.51f, 1.31f, -2400, 0.073f, 0.00f,0.00f,0.00f, -100, 0.027f, 0.00f,0.00f,0.00f, 0.250f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } + #define REVERB_PRESET_FACTORY_CUPBOARD \ + { 26, 1.7f, 0.630f, -1200, -200, -600, 0.49f, 0.65f, 1.31f, 200, 0.010f, 0.00f,0.00f,0.00f, 600, 0.032f, 0.00f,0.00f,0.00f, 0.107f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } + #define REVERB_PRESET_FACTORY_COURTYARD \ + { 26, 1.7f, 0.570f, -1000, -1000, -400, 2.32f, 0.29f, 0.56f, -1300, 0.140f, 0.00f,0.00f,0.00f, -800, 0.039f, 0.00f,0.00f,0.00f, 0.250f, 0.290f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } + #define REVERB_PRESET_FACTORY_SMALLROOM \ + { 26, 1.8f, 0.820f, -1000, -200, -600, 1.72f, 0.65f, 1.31f, -300, 0.010f, 0.00f,0.00f,0.00f, 500, 0.024f, 0.00f,0.00f,0.00f, 0.119f, 0.070f, 0.250f, 0.000f, -5.0f, 3762.6f, 362.5f, 0.00f, 0x20 } + + + // ICE PALACE PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_ICEPALACE_ALCOVE \ + { 26, 2.7f, 0.840f, -1000, -500, -1100, 2.76f, 1.46f, 0.28f, 100, 0.010f, 0.00f,0.00f,0.00f, -100, 0.030f, 0.00f,0.00f,0.00f, 0.161f, 0.090f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } + #define REVERB_PRESET_ICEPALACE_SHORTPASSAGE \ + { 26, 2.7f, 0.750f, -1000, -500, -1100, 1.79f, 1.46f, 0.28f, -600, 0.010f, 0.00f,0.00f,0.00f, 100, 0.019f, 0.00f,0.00f,0.00f, 0.177f, 0.090f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } + #define REVERB_PRESET_ICEPALACE_MEDIUMROOM \ + { 26, 2.7f, 0.870f, -1000, -500, -700, 2.22f, 1.53f, 0.32f, -800, 0.039f, 0.00f,0.00f,0.00f, 100, 0.027f, 0.00f,0.00f,0.00f, 0.186f, 0.120f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } + #define REVERB_PRESET_ICEPALACE_LONGPASSAGE \ + { 26, 2.7f, 0.770f, -1000, -500, -800, 3.01f, 1.46f, 0.28f, -200, 0.012f, 0.00f,0.00f,0.00f, 200, 0.025f, 0.00f,0.00f,0.00f, 0.186f, 0.040f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } + #define REVERB_PRESET_ICEPALACE_LARGEROOM \ + { 26, 2.9f, 0.810f, -1000, -500, -700, 3.14f, 1.53f, 0.32f, -1200, 0.039f, 0.00f,0.00f,0.00f, 000, 0.027f, 0.00f,0.00f,0.00f, 0.214f, 0.110f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } + #define REVERB_PRESET_ICEPALACE_HALL \ + { 26, 2.9f, 0.760f, -1000, -700, -500, 5.49f, 1.53f, 0.38f, -1900, 0.054f, 0.00f,0.00f,0.00f, -400, 0.052f, 0.00f,0.00f,0.00f, 0.226f, 0.110f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } + #define REVERB_PRESET_ICEPALACE_CUPBOARD \ + { 26, 2.7f, 0.830f, -1000, -600, -1300, 0.76f, 1.53f, 0.26f, 100, 0.012f, 0.00f,0.00f,0.00f, 600, 0.016f, 0.00f,0.00f,0.00f, 0.143f, 0.080f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } + #define REVERB_PRESET_ICEPALACE_COURTYARD \ + { 26, 2.9f, 0.590f, -1000, -1100, -1000, 2.04f, 1.20f, 0.38f, -1000, 0.173f, 0.00f,0.00f,0.00f, -1000, 0.043f, 0.00f,0.00f,0.00f, 0.235f, 0.480f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } + #define REVERB_PRESET_ICEPALACE_SMALLROOM \ + { 26, 2.7f, 0.840f, -1000, -500, -1100, 1.51f, 1.53f, 0.27f, -100, 0.010f, 0.00f,0.00f,0.00f, 300, 0.011f, 0.00f,0.00f,0.00f, 0.164f, 0.140f, 0.250f, 0.000f, -5.0f, 12428.5f, 99.6f, 0.00f, 0x20 } + + + // SPACE STATION PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_SPACESTATION_ALCOVE \ + { 26, 1.5f, 0.780f, -1000, -300, -100, 1.16f, 0.81f, 0.55f, 300, 0.007f, 0.00f,0.00f,0.00f, 000, 0.018f, 0.00f,0.00f,0.00f, 0.192f, 0.210f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } + #define REVERB_PRESET_SPACESTATION_MEDIUMROOM \ + { 26, 1.5f, 0.750f, -1000, -400, -100, 3.01f, 0.50f, 0.55f, -800, 0.034f, 0.00f,0.00f,0.00f, 100, 0.035f, 0.00f,0.00f,0.00f, 0.209f, 0.310f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } + #define REVERB_PRESET_SPACESTATION_SHORTPASSAGE \ + { 26, 1.5f, 0.870f, -1000, -400, -100, 3.57f, 0.50f, 0.55f, 0, 0.012f, 0.00f,0.00f,0.00f, 100, 0.016f, 0.00f,0.00f,0.00f, 0.172f, 0.200f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } + #define REVERB_PRESET_SPACESTATION_LONGPASSAGE \ + { 26, 1.9f, 0.820f, -1000, -400, -100, 4.62f, 0.62f, 0.55f, 0, 0.012f, 0.00f,0.00f,0.00f, 200, 0.031f, 0.00f,0.00f,0.00f, 0.250f, 0.230f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } + #define REVERB_PRESET_SPACESTATION_LARGEROOM \ + { 26, 1.8f, 0.810f, -1000, -400, -100, 3.89f, 0.38f, 0.61f, -1000, 0.056f, 0.00f,0.00f,0.00f, -100, 0.035f, 0.00f,0.00f,0.00f, 0.233f, 0.280f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } + #define REVERB_PRESET_SPACESTATION_HALL \ + { 26, 1.9f, 0.870f, -1000, -400, -100, 7.11f, 0.38f, 0.61f, -1500, 0.100f, 0.00f,0.00f,0.00f, -400, 0.047f, 0.00f,0.00f,0.00f, 0.250f, 0.250f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } + #define REVERB_PRESET_SPACESTATION_CUPBOARD \ + { 26, 1.4f, 0.560f, -1000, -300, -100, 0.79f, 0.81f, 0.55f, 300, 0.007f, 0.00f,0.00f,0.00f, 500, 0.018f, 0.00f,0.00f,0.00f, 0.181f, 0.310f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } + #define REVERB_PRESET_SPACESTATION_SMALLROOM \ + { 26, 1.5f, 0.700f, -1000, -300, -100, 1.72f, 0.82f, 0.55f, -200, 0.007f, 0.00f,0.00f,0.00f, 300, 0.013f, 0.00f,0.00f,0.00f, 0.188f, 0.260f, 0.250f, 0.000f, -5.0f, 3316.1f, 458.2f, 0.00f, 0x20 } + + + // WOODEN GALLEON PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_WOODEN_ALCOVE \ + { 26, 7.5f, 1.000f, -1000, -1800, -1000, 1.22f, 0.62f, 0.91f, 100, 0.012f, 0.00f,0.00f,0.00f, -300, 0.024f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } + #define REVERB_PRESET_WOODEN_SHORTPASSAGE \ + { 26, 7.5f, 1.000f, -1000, -1800, -1000, 1.75f, 0.50f, 0.87f, -100, 0.012f, 0.00f,0.00f,0.00f, -400, 0.024f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } + #define REVERB_PRESET_WOODEN_MEDIUMROOM \ + { 26, 7.5f, 1.000f, -1000, -2000, -1100, 1.47f, 0.42f, 0.82f, -100, 0.049f, 0.00f,0.00f,0.00f, -100, 0.029f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } + #define REVERB_PRESET_WOODEN_LONGPASSAGE \ + { 26, 7.5f, 1.000f, -1000, -2000, -1000, 1.99f, 0.40f, 0.79f, 000, 0.020f, 0.00f,0.00f,0.00f, -700, 0.036f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } + #define REVERB_PRESET_WOODEN_LARGEROOM \ + { 26, 7.5f, 1.000f, -1000, -2100, -1100, 2.65f, 0.33f, 0.82f, -100, 0.066f, 0.00f,0.00f,0.00f, -200, 0.049f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } + #define REVERB_PRESET_WOODEN_HALL \ + { 26, 7.5f, 1.000f, -1000, -2200, -1100, 3.45f, 0.30f, 0.82f, -100, 0.088f, 0.00f,0.00f,0.00f, -200, 0.063f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } + #define REVERB_PRESET_WOODEN_CUPBOARD \ + { 26, 7.5f, 1.000f, -1000, -1700, -1000, 0.56f, 0.46f, 0.91f, 100, 0.012f, 0.00f,0.00f,0.00f, 100, 0.028f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } + #define REVERB_PRESET_WOODEN_SMALLROOM \ + { 26, 7.5f, 1.000f, -1000, -1900, -1000, 0.79f, 0.32f, 0.87f, 00, 0.032f, 0.00f,0.00f,0.00f, -100, 0.029f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } + #define REVERB_PRESET_WOODEN_COURTYARD \ + { 26, 7.5f, 0.650f, -1000, -2200, -1000, 1.79f, 0.35f, 0.79f, -500, 0.123f, 0.00f,0.00f,0.00f, -2000, 0.032f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 4705.0f, 99.6f, 0.00f, 0x3f } + + + // SPORTS PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_SPORT_EMPTYSTADIUM \ + { 26, 7.2f, 1.000f, -1000, -700, -200, 6.26f, 0.51f, 1.10f, -2400, 0.183f, 0.00f,0.00f,0.00f, -800, 0.038f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } + #define REVERB_PRESET_SPORT_SQUASHCOURT \ + { 26, 7.5f, 0.750f, -1000, -1000, -200, 2.22f, 0.91f, 1.16f, -700, 0.007f, 0.00f,0.00f,0.00f, -200, 0.011f, 0.00f,0.00f,0.00f, 0.126f, 0.190f, 0.250f, 0.000f, -5.0f, 7176.9f, 211.2f, 0.00f, 0x20 } + #define REVERB_PRESET_SPORT_SMALLSWIMMINGPOOL \ + { 26, 36.2f, 0.700f, -1000, -200, -100, 2.76f, 1.25f, 1.14f, -400, 0.020f, 0.00f,0.00f,0.00f, -200, 0.030f, 0.00f,0.00f,0.00f, 0.179f, 0.150f, 0.895f, 0.190f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x0 } + #define REVERB_PRESET_SPORT_LARGESWIMMINGPOOL\ + { 26, 36.2f, 0.820f, -1000, -200, 0, 5.49f, 1.31f, 1.14f, -700, 0.039f, 0.00f,0.00f,0.00f, -600, 0.049f, 0.00f,0.00f,0.00f, 0.222f, 0.550f, 1.159f, 0.210f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x0 } + #define REVERB_PRESET_SPORT_GYMNASIUM \ + { 26, 7.5f, 0.810f, -1000, -700, -100, 3.14f, 1.06f, 1.35f, -800, 0.029f, 0.00f,0.00f,0.00f, -500, 0.045f, 0.00f,0.00f,0.00f, 0.146f, 0.140f, 0.250f, 0.000f, -5.0f, 7176.9f, 211.2f, 0.00f, 0x20 } + #define REVERB_PRESET_SPORT_FULLSTADIUM \ + { 26, 7.2f, 1.000f, -1000, -2300, -200, 5.25f, 0.17f, 0.80f, -2000, 0.188f, 0.00f,0.00f,0.00f, -1100, 0.038f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } + #define REVERB_PRESET_SPORT_STADIUMTANNOY \ + { 26, 3.0f, 0.780f, -1000, -500, -600, 2.53f, 0.88f, 0.68f, -1100, 0.230f, 0.00f,0.00f,0.00f, -600, 0.063f, 0.00f,0.00f,0.00f, 0.250f, 0.200f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } + + + // PREFAB PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_PREFAB_WORKSHOP \ + { 26, 1.9f, 1.000f, -1000, -1700, -800, 0.76f, 1.00f, 1.00f, 0, 0.012f, 0.00f,0.00f,0.00f, 100, 0.012f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x0 } + #define REVERB_PRESET_PREFAB_SCHOOLROOM \ + { 26, 1.86f, 0.690f, -1000, -400, -600, 0.98f, 0.45f, 0.18f, 300, 0.017f, 0.00f,0.00f,0.00f, 300, 0.015f, 0.00f,0.00f,0.00f, 0.095f, 0.140f, 0.250f, 0.000f, -5.0f, 7176.9f, 211.2f, 0.00f, 0x20 } + #define REVERB_PRESET_PREFAB_PRACTISEROOM \ + { 26, 1.86f, 0.870f, -1000, -800, -600, 1.12f, 0.56f, 0.18f, 200, 0.010f, 0.00f,0.00f,0.00f, 300, 0.011f, 0.00f,0.00f,0.00f, 0.095f, 0.140f, 0.250f, 0.000f, -5.0f, 7176.9f, 211.2f, 0.00f, 0x20 } + #define REVERB_PRESET_PREFAB_OUTHOUSE \ + { 26, 80.3f, 0.820f, -1000, -1900, -1600, 1.38f, 0.38f, 0.35f, -100, 0.024f, 0.00f,0.00f,-0.00f, -400, 0.044f, 0.00f,0.00f,0.00f, 0.121f, 0.170f, 0.250f, 0.000f, -5.0f, 2854.4f, 107.5f, 0.00f, 0x0 } + #define REVERB_PRESET_PREFAB_CARAVAN \ + { 26, 8.3f, 1.000f, -1000, -2100, -1800, 0.43f, 1.50f, 1.00f, 0, 0.012f, 0.00f,0.00f,0.00f, 600, 0.012f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x1f } + // for US developers, a caravan is the same as a trailer =o) + + + // DOME AND PIPE PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_DOME_TOMB \ + { 26, 51.8f, 0.790f, -1000, -900, -1300, 4.18f, 0.21f, 0.10f, -825, 0.030f, 0.00f,0.00f,0.00f, 450, 0.022f, 0.00f,0.00f,0.00f, 0.177f, 0.190f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x0 } + #define REVERB_PRESET_PIPE_SMALL \ + { 26, 50.3f, 1.000f, -1000, -900, -1300, 5.04f, 0.10f, 0.10f, -600, 0.032f, 0.00f,0.00f,0.00f, 800, 0.015f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x3f } + #define REVERB_PRESET_DOME_SAINTPAULS \ + { 26, 50.3f, 0.870f, -1000, -900, -1300, 10.48f, 0.19f, 0.10f, -1500, 0.090f, 0.00f,0.00f,0.00f, 200, 0.042f, 0.00f,0.00f,0.00f, 0.250f, 0.120f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x3f } + #define REVERB_PRESET_PIPE_LONGTHIN \ + { 26, 1.6f, 0.910f, -1000, -700, -1100, 9.21f, 0.18f, 0.10f, -300, 0.010f, 0.00f,0.00f,0.00f, -300, 0.022f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x0 } + #define REVERB_PRESET_PIPE_LARGE \ + { 26, 50.3f, 1.000f, -1000, -900, -1300, 8.45f, 0.10f, 0.10f, -800, 0.046f, 0.00f,0.00f,0.00f, 400, 0.032f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x3f } + #define REVERB_PRESET_PIPE_RESONANT \ + { 26, 1.3f, 0.910f, -1000, -700, -1100, 6.81f, 0.18f, 0.10f, -300, 0.010f, 0.00f,0.00f,0.00f, 00, 0.022f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 2854.4f, 20.0f, 0.00f, 0x0 } + + + // OUTDOORS PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_OUTDOORS_BACKYARD \ + { 26, 80.3f, 0.450f, -1000, -1200, -600, 1.12f, 0.34f, 0.46f, -700, 0.069f, 0.00f,0.00f,-0.00f, -300, 0.023f, 0.00f,0.00f,0.00f, 0.218f, 0.340f, 0.250f, 0.000f, -5.0f, 4399.1f, 242.9f, 0.00f, 0x0 } + #define REVERB_PRESET_OUTDOORS_ROLLINGPLAINS \ + { 26, 80.3f, 0.000f, -1000, -3900, -400, 2.13f, 0.21f, 0.46f, -1500, 0.300f, 0.00f,0.00f,-0.00f, -700, 0.019f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -5.0f, 4399.1f, 242.9f, 0.00f, 0x0 } + #define REVERB_PRESET_OUTDOORS_DEEPCANYON \ + { 26, 80.3f, 0.740f, -1000, -1500, -400, 3.89f, 0.21f, 0.46f, -1000, 0.223f, 0.00f,0.00f,-0.00f, -900, 0.019f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -5.0f, 4399.1f, 242.9f, 0.00f, 0x0 } + #define REVERB_PRESET_OUTDOORS_CREEK \ + { 26, 80.3f, 0.350f, -1000, -1500, -600, 2.13f, 0.21f, 0.46f, -800, 0.115f, 0.00f,0.00f,-0.00f, -1400, 0.031f, 0.00f,0.00f,0.00f, 0.218f, 0.340f, 0.250f, 0.000f, -5.0f, 4399.1f, 242.9f, 0.00f, 0x0 } + #define REVERB_PRESET_OUTDOORS_VALLEY \ + { 26, 80.3f, 0.280f, -1000, -3100, -1600, 2.88f, 0.26f, 0.35f, -1700, 0.263f, 0.00f,0.00f,-0.00f, -800, 0.100f, 0.00f,0.00f,0.00f, 0.250f, 0.340f, 0.250f, 0.000f, -5.0f, 2854.4f, 107.5f, 0.00f, 0x0 } + + + // MOOD PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_MOOD_HEAVEN \ + { 26, 19.6f, 0.940f, -1000, -200, -700, 5.04f, 1.12f, 0.56f, -1230, 0.020f, 0.00f,0.00f,0.00f, 200, 0.029f, 0.00f,0.00f,0.00f, 0.250f, 0.080f, 2.742f, 0.050f, -2.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_MOOD_HELL \ + { 26, 100.0f, 0.570f, -1000, -900, -700, 3.57f, 0.49f, 2.00f, -10000, 0.020f, 0.00f,0.00f,0.00f, 300, 0.030f, 0.00f,0.00f,0.00f, 0.110f, 0.040f, 2.109f, 0.520f, -5.0f, 5000.0f, 139.5f, 0.00f, 0x40 } + #define REVERB_PRESET_MOOD_MEMORY \ + { 26, 8.0f, 0.850f, -1000, -400, -900, 4.06f, 0.82f, 0.56f, -2800, 0.000f, 0.00f,0.00f,0.00f, 100, 0.000f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.474f, 0.450f, -10.0f, 5000.0f, 250.0f, 0.00f, 0x0 } + + + // DRIVING SIMULATION PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_DRIVING_COMMENTATOR \ + { 26, 3.0f, 0.000f, 1000, -500, -600, 2.42f, 0.88f, 0.68f, -1400, 0.093f, 0.00f,0.00f,0.00f, -1200, 0.017f, 0.00f,0.00f,0.00f, 0.250f, 1.000f, 0.250f, 0.000f, -10.0f, 5000.0f, 250.0f, 0.00f, 0x20 } + #define REVERB_PRESET_DRIVING_PITGARAGE \ + { 26, 1.9f, 0.590f, -1000, -300, -500, 1.72f, 0.93f, 0.87f, -500, 0.000f, 0.00f,0.00f,0.00f, 200, 0.016f, 0.00f,0.00f,0.00f, 0.250f, 0.110f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x0 } + #define REVERB_PRESET_DRIVING_INCAR_RACER \ + { 26, 1.1f, 0.800f, -1000, 0, -200, 0.17f, 2.00f, 0.41f, 500, 0.007f, 0.00f,0.00f,0.00f, -300, 0.015f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10268.2f, 251.0f, 0.00f, 0x20 } + #define REVERB_PRESET_DRIVING_INCAR_SPORTS \ + { 26, 1.1f, 0.800f, -1000, -400, 0, 0.17f, 0.75f, 0.41f, 0, 0.010f, 0.00f,0.00f,0.00f, -500, 0.000f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10268.2f, 251.0f, 0.00f, 0x20 } + #define REVERB_PRESET_DRIVING_INCAR_LUXURY \ + { 26, 1.6f, 1.000f, -1000, -2000, -600, 0.13f, 0.41f, 0.46f, -200, 0.010f, 0.00f,0.00f,0.00f, 400, 0.010f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10268.2f, 251.0f, 0.00f, 0x20 } + #define REVERB_PRESET_DRIVING_FULLGRANDSTAND \ + { 26, 8.3f, 1.000f, -1000, -1100, -400, 3.01f, 1.37f, 1.28f, -900, 0.090f, 0.00f,0.00f,0.00f, -1500, 0.049f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10420.2f, 250.0f, 0.00f, 0x1f } + #define REVERB_PRESET_DRIVING_EMPTYGRANDSTAND \ + { 26, 8.3f, 1.000f, -1000, 0, -200, 4.62f, 1.75f, 1.40f, -1363, 0.090f, 0.00f,0.00f,0.00f, -1200, 0.049f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.000f, -5.0f, 10420.2f, 250.0f, 0.00f, 0x1f } + #define REVERB_PRESET_DRIVING_TUNNEL \ + { 26, 3.1f, 0.810f, -1000, -800, -100, 3.42f, 0.94f, 1.31f, -300, 0.051f, 0.00f,0.00f,0.00f, -300, 0.047f, 0.00f,0.00f,0.00f, 0.214f, 0.050f, 0.250f, 0.000f, -5.0f, 5000.0f, 155.3f, 0.00f, 0x20 } + + + // CITY PRESETS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_CITY_STREETS \ + { 26, 3.0f, 0.780f, -1000, -300, -100, 1.79f, 1.12f, 0.91f, -1100, 0.046f, 0.00f,0.00f,0.00f, -1400, 0.028f, 0.00f,0.00f,0.00f, 0.250f, 0.200f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } + #define REVERB_PRESET_CITY_SUBWAY \ + { 26, 3.0f, 0.740f, -1000, -300, -100, 3.01f, 1.23f, 0.91f, -300, 0.046f, 0.00f,0.00f,0.00f, 200, 0.028f, 0.00f,0.00f,0.00f, 0.125f, 0.210f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x20 } + #define REVERB_PRESET_CITY_MUSEUM \ + { 26, 80.3f, 0.820f, -1000, -1500, -1500, 3.28f, 1.40f, 0.57f, -1200, 0.039f, 0.00f,0.00f,-0.00f, -100, 0.034f, 0.00f,0.00f,0.00f, 0.130f, 0.170f, 0.250f, 0.000f, -5.0f, 2854.4f, 107.5f, 0.00f, 0x0 } + #define REVERB_PRESET_CITY_LIBRARY \ + { 26, 80.3f, 0.820f, -1000, -1100, -2100, 2.76f, 0.89f, 0.41f, -900, 0.029f, 0.00f,0.00f,-0.00f, -100, 0.020f, 0.00f,0.00f,0.00f, 0.130f, 0.170f, 0.250f, 0.000f, -5.0f, 2854.4f, 107.5f, 0.00f, 0x0 } + #define REVERB_PRESET_CITY_UNDERPASS \ + { 26, 3.0f, 0.820f, -1000, -700, -100, 3.57f, 1.12f, 0.91f, -800, 0.059f, 0.00f,0.00f,0.00f, -100, 0.037f, 0.00f,0.00f,0.00f, 0.250f, 0.140f, 0.250f, 0.000f, -7.0f, 5000.0f, 250.0f, 0.00f, 0x20 } + #define REVERB_PRESET_CITY_ABANDONED \ + { 26, 3.0f, 0.690f, -1000, -200, -100, 3.28f, 1.17f, 0.91f, -700, 0.044f, 0.00f,0.00f,0.00f, -1100, 0.024f, 0.00f,0.00f,0.00f, 0.250f, 0.200f, 0.250f, 0.000f, -3.0f, 5000.0f, 250.0f, 0.00f, 0x20 } + + + // MISC ROOMS + + // Env Size Diffus Room RoomHF RoomLF DecTm DcHF DcLF Refl RefDel Ref Pan Revb RevDel Rev Pan EchTm EchDp ModTm ModDp AirAbs HFRef LFRef RRlOff FLAGS + #define REVERB_PRESET_DUSTYROOM \ + { 26, 1.8f, 0.560f, -1000, -200, -300, 1.79f, 0.38f, 0.21f, -600, 0.002f, 0.00f,0.00f,0.00f, 200, 0.006f, 0.00f,0.00f,0.00f, 0.202f, 0.050f, 0.250f, 0.000f, -10.0f, 13046.0f, 163.3f, 0.00f, 0x20 } + #define REVERB_PRESET_CHAPEL \ + { 26, 19.6f, 0.840f, -1000, -500, 0, 4.62f, 0.64f, 1.23f, -700, 0.032f, 0.00f,0.00f,0.00f, -200, 0.049f, 0.00f,0.00f,0.00f, 0.250f, 0.000f, 0.250f, 0.110f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f } + #define REVERB_PRESET_SMALLWATERROOM \ + { 26, 36.2f, 0.700f, -1000, -698, 0, 1.51f, 1.25f, 1.14f, -100, 0.020f, 0.00f,0.00f,0.00f, 300, 0.030f, 0.00f,0.00f,0.00f, 0.179f, 0.150f, 0.895f, 0.190f, -7.0f, 5000.0f, 250.0f, 0.00f, 0x0 } + */ + } +} diff --git a/Source/OpenTK/OpenAL/EfxTokens.cs b/Source/OpenTK/OpenAL/EfxTokens.cs new file mode 100644 index 00000000..2a2c12c2 --- /dev/null +++ b/Source/OpenTK/OpenAL/EfxTokens.cs @@ -0,0 +1,444 @@ +#region --- OpenTK.OpenAL License --- +/* EfxTokens.cs + * C headers: \OpenAL 1.1 SDK\include\ "efx.h", "efx-creative.h", "Efx-Util.h" + * Spec: Effects Extension Guide.pdf (bundled with OpenAL SDK) + * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos + * See license.txt for license details + * http://www.OpenTK.net */ +#endregion + +using System; + +namespace OpenTK.OpenAL +{ + public partial class Efx + { + // AL chorus effect parameter ranges and defaults + // AL_CHORUS_WAVEFORM_SINUSOID 0 + // AL_CHORUS_WAVEFORM_TRIANGLE 1 + + // AL flanger effect parameter ranges and defaults + // AL_FLANGER_WAVEFORM_SINUSOID 0 + // AL_FLANGER_WAVEFORM_TRIANGLE 1 + + // AL ring modulator effect parameter ranges and defaults + // AL_RING_MODULATOR_SINUSOID 0 + // AL_RING_MODULATOR_SAWTOOTH 1 + // AL_RING_MODULATOR_SQUARE 2 + + // AL vocal morpher effect parameter ranges and defaults + // AL_VOCAL_MORPHER_WAVEFORM_SINUSOID 0 + // AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE 1 + // AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH 2 + + // AL frequency shifter effect parameter ranges and defaults + // AL_FREQUENCY_SHIFTER_DIRECTION_DOWN 0 + // AL_FREQUENCY_SHIFTER_DIRECTION_UP 1 + // AL_FREQUENCY_SHIFTER_DIRECTION_OFF 2 + + const string 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. + */ + public enum a : int + { + ALC_EFX_MAJOR_VERSION = 0x20001, + ALC_EFX_MINOR_VERSION = 0x20002, + ALC_MAX_AUXILIARY_SENDS = 0x20003, + + + /* Listener definitions to be used with alListener functions. + * These values must be unique and not conflict with other + * al listener values.*/ + + ///Range [float.MinValue .. float.MaxValue] Default: 1.0f + AL_METERS_PER_UNIT = 0x20004, + + + /** + * Source definitions to be used with alSource functions. + * These values must be unique and not conflict with other + * al source values. + */ + ///Range [ .. ] Default: + AL_DIRECT_FILTER = 0x20005, + ///Range [ .. ] Default: + AL_AUXILIARY_SEND_FILTER = 0x20006, + + ///Range [0.0f .. 10.0f] Default: 0.0f + AL_AIR_ABSORPTION_FACTOR = 0x20007, + ///Range [0.0f .. 10.0f] Default: 0.0f + AL_ROOM_ROLLOFF_FACTOR = 0x20008, + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_CONE_OUTER_GAINHF = 0x20009, + ///Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE + AL_DIRECT_FILTER_GAINHF_AUTO = 0x2000A, + ///Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE + AL_AUXILIARY_SEND_FILTER_GAIN_AUTO = 0x2000B, + ///Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE + AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO = 0x2000C, + } + + /** + * Effect object definitions to be used with alEffect functions. + * + * Effect parameter value definitions, ranges, and defaults + * appear farther down in this file. + */ + + /* Reverb Parameters */ + public enum AL_EFFECT_REVERB : int + { + ///Range [0.0f .. 1.0f] Default: 0.1f + AL_REVERB_DENSITY = 0x0001, + ///Range [0.0f .. 1.0f] Default: 0.1f + AL_REVERB_DIFFUSION = 0x0002, + ///Range [0.0f .. 1.0f] Default: 0.32f + AL_REVERB_GAIN = 0x0003, + ///Range [0.0f .. 1.0f] Default: 0.89f + AL_REVERB_GAINHF = 0x0004, + ///Range [0.1f .. 20.0f] Default: 1.49f + AL_REVERB_DECAY_TIME = 0x0005, + ///Range [0.1f .. 2.0f] Default: 0.83f + AL_REVERB_DECAY_HFRATIO = 0x0006, + ///Range [0.0f .. 3.16f] Default: 0.05f + AL_REVERB_REFLECTIONS_GAIN = 0x0007, + ///Range [0.0f .. 0.3f] Default: 0.007f + AL_REVERB_REFLECTIONS_DELAY = 0x0008, + ///Range [0.0f .. 10.0f] Default: 1.26f + AL_REVERB_LATE_REVERB_GAIN = 0x0009, + ///Range [0.0f .. 0.1f] Default: 0.011f + AL_REVERB_LATE_REVERB_DELAY = 0x000A, + ///Range [0.892f .. 1.0f] Default: 0.994f + AL_REVERB_AIR_ABSORPTION_GAINHF = 0x000B, + ///Range [0.0f .. 10.0f] Default: 0.0f + AL_REVERB_ROOM_ROLLOFF_FACTOR = 0x000C, + ///Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE + AL_REVERB_DECAY_HFLIMIT = 0x000D, + } + + /* Chorus Parameters */ + public enum AL_EFFECT_CHORUS : int + { + ///Range [0 .. 1] Default: 1 + AL_CHORUS_WAVEFORM = 0x0001, + ///Range [-180 .. 180] Default: 90 + AL_CHORUS_PHASE = 0x0002, + ///Range [0.0f .. 10.0f] Default: 1.1f + AL_CHORUS_RATE = 0x0003, + ///Range [0.0f .. 1.0f] Default: 0.1f + AL_CHORUS_DEPTH = 0x0004, + ///Range [-1.0f .. +1.0f] Default: +0.25f + AL_CHORUS_FEEDBACK = 0x0005, + ///Range [0.0f .. 0.016f] Default: 0.016f + AL_CHORUS_DELAY = 0x0006, + } + + /* Distortion Parameters */ + public enum AL_EFFECT_DISTORTION : int + { + ///Range [0.0f .. 1.0f] Default: 0.2f + AL_DISTORTION_EDGE = 0x0001, + ///Range [0.01f .. 1.0f] Default: 0.05f + AL_DISTORTION_GAIN = 0x0002, + ///Range [80.0f .. 24000.0f] Default: 8000.0f + AL_DISTORTION_LOWPASS_CUTOFF = 0x0003, + ///Range [80.0f .. 24000.0f] Default: 3600.0f + AL_DISTORTION_EQCENTER = 0x0004, + ///Range [80.0f .. 24000.0f] Default: 3600.0f + AL_DISTORTION_EQBANDWIDTH = 0x0005, + } + + /* Echo Parameters */ + public enum AL_EFFECT_ECHO : int + { + ///Range [0.0f .. 0.207f] Default: 0.1f + AL_ECHO_DELAY = 0x0001, + ///Range [0.0f .. 0.404f] Default: 0.1f + AL_ECHO_LRDELAY = 0x0002, + ///Range [0.0f .. 0.99f] Default: 0.5f + AL_ECHO_DAMPING = 0x0003, + ///Range [0.0f .. 1.0f] Default: 0.5f + AL_ECHO_FEEDBACK = 0x0004, + ///Range [-1.0f .. +1.0f] Default: -1.0f + AL_ECHO_SPREAD = 0x0005, + } + + /* Flanger Parameters */ + public enum AL_EFFECT_FLANGER : int + { + ///Range [0 .. 1] Default: 1 + AL_FLANGER_WAVEFORM = 0x0001, + ///Range [-180 .. +180] Default: 0 + AL_FLANGER_PHASE = 0x0002, + ///Range [0.0f .. 10.0f] Default: 0.27f + AL_FLANGER_RATE = 0x0003, + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_FLANGER_DEPTH = 0x0004, + ///Range [-1.0f .. +1.0f] Default: -0.5f + AL_FLANGER_FEEDBACK = 0x0005, + ///Range [0.0f .. 0.004f] Default: 0.002f + AL_FLANGER_DELAY = 0x0006, + } + + /* Frequencyshifter Parameters */ + public enum AL_EFFECT_FREQUENCY_SHIFTER : int + { + ///Range [0.0f .. 24000.0f] Default: 0.0f + AL_FREQUENCY_SHIFTER_FREQUENCY = 0x0001, + ///Range [0 .. 2] Default: 0 + AL_FREQUENCY_SHIFTER_LEFT_DIRECTION = 0x0002, + ///Range [0 .. 2] Default: 0 + AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION = 0x0003, + } + + /* Vocalmorpher Parameters */ + public enum AL_EFFECT_VOCAL_MORPHER : int + { + ///Range [0 .. 92] Default: 0, AL_VOCAL_MORPHER_PHONEME_A + AL_VOCAL_MORPHER_PHONEMEA = 0x0001, + ///Range [-24 .. +24] Default: 0 + AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 0x0002, + ///Range [0 .. 29] Default: 10, AL_VOCAL_MORPHER_PHONEME_ER + AL_VOCAL_MORPHER_PHONEMEB = 0x0003, + ///Range [-24 .. +24] Default: 0 + AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 0x0004, + ///Range [0 .. 2] Default: 0 + AL_VOCAL_MORPHER_WAVEFORM = 0x0005, + ///Range [0.0f .. 10.0f] Default: 1.41f + AL_VOCAL_MORPHER_RATE = 0x0006, + } + + // AL vocal morpher effect parameter ranges and defaults + public enum FormantFilterSettings : int + { + AL_VOCAL_MORPHER_PHONEME_A = 0, + AL_VOCAL_MORPHER_PHONEME_E = 1, + AL_VOCAL_MORPHER_PHONEME_I = 2, + AL_VOCAL_MORPHER_PHONEME_O = 3, + AL_VOCAL_MORPHER_PHONEME_U = 4, + AL_VOCAL_MORPHER_PHONEME_AA = 5, + AL_VOCAL_MORPHER_PHONEME_AE = 6, + AL_VOCAL_MORPHER_PHONEME_AH = 7, + AL_VOCAL_MORPHER_PHONEME_AO = 8, + AL_VOCAL_MORPHER_PHONEME_EH = 9, + AL_VOCAL_MORPHER_PHONEME_ER = 10, + AL_VOCAL_MORPHER_PHONEME_IH = 11, + AL_VOCAL_MORPHER_PHONEME_IY = 12, + AL_VOCAL_MORPHER_PHONEME_UH = 13, + AL_VOCAL_MORPHER_PHONEME_UW = 14, + AL_VOCAL_MORPHER_PHONEME_B = 15, + AL_VOCAL_MORPHER_PHONEME_D = 16, + AL_VOCAL_MORPHER_PHONEME_F = 17, + AL_VOCAL_MORPHER_PHONEME_G = 18, + AL_VOCAL_MORPHER_PHONEME_J = 19, + AL_VOCAL_MORPHER_PHONEME_K = 20, + AL_VOCAL_MORPHER_PHONEME_L = 21, + AL_VOCAL_MORPHER_PHONEME_M = 22, + AL_VOCAL_MORPHER_PHONEME_N = 23, + AL_VOCAL_MORPHER_PHONEME_P = 24, + AL_VOCAL_MORPHER_PHONEME_R = 25, + AL_VOCAL_MORPHER_PHONEME_S = 26, + AL_VOCAL_MORPHER_PHONEME_T = 27, + AL_VOCAL_MORPHER_PHONEME_V = 28, + AL_VOCAL_MORPHER_PHONEME_Z = 29, + } + + /* Pitchshifter Parameters */ + public enum AL_EFFECT_PITCH_SHIFTER : int + { + ///Range [-12 .. +12] Default: +12 + AL_PITCH_SHIFTER_COARSE_TUNE = 0x0001, + ///Range [-50 .. +50] Default: 0 + AL_PITCH_SHIFTER_FINE_TUNE = 0x0002, + } + + /* Ringmodulator Parameters */ + public enum AL_EFFECT_RING_MODULATOR : int + { + ///Range [0.0f .. 8000.0f] Default: 440.0f + AL_RING_MODULATOR_FREQUENCY = 0x0001, + ///Range [0.0f .. 24000.0f] Default: 800.0f + AL_RING_MODULATOR_HIGHPASS_CUTOFF = 0x0002, + ///Range [0 .. 2] Default: 0 + AL_RING_MODULATOR_WAVEFORM = 0x0003, + } + + /* Autowah Parameters */ + public enum AL_EFFECT_AUTOWAH + { + ///Range [0.0001f .. 1.0f] Default: 0.06f + AL_AUTOWAH_ATTACK_TIME = 0x0001, + ///Range [0.0001f .. 1.0f] Default: 0.06f + AL_AUTOWAH_RELEASE_TIME = 0x0002, + ///Range [2.0f .. 1000.0f] Default: 1000.0f + AL_AUTOWAH_RESONANCE = 0x0003, + ///Range [0.00003f .. 31621.0f] Default: 11.22f + AL_AUTOWAH_PEAK_GAIN = 0x0004, + } + + /* Compressor Parameters */ + public enum AL_EFFECT_COMPRESSOR : int + { + ///Range [0 .. 1] Default: 1 + AL_COMPRESSOR_ONOFF = 0x0001, + } + + /* Equalizer Parameters */ + public enum AL_EFFECT_EQUALIZER : int + { + ///Range [0.126f .. 7.943f] Default: 1.0f + AL_EQUALIZER_LOW_GAIN = 0x0001, + ///Range [50.0f .. 800.0f] Default: 200.0f + AL_EQUALIZER_LOW_CUTOFF = 0x0002, + ///Range [0.126f .. 7.943f] Default: 1.0f + AL_EQUALIZER_MID1_GAIN = 0x0003, + ///Range [200.0f .. 3000.0f] Default: 500.0f + AL_EQUALIZER_MID1_CENTER = 0x0004, + ///Range [0.01f .. 1.0f] Default: 1.0f + AL_EQUALIZER_MID1_WIDTH = 0x0005, + ///Range [0.126f .. 7.943f] Default: 1.0f + AL_EQUALIZER_MID2_GAIN = 0x0006, + ///Range [1000.0f .. 8000.0f] Default: 3000.0f + AL_EQUALIZER_MID2_CENTER = 0x0007, + ///Range [0.01f .. 1.0f] Default: 1.0f + AL_EQUALIZER_MID2_WIDTH = 0x0008, + ///Range [0.126f .. 7.943f] Default: 1.0f + AL_EQUALIZER_HIGH_GAIN = 0x0009, + ///Range [4000.0f .. 16000.0f] Default: 6000.0f + AL_EQUALIZER_HIGH_CUTOFF = 0x000A, + } + + /* Effect type */ + public enum b : int + { + AL_EFFECT_FIRST_PARAMETER = 0x0000, + AL_EFFECT_LAST_PARAMETER = 0x8000, + AL_EFFECT_TYPE = 0x8001, + + /* Effect type definitions to be used with AL_EFFECT_TYPE. */ + AL_EFFECT_NULL = 0x0000, /* Can also be used as an Effect Object ID */ + AL_EFFECT_REVERB = 0x0001, + AL_EFFECT_CHORUS = 0x0002, + AL_EFFECT_DISTORTION = 0x0003, + AL_EFFECT_ECHO = 0x0004, + AL_EFFECT_FLANGER = 0x0005, + AL_EFFECT_FREQUENCY_SHIFTER = 0x0006, + AL_EFFECT_VOCAL_MORPHER = 0x0007, + AL_EFFECT_PITCH_SHIFTER = 0x0008, + AL_EFFECT_RING_MODULATOR = 0x0009, + AL_EFFECT_AUTOWAH = 0x000A, + AL_EFFECT_COMPRESSOR = 0x000B, + AL_EFFECT_EQUALIZER = 0x000C, + + /** + * Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions. + */ + AL_EFFECTSLOT_EFFECT = 0x0001, + AL_EFFECTSLOT_GAIN = 0x0002, + AL_EFFECTSLOT_AUXILIARY_SEND_AUTO = 0x0003, + + // Value to be used as an Auxiliary Slot ID to disable a source send.. + + AL_EFFECTSLOT_NULL = 0x0000, + + } + + // Filter object definitions to be used with alFilter functions. + public enum EfxFilterParameter : int + { + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_LOWPASS_GAIN = 0x0001, + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_LOWPASS_GAINHF = 0x0002, + + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_HIGHPASS_GAIN = 0x0001, + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_HIGHPASS_GAINLF = 0x0002, + + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_BANDPASS_GAIN = 0x0001, + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_BANDPASS_GAINLF = 0x0002, + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_BANDPASS_GAINHF = 0x0003, + } + public enum EfxFilterType : int + { + // Filter type + AL_FILTER_FIRST_PARAMETER = 0x0000, + AL_FILTER_LAST_PARAMETER = 0x8000, + AL_FILTER_TYPE = 0x8001, + + // Filter type definitions to be used with AL_FILTER_TYPE. + AL_FILTER_NULL = 0x0000, // Can also be used as a Filter Object ID + AL_FILTER_LOWPASS = 0x0001, + AL_FILTER_HIGHPASS = 0x0002, + AL_FILTER_BANDPASS = 0x0003, + } + + // Effect object definitions to be used with alEffect functions. + + + // AL EAXReverb effect parameters. + public enum EaxReverb : int + { + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_EAXREVERB_DENSITY = 0x0001, + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_EAXREVERB_DIFFUSION = 0x0002, + ///Range [0.0f .. 1.0f] Default: 0.32f + AL_EAXREVERB_GAIN = 0x0003, + ///Range [0.0f .. 1.0f] Default: 0.89f + AL_EAXREVERB_GAINHF = 0x0004, + ///Range [0.0f .. 1.0f] Default: 1.0f + AL_EAXREVERB_GAINLF = 0x0005, + ///Range [0.1f .. 20.0f] Default: 1.49f + AL_EAXREVERB_DECAY_TIME = 0x0006, + ///Range [0.1f .. 2.0f] Default: 0.83f + AL_EAXREVERB_DECAY_HFRATIO = 0x0007, + ///Range [0.1f .. 2.0f] Default: 1.0f + AL_EAXREVERB_DECAY_LFRATIO = 0x0008, + ///Range [0.0f .. 3.16f] Default: 0.05f + AL_EAXREVERB_REFLECTIONS_GAIN = 0x0009, + ///Range [0.0f .. 0.3f] Default: 0.007f + AL_EAXREVERB_REFLECTIONS_DELAY = 0x000A, + /// Default: {0.0f, 0.0f, 0.0f} + AL_EAXREVERB_REFLECTIONS_PAN = 0x000B, + ///Range [0.0f .. 10.0f] Default: 1.26f + AL_EAXREVERB_LATE_REVERB_GAIN = 0x000C, + ///Range [0.0f .. 0.1f] Default: 0.011f + AL_EAXREVERB_LATE_REVERB_DELAY = 0x000D, + /// Default: {0.0f, 0.0f, 0.0f} + AL_EAXREVERB_LATE_REVERB_PAN = 0x000E, + ///Range [0.075f .. 0.25f] Default: 0.25f + AL_EAXREVERB_ECHO_TIME = 0x000F, + ///Range [0.0f .. 1.0f] Default: 0.0f + AL_EAXREVERB_ECHO_DEPTH = 0x0010, + ///Range [0.04f .. 4.0f] Default: 0.25f + AL_EAXREVERB_MODULATION_TIME = 0x0011, + ///Range [0.0f .. 1.0f] Default: 0.0f + AL_EAXREVERB_MODULATION_DEPTH = 0x0012, + ///Range [0.892f .. 1.0f] Default: 0.994f + AL_EAXREVERB_AIR_ABSORPTION_GAINHF = 0x0013, + ///Range [1000.0f .. 20000.0f] Default: 5000.0f + AL_EAXREVERB_HFREFERENCE = 0x0014, + ///Range [20.0f .. 1000.0f] Default: 250.0f + AL_EAXREVERB_LFREFERENCE = 0x0015, + ///Range [0.0f .. 10.0f] Default: 0.0f + AL_EAXREVERB_ROOM_ROLLOFF_FACTOR = 0x0016, + ///Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE + AL_EAXREVERB_DECAY_HFLIMIT = 0x0017, + } + + // Effect type definitions to be used with AL_EFFECT_TYPE. + public enum c : int + { + AL_EFFECT_EAXREVERB = 0x8000, + } + } +}