#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.Enums { // Constants, might be removed if inline docu is sufficiently describing it // 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 #region Effect 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, ///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, ///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, ///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, ///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, ///Frequencyshifter Parameter. Unit: Hz Range [0.0f .. 24000.0f] Default: 0.0f AL_FREQUENCY_SHIFTER_FREQUENCY = 0x0001, ///Vocalmorpher Parameter. Unit: Hz Range [0.0f .. 10.0f] Default: 1.41f AL_VOCAL_MORPHER_RATE = 0x0006, ///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, ///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, ///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, ///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. 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. 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, } public enum EfxEffect3f : int { /// EAXReverb effect parameters. Unit: Vector3 Default: {0.0f, 0.0f, 0.0f} EaxReverbLateReverbPan = 0x000E, /// EAXReverb effect parameters. Unit: Vector3 Default: {0.0f, 0.0f, 0.0f} EaxReverbReflectionsPan = 0x000B, } public enum EfxEffecti : 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, ///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, ///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, ///Vocalmorpher Parameter. Unit: Use enum EfxFormantFilterSettings 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 EfxFormantFilterSettings 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, ///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, ///Ringmodulator Parameter. Unit: (0) Sinusoid, (1) Sawtooth, (2) Square Range [0 .. 2] Default: 0 AL_RING_MODULATOR_WAVEFORM = 0x0003, ///Compressor Parameter. Unit: (0) Off, (1) On Range [0 .. 1] Default: 1 AL_COMPRESSOR_ONOFF = 0x0001, ///Reverb Parameter. Unit: (0) False, (1) True Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE AL_REVERB_DECAY_HFLIMIT = 0x000D, ///EAXReverb effect parameters. Unit: (0) False, (1) True Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE AL_EAXREVERB_DECAY_HFLIMIT = 0x0017, AL_EFFECT_FIRST_PARAMETER = 0x0000,// deprecated? AL_EFFECT_LAST_PARAMETER = 0x8000, // deprecated? /// Used with the enum EfxEffectType as it's parameter. EffectType = 0x8001, } ///Vocal morpher effect parameters. public enum EfxFormantFilterSettings : 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, } ///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, } #endregion Effect #region Auxiliary Effect Slot public enum EfxAuxiliaryi : int { // Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions. /// This property is used to attach an Effect object to the Auxiliary Effect Slot object. After the attachment, the Auxiliary Effect Slot object will contain the effect type and have the same effect parameters that were stored in the Effect object. Any Sources feeding the Auxiliary Effect Slot will immediate feed the new effect type and new effect parameters. EffectslotEffect = 0x0001, /// This property is used to enable or disable automatic send adjustments based on the physical positions of the sources and the listener. This property should be enabled when an application wishes to use a reverb effect to simulate the environment surrounding a listener or a collection of Sources. Range [False .. True] Default: True EffectslotAuxiliarySendAuto = 0x0003, // Value to be used as an Auxiliary Slot ID to disable a source send.. // AL_EFFECTSLOT_NULL = 0x0000, // remove, seems not to belong here. it's a target, not a token } public enum EfxAuxiliaryf : int { /// This property is used to specify an output level for the Auxiliary Effect Slot. Setting the gain to 0.0f mutes the output. Range [0.0f .. 1.0f] Default: 1.0f EffectslotGain = 0x0002, } #endregion Auxiliary Effect Slot #region Filter Object // Filter object definitions to be used with alFilter functions. public enum EfxFilterf : 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, } // Filter type public enum EfxFilteri : int { AL_FILTER_FIRST_PARAMETER = 0x0000, // deprecated? AL_FILTER_LAST_PARAMETER = 0x8000, // deprecated? /// Used with the enum EfxFilterType as Parameter. AL_FILTER_TYPE = 0x8001, } ///Filter type definitions to be used with AL_FILTER_TYPE. public enum EfxFilterType : 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 }