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