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,
+ }
+ }
+}