#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 ReverbDensity = 0x0001, ///Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.1f ReverbDiffusion = 0x0002, ///Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.32f ReverbGain = 0x0003, ///Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.89f ReverbGainHF = 0x0004, ///Reverb Parameter. Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f ReverbDecayTime = 0x0005, ///Reverb Parameter. Range [0.1f .. 2.0f] Default: 0.83f ReverbDecayHFRatio = 0x0006, ///Reverb Parameter. Range [0.0f .. 3.16f] Default: 0.05f ReverbReflectionsGain = 0x0007, ///Reverb Parameter. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f ReverbReflectionsDelay = 0x0008, ///Reverb Parameter. Range [0.0f .. 10.0f] Default: 1.26f ReverbLateReverbGain = 0x0009, ///Reverb Parameter. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f ReverbLateReverbDelay = 0x000A, ///Reverb Parameter. Range [0.892f .. 1.0f] Default: 0.994f ReverbAirAbsorptionGainHF = 0x000B, ///Reverb Parameter. Range [0.0f .. 10.0f] Default: 0.0f ReverbRoomRolloffFactor = 0x000C, ///Chorus Parameter. Unit: Hz Range [0.0f .. 10.0f] Default: 1.1f ChorusRate = 0x0003, ///Chorus Parameter. Range [0.0f .. 1.0f] Default: 0.1f ChorusDepth = 0x0004, ///Chorus Parameter. Range [-1.0f .. +1.0f] Default: +0.25f ChorusFeedback = 0x0005, ///Chorus Parameter. Unit: Seconds Range [0.0f .. 0.016f] Default: 0.016f ChorusDelay = 0x0006, ///Distortion Parameter. Range [0.0f .. 1.0f] Default: 0.2f DistortionEdge = 0x0001, ///Distortion Parameter. Range [0.01f .. 1.0f] Default: 0.05f DistortionGain = 0x0002, ///Distortion Parameter. Unit: Hz Range [80.0f .. 24000.0f] Default: 8000.0f DistortionLowpassCutoff = 0x0003, ///Distortion Parameter. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f DistortionEQCenter = 0x0004, ///Distortion Parameter. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f DistortionEQBandwidth = 0x0005, ///Echo Parameter. Unit: Seconds Range [0.0f .. 0.207f] Default: 0.1f EchoDelay = 0x0001, ///Echo Parameter. Unit: Seconds Range [0.0f .. 0.404f] Default: 0.1f EchoLRDelay = 0x0002, ///Echo Parameter. Range [0.0f .. 0.99f] Default: 0.5f EchoDamping = 0x0003, ///Echo Parameter. Range [0.0f .. 1.0f] Default: 0.5f EchoFeedback = 0x0004, ///Echo Parameter. Range [-1.0f .. +1.0f] Default: -1.0f EchoSpread = 0x0005, ///Flanger Parameter. Range [0.0f .. 10.0f] Default: 0.27f FlangerRate = 0x0003, ///Flanger Parameter. Range [0.0f .. 1.0f] Default: 1.0f FlangerDepth = 0x0004, ///Flanger Parameter. Range [-1.0f .. +1.0f] Default: -0.5f FlangerFeedback = 0x0005, ///Flanger Parameter. Unit: Seconds Range [0.0f .. 0.004f] Default: 0.002f FlangerDelay = 0x0006, ///Frequencyshifter Parameter. Unit: Hz Range [0.0f .. 24000.0f] Default: 0.0f FrequencyShifterFrequency = 0x0001, ///Vocalmorpher Parameter. Unit: Hz Range [0.0f .. 10.0f] Default: 1.41f VocalMorpherRate = 0x0006, ///Ringmodulator Parameter. Unit: Hz Range [0.0f .. 8000.0f] Default: 440.0f RingModulatorFrequency = 0x0001, ///Ringmodulator Parameter. Unit: Hz Range [0.0f .. 24000.0f] Default: 800.0f RingModulatorHighpassCutoff = 0x0002, ///Autowah Parameter. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f AutowahAttackTime = 0x0001, ///Autowah Parameter. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f AutowahReleaseTime = 0x0002, ///Autowah Parameter. Range [2.0f .. 1000.0f] Default: 1000.0f AutowahResonance = 0x0003, ///Autowah Parameter. Range [0.00003f .. 31621.0f] Default: 11.22f AutowahPeakGain = 0x0004, ///Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f EqualizerLowGain = 0x0001, ///Equalizer Parameter. Unit: Hz Range [50.0f .. 800.0f] Default: 200.0f EqualizerLowCutoff = 0x0002, ///Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f EqualizerMid1Gain = 0x0003, ///Equalizer Parameter. Unit: Hz Range [200.0f .. 3000.0f] Default: 500.0f EqualizerMid1Center = 0x0004, ///Equalizer Parameter. Range [0.01f .. 1.0f] Default: 1.0f EqualizerMid1Width = 0x0005, ///Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f EqualizerMid2Gain = 0x0006, ///Equalizer Parameter. Unit: Hz Range [1000.0f .. 8000.0f] Default: 3000.0f EqualizerMid2Center = 0x0007, ///Equalizer Parameter. Range [0.01f .. 1.0f] Default: 1.0f EqualizerMid2Width = 0x0008, ///Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f EqualizerHighGain = 0x0009, ///Equalizer Parameter. Unit: Hz Range [4000.0f .. 16000.0f] Default: 6000.0f EqualizerHighCutoff = 0x000A, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 1.0f EaxReverbDensity = 0x0001, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 1.0f EaxReverbDiffusion = 0x0002, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.32f EaxReverbGain = 0x0003, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.89f EaxReverbGainHF = 0x0004, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 1.0f EaxReverbGainLF = 0x0005, ///EAXReverb effect parameters. Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f EaxReverbDecayTime = 0x0006, ///EAXReverb effect parameters. Range [0.1f .. 2.0f] Default: 0.83f EaxReverbDecayHFRatio = 0x0007, ///EAXReverb effect parameters. Range [0.1f .. 2.0f] Default: 1.0f EaxReverbDecayLFRatio = 0x0008, ///EAXReverb effect parameters. Range [0.0f .. 3.16f] Default: 0.05f EaxReverbReflectionsGain = 0x0009, ///EAXReverb effect parameters. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f EaxReverbReflectionsDelay = 0x000A, ///EAXReverb effect parameters. Range [0.0f .. 10.0f] Default: 1.26f EaxReverbLateReverbGain = 0x000C, ///EAXReverb effect parameters. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f EaxReverbLateReverbDelay = 0x000D, ///EAXReverb effect parameters. Range [0.075f .. 0.25f] Default: 0.25f EaxReverbEchoTime = 0x000F, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.0f EaxReverbEchoDepth = 0x0010, ///EAXReverb effect parameters. Range [0.04f .. 4.0f] Default: 0.25f EaxReverbModulationTime = 0x0011, ///EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.0f EaxReverbModulationDepth = 0x0012, ///EAXReverb effect parameters. Range [0.892f .. 1.0f] Default: 0.994f EaxReverbAirAbsorptionGainHF = 0x0013, ///EAXReverb effect parameters. Unit: Hz Range [1000.0f .. 20000.0f] Default: 5000.0f EaxReverbHFReference = 0x0014, ///EAXReverb effect parameters. Unit: Hz Range [20.0f .. 1000.0f] Default: 250.0f EaxReverbLFReference = 0x0015, ///EAXReverb effect parameters. Range [0.0f .. 10.0f] Default: 0.0f EaxReverbRoomRolloffFactor = 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 ChorusWaveform = 0x0001, ///Chorus Parameter. Unit: Degrees Range [-180 .. 180] Default: 90 ChorusPhase = 0x0002, ///Flanger Parameter. Unit: (0) Sinusoid, (1) Triangle Range [0 .. 1] Default: 1 FlangerWaveform = 0x0001, ///Flanger Parameter. Range [-180 .. +180] Default: 0 FlangerPhase = 0x0002, ///Frequencyshifter Parameter. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0 FrequencyShifterLeftDirection = 0x0002, ///Frequencyshifter Parameter. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0 FrequencyShifterRightDirection = 0x0003, ///Vocalmorpher Parameter. Unit: Use enum EfxFormantFilterSettings Range [0 .. 29] Default: 0, AL_VOCAL_MORPHER_PHONEME_A VocalMorpherPhonemeA = 0x0001, ///Vocalmorpher Parameter. Unit: Semitones Range [-24 .. +24] Default: 0 VocalMorpherPhonemeACoarseTuning = 0x0002, ///Vocalmorpher Parameter. Unit: Use enum EfxFormantFilterSettings Range [0 .. 29] Default: 10, AL_VOCAL_MORPHER_PHONEME_ER VocalMorpherPhonemeB = 0x0003, ///Vocalmorpher Parameter. Unit: Semitones Range [-24 .. +24] Default: 0 VocalMorpherPhonemeBCoarseTuning = 0x0004, ///Vocalmorpher Parameter. Unit: (0) Sinusoid, (1) Triangle, (2) Sawtooth Range [0 .. 2] Default: 0 VocalMorpherWaveform = 0x0005, ///Pitchshifter Parameter. Unit: Semitones Range [-12 .. +12] Default: +12 PitchShifterCoarseTune = 0x0001, ///Pitchshifter Parameter. Unit: Cents Range [-50 .. +50] Default: 0 PitchShifterFineTune = 0x0002, ///Ringmodulator Parameter. Unit: (0) Sinusoid, (1) Sawtooth, (2) Square Range [0 .. 2] Default: 0 RingModulatorWaveform = 0x0003, ///Compressor Parameter. Unit: (0) Off, (1) On Range [0 .. 1] Default: 1 CompressorOnoff = 0x0001, ///Reverb Parameter. Unit: (0) False, (1) True Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE ReverbDecayHFLimit = 0x000D, ///EAXReverb effect parameters. Unit: (0) False, (1) True Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE EaxReverbDecayHFLimit = 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 { EffectNull = 0x0000, /* Can also be used as an Effect Object ID */ EffectReverb = 0x0001, EffectChorus = 0x0002, EffectDistortion = 0x0003, EffectEcho = 0x0004, EffectFlanger = 0x0005, EffectFrequencyShifter = 0x0006, EffectVocalMorpher = 0x0007, EffectPitchShifter = 0x0008, EffectRingModulator = 0x0009, EffectAutowah = 0x000A, EffectCompressor = 0x000B, EffectEqualizer = 0x000C, EffectEaxReverb = 0x8000, // works on native HW only } #endregion Effect #region Auxiliary Effect Slot public enum EfxAuxiliaryi : int { /// 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, } 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 LowpassGain = 0x0001, ///Range [0.0f .. 1.0f] Default: 1.0f LowpassGainHF = 0x0002, ///Range [0.0f .. 1.0f] Default: 1.0f HighpassGain = 0x0001, ///Range [0.0f .. 1.0f] Default: 1.0f HighpassGainLF = 0x0002, ///Range [0.0f .. 1.0f] Default: 1.0f BandpassGain = 0x0001, ///Range [0.0f .. 1.0f] Default: 1.0f BandpassGainLF = 0x0002, ///Range [0.0f .. 1.0f] Default: 1.0f BandpassGainHF = 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 to select a filter logic. FilterType = 0x8001, } ///Filter type definitions to be used with AL_FILTER_TYPE. public enum EfxFilterType : int { FilterNull = 0x0000, // Can also be used as a Filter Object ID FilterLowpass = 0x0001, FilterHighpass = 0x0002, FilterBandpass = 0x0003, } #endregion Filter Object }