#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
}