#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, } #region Effect object definitions to be used with alEffect functions. public enum EfxEffectf : int { ///Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.1f AL_REVERB_DENSITY = 0x0001, ///Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.1f AL_REVERB_DIFFUSION = 0x0002, ///Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.32f AL_REVERB_GAIN = 0x0003, ///Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.89f AL_REVERB_GAINHF = 0x0004, ///Reverb Parameter. Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f AL_REVERB_DECAY_TIME = 0x0005, ///Reverb Parameter. Range [0.1f .. 2.0f] Default: 0.83f AL_REVERB_DECAY_HFRATIO = 0x0006, ///Reverb Parameter. Range [0.0f .. 3.16f] Default: 0.05f AL_REVERB_REFLECTIONS_GAIN = 0x0007, ///Reverb Parameter. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f AL_REVERB_REFLECTIONS_DELAY = 0x0008, ///Reverb Parameter. Range [0.0f .. 10.0f] Default: 1.26f AL_REVERB_LATE_REVERB_GAIN = 0x0009, ///Reverb Parameter. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f AL_REVERB_LATE_REVERB_DELAY = 0x000A, ///Reverb Parameter. Range [0.892f .. 1.0f] Default: 0.994f AL_REVERB_AIR_ABSORPTION_GAINHF = 0x000B, ///Reverb Parameter. Range [0.0f .. 10.0f] Default: 0.0f AL_REVERB_ROOM_ROLLOFF_FACTOR = 0x000C, ///Reverb Parameter. Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE AL_REVERB_DECAY_HFLIMIT = 0x000D, } public enum AL_EFFECT_CHORUS : int { ///Chorus Parameter. Unit: (0) Sinusoid, (1) Triangle [0 .. 1] Default: 1 AL_CHORUS_WAVEFORM = 0x0001, ///Chorus Parameter. Unit: Degrees Range [-180 .. 180] Default: 90 AL_CHORUS_PHASE = 0x0002, ///Chorus Parameter. Unit: Hz Range [0.0f .. 10.0f] Default: 1.1f AL_CHORUS_RATE = 0x0003, ///Chorus Parameter. Range [0.0f .. 1.0f] Default: 0.1f AL_CHORUS_DEPTH = 0x0004, ///Chorus Parameter. Range [-1.0f .. +1.0f] Default: +0.25f AL_CHORUS_FEEDBACK = 0x0005, ///Chorus Parameter. Unit: Seconds Range [0.0f .. 0.016f] Default: 0.016f AL_CHORUS_DELAY = 0x0006, } public enum AL_EFFECT_DISTORTION : int { ///Distortion Parameter. Range [0.0f .. 1.0f] Default: 0.2f AL_DISTORTION_EDGE = 0x0001, ///Distortion Parameter. Range [0.01f .. 1.0f] Default: 0.05f AL_DISTORTION_GAIN = 0x0002, ///Distortion Parameter. Unit: Hz Range [80.0f .. 24000.0f] Default: 8000.0f AL_DISTORTION_LOWPASS_CUTOFF = 0x0003, ///Distortion Parameter. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f AL_DISTORTION_EQCENTER = 0x0004, ///Distortion Parameter. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f AL_DISTORTION_EQBANDWIDTH = 0x0005, } public enum AL_EFFECT_ECHO : int { ///Echo Parameter. Unit: Seconds Range [0.0f .. 0.207f] Default: 0.1f AL_ECHO_DELAY = 0x0001, ///Echo Parameter. Unit: Seconds Range [0.0f .. 0.404f] Default: 0.1f AL_ECHO_LRDELAY = 0x0002, ///Echo Parameter. Range [0.0f .. 0.99f] Default: 0.5f AL_ECHO_DAMPING = 0x0003, ///Echo Parameter. Range [0.0f .. 1.0f] Default: 0.5f AL_ECHO_FEEDBACK = 0x0004, ///Echo Parameter. Range [-1.0f .. +1.0f] Default: -1.0f AL_ECHO_SPREAD = 0x0005, } public enum AL_EFFECT_FLANGER : int { ///Flanger Parameter. Unit: (0) Sinusoid, (1) Triangle Range [0 .. 1] Default: 1 AL_FLANGER_WAVEFORM = 0x0001, ///Flanger Parameter. Range [-180 .. +180] Default: 0 AL_FLANGER_PHASE = 0x0002, ///Flanger Parameter. Range [0.0f .. 10.0f] Default: 0.27f AL_FLANGER_RATE = 0x0003, ///Flanger Parameter. Range [0.0f .. 1.0f] Default: 1.0f AL_FLANGER_DEPTH = 0x0004, ///Flanger Parameter. Range [-1.0f .. +1.0f] Default: -0.5f AL_FLANGER_FEEDBACK = 0x0005, ///Flanger Parameter. Unit: Seconds Range [0.0f .. 0.004f] Default: 0.002f AL_FLANGER_DELAY = 0x0006, } public enum AL_EFFECT_FREQUENCY_SHIFTER : int { ///Frequencyshifter Parameter. Unit: Hz Range [0.0f .. 24000.0f] Default: 0.0f AL_FREQUENCY_SHIFTER_FREQUENCY = 0x0001, ///Frequencyshifter Parameter. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0 AL_FREQUENCY_SHIFTER_LEFT_DIRECTION = 0x0002, ///Frequencyshifter Parameter. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0 AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION = 0x0003, } public enum AL_EFFECT_VOCAL_MORPHER : int { ///Vocalmorpher Parameter. Unit: Use enum FormantFilterSettings Range [0 .. 29] Default: 0, AL_VOCAL_MORPHER_PHONEME_A AL_VOCAL_MORPHER_PHONEMEA = 0x0001, ///Vocalmorpher Parameter. Unit: Semitones Range [-24 .. +24] Default: 0 AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 0x0002, ///Vocalmorpher Parameter. Unit: Use enum FormantFilterSettings Range [0 .. 29] Default: 10, AL_VOCAL_MORPHER_PHONEME_ER AL_VOCAL_MORPHER_PHONEMEB = 0x0003, ///Vocalmorpher Parameter. Unit: Semitones Range [-24 .. +24] Default: 0 AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 0x0004, ///Vocalmorpher Parameter. Unit: (0) Sinusoid, (1) Triangle, (2) Sawtooth Range [0 .. 2] Default: 0 AL_VOCAL_MORPHER_WAVEFORM = 0x0005, ///Vocalmorpher Parameter. Unit: Hz 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, } public enum AL_EFFECT_PITCH_SHIFTER : int { ///Pitchshifter Parameter. Unit: Semitones Range [-12 .. +12] Default: +12 AL_PITCH_SHIFTER_COARSE_TUNE = 0x0001, ///Pitchshifter Parameter. Unit: Cents Range [-50 .. +50] Default: 0 AL_PITCH_SHIFTER_FINE_TUNE = 0x0002, } public enum AL_EFFECT_RING_MODULATOR : int { ///Ringmodulator Parameter. Unit: Hz Range [0.0f .. 8000.0f] Default: 440.0f AL_RING_MODULATOR_FREQUENCY = 0x0001, ///Ringmodulator Parameter. Unit: Hz Range [0.0f .. 24000.0f] Default: 800.0f AL_RING_MODULATOR_HIGHPASS_CUTOFF = 0x0002, ///Ringmodulator Parameter. Unit: (0) Sinusoid, (1) Sawtooth, (2) Square Range [0 .. 2] Default: 0 AL_RING_MODULATOR_WAVEFORM = 0x0003, } public enum AL_EFFECT_AUTOWAH { ///Autowah Parameter. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f AL_AUTOWAH_ATTACK_TIME = 0x0001, ///Autowah Parameter. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f AL_AUTOWAH_RELEASE_TIME = 0x0002, ///Autowah Parameter. Range [2.0f .. 1000.0f] Default: 1000.0f AL_AUTOWAH_RESONANCE = 0x0003, ///Autowah Parameter. Range [0.00003f .. 31621.0f] Default: 11.22f AL_AUTOWAH_PEAK_GAIN = 0x0004, } public enum AL_EFFECT_COMPRESSOR : int { ///Compressor Parameter. Unit: (0) Off, (1) On Range [0 .. 1] Default: 1 AL_COMPRESSOR_ONOFF = 0x0001, } public enum AL_EFFECT_EQUALIZER : int { ///Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f AL_EQUALIZER_LOW_GAIN = 0x0001, ///Equalizer Parameter. Unit: Hz Range [50.0f .. 800.0f] Default: 200.0f AL_EQUALIZER_LOW_CUTOFF = 0x0002, ///Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f AL_EQUALIZER_MID1_GAIN = 0x0003, ///Equalizer Parameter. Unit: Hz Range [200.0f .. 3000.0f] Default: 500.0f AL_EQUALIZER_MID1_CENTER = 0x0004, ///Equalizer Parameter. Range [0.01f .. 1.0f] Default: 1.0f AL_EQUALIZER_MID1_WIDTH = 0x0005, ///Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f AL_EQUALIZER_MID2_GAIN = 0x0006, ///Equalizer Parameter. Unit: Hz Range [1000.0f .. 8000.0f] Default: 3000.0f AL_EQUALIZER_MID2_CENTER = 0x0007, ///Equalizer Parameter. Range [0.01f .. 1.0f] Default: 1.0f AL_EQUALIZER_MID2_WIDTH = 0x0008, ///Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f AL_EQUALIZER_HIGH_GAIN = 0x0009, ///Equalizer Parameter. Unit: Hz Range [4000.0f .. 16000.0f] Default: 6000.0f AL_EQUALIZER_HIGH_CUTOFF = 0x000A, } public enum AL_EFFECT_EAXREVERB : int { ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 1.0f AL_EAXREVERB_DENSITY = 0x0001, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 1.0f AL_EAXREVERB_DIFFUSION = 0x0002, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.32f AL_EAXREVERB_GAIN = 0x0003, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.89f AL_EAXREVERB_GAINHF = 0x0004, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 1.0f AL_EAXREVERB_GAINLF = 0x0005, ///EAXReverb effect parameters. Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f AL_EAXREVERB_DECAY_TIME = 0x0006, ///EAXReverb effect parameters. Range [0.1f .. 2.0f] Default: 0.83f AL_EAXREVERB_DECAY_HFRATIO = 0x0007, ///EAXReverb effect parameters. Range [0.1f .. 2.0f] Default: 1.0f AL_EAXREVERB_DECAY_LFRATIO = 0x0008, ///EAXReverb effect parameters. Range [0.0f .. 3.16f] Default: 0.05f AL_EAXREVERB_REFLECTIONS_GAIN = 0x0009, ///EAXReverb effect parameters. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f AL_EAXREVERB_REFLECTIONS_DELAY = 0x000A, /// EAXReverb effect parameters. Unit: Vector3 Default: {0.0f, 0.0f, 0.0f} AL_EAXREVERB_REFLECTIONS_PAN = 0x000B, ///EAXReverb effect parameters. Range [0.0f .. 10.0f] Default: 1.26f AL_EAXREVERB_LATE_REVERB_GAIN = 0x000C, ///EAXReverb effect parameters. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f AL_EAXREVERB_LATE_REVERB_DELAY = 0x000D, /// EAXReverb effect parameters. Unit: Vector3 Default: {0.0f, 0.0f, 0.0f} AL_EAXREVERB_LATE_REVERB_PAN = 0x000E, ///EAXReverb effect parameters. Range [0.075f .. 0.25f] Default: 0.25f AL_EAXREVERB_ECHO_TIME = 0x000F, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.0f AL_EAXREVERB_ECHO_DEPTH = 0x0010, ///EAXReverb effect parameters. Range [0.04f .. 4.0f] Default: 0.25f AL_EAXREVERB_MODULATION_TIME = 0x0011, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.0f AL_EAXREVERB_MODULATION_DEPTH = 0x0012, ///EAXReverb effect parameters. Range [0.892f .. 1.0f] Default: 0.994f AL_EAXREVERB_AIR_ABSORPTION_GAINHF = 0x0013, ///EAXReverb effect parameters. Unit: Hz Range [1000.0f .. 20000.0f] Default: 5000.0f AL_EAXREVERB_HFREFERENCE = 0x0014, ///EAXReverb effect parameters. Unit: Hz Range [20.0f .. 1000.0f] Default: 250.0f AL_EAXREVERB_LFREFERENCE = 0x0015, ///EAXReverb effect parameters. Range [0.0f .. 10.0f] Default: 0.0f AL_EAXREVERB_ROOM_ROLLOFF_FACTOR = 0x0016, ///EAXReverb effect parameters. Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE AL_EAXREVERB_DECAY_HFLIMIT = 0x0017, } #endregion public enum EfxEffecti : int { AL_EFFECT_FIRST_PARAMETER = 0x0000, AL_EFFECT_LAST_PARAMETER = 0x8000, AL_EFFECT_TYPE = 0x8001, // AL.BindEffect() } ///Effect type definitions to be used with AL_EFFECT_TYPE. public enum EfxEffectType : int { 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, AL_EFFECT_EAXREVERB = 0x8000, } public enum EfxAuxiliarySlot : int { // 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, } #region Filter Object // Filter object definitions to be used with alFilter functions. public enum EfxFilterLowpass : 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, } public enum EfxFilterHighpass : int { ///Range [0.0f .. 1.0f] Default: 1.0f AL_HIGHPASS_GAIN = 0x0001, ///Range [0.0f .. 1.0f] Default: 1.0f AL_HIGHPASS_GAINLF = 0x0002, } public enum EfxFilterBandpass : int { ///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, } // Filter type public enum EfxFilterType : int { AL_FILTER_FIRST_PARAMETER = 0x0000, AL_FILTER_LAST_PARAMETER = 0x8000, AL_FILTER_TYPE = 0x8001, } // Filter type definitions to be used with AL_FILTER_TYPE. public enum EfxFilterTypeDefinition : int { 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, } #endregion Filter Object } }