diff lib/OpenAL/efx.h @ 2134:992d2e6f907d

preparation for libavcodec
author zipi
date Tue, 31 Dec 2013 14:52:14 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/OpenAL/efx.h	Tue Dec 31 14:52:14 2013 +0000
@@ -0,0 +1,737 @@
+#ifndef __efx_h_
+#define __efx_h_
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define 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.
+ */
+#define ALC_EFX_MAJOR_VERSION                              0x20001
+#define ALC_EFX_MINOR_VERSION                              0x20002
+#define 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.
+ */
+#define 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.
+ */
+#define AL_DIRECT_FILTER                                   0x20005
+#define AL_AUXILIARY_SEND_FILTER                           0x20006
+#define AL_AIR_ABSORPTION_FACTOR                           0x20007
+#define AL_ROOM_ROLLOFF_FACTOR                             0x20008
+#define AL_CONE_OUTER_GAINHF                               0x20009
+#define AL_DIRECT_FILTER_GAINHF_AUTO                       0x2000A
+#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO                 0x2000B
+#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO               0x2000C
+
+
+
+
+/**
+ * Effect object definitions to be used with alEffect functions.
+ *
+ * Effect parameter value definitions, ranges, and defaults
+ * appear farther down in this file.
+ */
+
+/* Reverb Parameters */
+#define AL_REVERB_DENSITY                                  0x0001
+#define AL_REVERB_DIFFUSION                                0x0002
+#define AL_REVERB_GAIN                                     0x0003
+#define AL_REVERB_GAINHF                                   0x0004
+#define AL_REVERB_DECAY_TIME                               0x0005
+#define AL_REVERB_DECAY_HFRATIO                            0x0006
+#define AL_REVERB_REFLECTIONS_GAIN                         0x0007
+#define AL_REVERB_REFLECTIONS_DELAY                        0x0008
+#define AL_REVERB_LATE_REVERB_GAIN                         0x0009
+#define AL_REVERB_LATE_REVERB_DELAY                        0x000A
+#define AL_REVERB_AIR_ABSORPTION_GAINHF                    0x000B 
+#define AL_REVERB_ROOM_ROLLOFF_FACTOR                      0x000C
+#define AL_REVERB_DECAY_HFLIMIT                            0x000D
+
+/* Chorus Parameters */
+#define AL_CHORUS_WAVEFORM                                 0x0001
+#define	AL_CHORUS_PHASE                                    0x0002
+#define AL_CHORUS_RATE                                     0x0003
+#define AL_CHORUS_DEPTH                                    0x0004
+#define AL_CHORUS_FEEDBACK                                 0x0005
+#define AL_CHORUS_DELAY                                    0x0006
+
+/* Distortion Parameters */
+#define AL_DISTORTION_EDGE                                 0x0001
+#define AL_DISTORTION_GAIN                                 0x0002
+#define AL_DISTORTION_LOWPASS_CUTOFF                       0x0003
+#define AL_DISTORTION_EQCENTER                             0x0004
+#define AL_DISTORTION_EQBANDWIDTH                          0x0005
+
+/* Echo Parameters */
+#define AL_ECHO_DELAY                                      0x0001
+#define AL_ECHO_LRDELAY                                    0x0002
+#define AL_ECHO_DAMPING                                    0x0003
+#define AL_ECHO_FEEDBACK                                   0x0004
+#define AL_ECHO_SPREAD                                     0x0005
+
+/* Flanger Parameters */
+#define AL_FLANGER_WAVEFORM                                0x0001
+#define AL_FLANGER_PHASE                                   0x0002
+#define AL_FLANGER_RATE                                    0x0003
+#define AL_FLANGER_DEPTH                                   0x0004
+#define AL_FLANGER_FEEDBACK                                0x0005
+#define AL_FLANGER_DELAY                                   0x0006
+
+/* Frequencyshifter Parameters */
+#define AL_FREQUENCY_SHIFTER_FREQUENCY                     0x0001
+#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION                0x0002
+#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION               0x0003
+
+/* Vocalmorpher Parameters */
+#define AL_VOCAL_MORPHER_PHONEMEA                          0x0001
+#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING            0x0002
+#define AL_VOCAL_MORPHER_PHONEMEB                          0x0003
+#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING            0x0004
+#define AL_VOCAL_MORPHER_WAVEFORM                          0x0005
+#define AL_VOCAL_MORPHER_RATE                              0x0006
+
+/* Pitchshifter Parameters */
+#define AL_PITCH_SHIFTER_COARSE_TUNE                       0x0001
+#define AL_PITCH_SHIFTER_FINE_TUNE                         0x0002
+
+/* Ringmodulator Parameters */
+#define AL_RING_MODULATOR_FREQUENCY                        0x0001
+#define AL_RING_MODULATOR_HIGHPASS_CUTOFF                  0x0002
+#define AL_RING_MODULATOR_WAVEFORM                         0x0003
+
+/* Autowah Parameters */
+#define AL_AUTOWAH_ATTACK_TIME                             0x0001
+#define AL_AUTOWAH_RELEASE_TIME                            0x0002
+#define AL_AUTOWAH_RESONANCE                               0x0003
+#define AL_AUTOWAH_PEAK_GAIN                               0x0004
+
+/* Compressor Parameters */
+#define AL_COMPRESSOR_ONOFF                                0x0001
+
+/* Equalizer Parameters */
+#define AL_EQUALIZER_LOW_GAIN                              0x0001
+#define AL_EQUALIZER_LOW_CUTOFF                            0x0002
+#define AL_EQUALIZER_MID1_GAIN                             0x0003
+#define AL_EQUALIZER_MID1_CENTER                           0x0004
+#define AL_EQUALIZER_MID1_WIDTH                            0x0005
+#define AL_EQUALIZER_MID2_GAIN                             0x0006
+#define AL_EQUALIZER_MID2_CENTER                           0x0007
+#define AL_EQUALIZER_MID2_WIDTH                            0x0008
+#define AL_EQUALIZER_HIGH_GAIN                             0x0009
+#define AL_EQUALIZER_HIGH_CUTOFF                           0x000A
+
+/* Effect type */
+#define AL_EFFECT_FIRST_PARAMETER                          0x0000
+#define AL_EFFECT_LAST_PARAMETER                           0x8000
+#define AL_EFFECT_TYPE                                     0x8001
+
+/* Effect type definitions to be used with AL_EFFECT_TYPE. */
+#define AL_EFFECT_NULL                                     0x0000  /* Can also be used as an Effect Object ID */
+#define AL_EFFECT_REVERB                                   0x0001
+#define AL_EFFECT_CHORUS                                   0x0002
+#define AL_EFFECT_DISTORTION                               0x0003
+#define AL_EFFECT_ECHO                                     0x0004
+#define AL_EFFECT_FLANGER                                  0x0005
+#define AL_EFFECT_FREQUENCY_SHIFTER                        0x0006
+#define AL_EFFECT_VOCAL_MORPHER                            0x0007
+#define AL_EFFECT_PITCH_SHIFTER                            0x0008
+#define AL_EFFECT_RING_MODULATOR                           0x0009
+#define AL_EFFECT_AUTOWAH                                  0x000A
+#define AL_EFFECT_COMPRESSOR                               0x000B
+#define AL_EFFECT_EQUALIZER                                0x000C
+
+/**
+ * Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions.
+ */
+#define AL_EFFECTSLOT_EFFECT                               0x0001
+#define AL_EFFECTSLOT_GAIN                                 0x0002
+#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO                  0x0003
+
+/**
+ * Value to be used as an Auxiliary Slot ID to disable a source send..
+ */
+#define AL_EFFECTSLOT_NULL                                 0x0000
+
+
+
+/**
+ * Filter object definitions to be used with alFilter functions.
+ */
+
+/* Lowpass parameters. */
+#define AL_LOWPASS_GAIN                                    0x0001
+#define AL_LOWPASS_GAINHF                                  0x0002
+
+/* Highpass Parameters */
+#define AL_HIGHPASS_GAIN                                   0x0001
+#define AL_HIGHPASS_GAINLF                                 0x0002
+
+/* Bandpass Parameters */
+#define AL_BANDPASS_GAIN                                   0x0001
+#define AL_BANDPASS_GAINLF                                 0x0002
+#define AL_BANDPASS_GAINHF                                 0x0003
+
+/* Filter type */
+#define AL_FILTER_FIRST_PARAMETER                          0x0000
+#define AL_FILTER_LAST_PARAMETER                           0x8000
+#define AL_FILTER_TYPE                                     0x8001
+
+/* Filter type definitions to be used with AL_FILTER_TYPE. */
+#define AL_FILTER_NULL                                     0x0000  /* Can also be used as a Filter Object ID */
+#define	AL_FILTER_LOWPASS                                  0x0001
+#define AL_FILTER_HIGHPASS                                 0x0002
+#define AL_FILTER_BANDPASS                                 0x0003
+
+
+/**
+ * Effect object functions.
+ */
+
+/* Create Effect objects. */
+typedef void (__cdecl *LPALGENEFFECTS)( ALsizei n, ALuint* effects );
+
+/* Delete Effect objects. */
+typedef void (__cdecl *LPALDELETEEFFECTS)( ALsizei n, ALuint* effects );
+
+/* Verify a handle is a valid Effect. */ 
+typedef ALboolean (__cdecl *LPALISEFFECT)( ALuint eid );
+
+/* Set an integer parameter for an Effect object. */
+typedef void (__cdecl *LPALEFFECTI)( ALuint eid, ALenum param, ALint value); 
+typedef void (__cdecl *LPALEFFECTIV)( ALuint eid, ALenum param, ALint* values ); 
+
+/* Set a floating point parameter for an Effect object. */
+typedef void (__cdecl *LPALEFFECTF)( ALuint eid, ALenum param, ALfloat value); 
+typedef void (__cdecl *LPALEFFECTFV)( ALuint eid, ALenum param, ALfloat* values ); 
+
+/* Get an integer parameter for an Effect object. */
+typedef void (__cdecl *LPALGETEFFECTI)( ALuint eid, ALenum pname, ALint* value );
+typedef void (__cdecl *LPALGETEFFECTIV)( ALuint eid, ALenum pname, ALint* values );
+
+/* Get a floating point parameter for an Effect object. */
+typedef void (__cdecl *LPALGETEFFECTF)( ALuint eid, ALenum pname, ALfloat* value );
+typedef void (__cdecl *LPALGETEFFECTFV)( ALuint eid, ALenum pname, ALfloat* values );
+
+
+/**
+ * Filter object functions
+ */
+
+/* Create Filter objects. */
+typedef void (__cdecl *LPALGENFILTERS)( ALsizei n, ALuint* filters ); 
+
+/* Delete Filter objects. */
+typedef void (__cdecl *LPALDELETEFILTERS)( ALsizei n, ALuint* filters );
+
+/* Verify a handle is a valid Filter. */ 
+typedef ALboolean (__cdecl *LPALISFILTER)( ALuint fid );
+
+/* Set an integer parameter for a Filter object. */
+typedef void (__cdecl *LPALFILTERI)( ALuint fid, ALenum param, ALint value ); 
+typedef void (__cdecl *LPALFILTERIV)( ALuint fid, ALenum param, ALint* values ); 
+
+/* Set a floating point parameter for an Filter object. */
+typedef void (__cdecl *LPALFILTERF)( ALuint fid, ALenum param, ALfloat value); 
+typedef void (__cdecl *LPALFILTERFV)( ALuint fid, ALenum param, ALfloat* values ); 
+
+/* Get an integer parameter for a Filter object. */
+typedef void (__cdecl *LPALGETFILTERI)( ALuint fid, ALenum pname, ALint* value );
+typedef void (__cdecl *LPALGETFILTERIV)( ALuint fid, ALenum pname, ALint* values );
+
+/* Get a floating point parameter for a Filter object. */
+typedef void (__cdecl *LPALGETFILTERF)( ALuint fid, ALenum pname, ALfloat* value );
+typedef void (__cdecl *LPALGETFILTERFV)( ALuint fid, ALenum pname, ALfloat* values );
+
+
+/**
+ * Auxiliary Slot object functions
+ */
+
+/* Create Auxiliary Slot objects. */
+typedef void (__cdecl *LPALGENAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); 
+
+/* Delete Auxiliary Slot objects. */
+typedef void (__cdecl *LPALDELETEAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots );
+
+/* Verify a handle is a valid Auxiliary Slot. */ 
+typedef ALboolean (__cdecl *LPALISAUXILIARYEFFECTSLOT)( ALuint slot ); 
+
+/* Set an integer parameter for a Auxiliary Slot object. */
+typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum param, ALint value ); 
+typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum param, ALint* values ); 
+
+/* Set a floating point parameter for an Auxiliary Slot object. */
+typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum param, ALfloat value ); 
+typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum param, ALfloat* values ); 
+
+/* Get an integer parameter for a Auxiliary Slot object. */
+typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum pname, ALint* value );
+typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum pname, ALint* values );
+
+/* Get a floating point parameter for a Auxiliary Slot object. */
+typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum pname, ALfloat* value );
+typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum pname, ALfloat* values );
+
+
+
+
+/**********************************************************
+ * Filter ranges and defaults.
+ */
+
+/**
+ * Lowpass filter
+ */
+
+#define LOWPASS_MIN_GAIN                                   0.0f
+#define LOWPASS_MAX_GAIN                                   1.0f
+#define LOWPASS_DEFAULT_GAIN                               1.0f
+
+#define LOWPASS_MIN_GAINHF                                 0.0f
+#define LOWPASS_MAX_GAINHF                                 1.0f
+#define LOWPASS_DEFAULT_GAINHF                             1.0f
+
+/**
+ * Highpass filter
+ */
+
+#define HIGHPASS_MIN_GAIN                                  0.0f
+#define HIGHPASS_MAX_GAIN                                  1.0f
+#define HIGHPASS_DEFAULT_GAIN                              1.0f
+
+#define HIGHPASS_MIN_GAINLF                                0.0f
+#define HIGHPASS_MAX_GAINLF                                1.0f
+#define HIGHPASS_DEFAULT_GAINLF                            1.0f
+
+/**
+ * Bandpass filter
+ */
+
+#define BANDPASS_MIN_GAIN                                  0.0f
+#define BANDPASS_MAX_GAIN                                  1.0f
+#define BANDPASS_DEFAULT_GAIN                              1.0f
+
+#define BANDPASS_MIN_GAINHF                                0.0f
+#define BANDPASS_MAX_GAINHF                                1.0f
+#define BANDPASS_DEFAULT_GAINHF                            1.0f
+
+#define BANDPASS_MIN_GAINLF                                0.0f
+#define BANDPASS_MAX_GAINLF                                1.0f
+#define BANDPASS_DEFAULT_GAINLF                            1.0f
+
+
+
+
+ /**********************************************************
+ * Effect parameter structures, value definitions, ranges and defaults.
+ */
+
+/**
+ * AL reverb effect parameter ranges and defaults
+ */
+#define AL_REVERB_MIN_DENSITY                              0.0f
+#define AL_REVERB_MAX_DENSITY                              1.0f
+#define AL_REVERB_DEFAULT_DENSITY                          1.0f
+
+#define AL_REVERB_MIN_DIFFUSION                            0.0f
+#define AL_REVERB_MAX_DIFFUSION                            1.0f
+#define AL_REVERB_DEFAULT_DIFFUSION                        1.0f
+
+#define AL_REVERB_MIN_GAIN                                 0.0f
+#define AL_REVERB_MAX_GAIN                                 1.0f
+#define AL_REVERB_DEFAULT_GAIN                             0.32f
+
+#define AL_REVERB_MIN_GAINHF                               0.0f
+#define AL_REVERB_MAX_GAINHF                               1.0f
+#define AL_REVERB_DEFAULT_GAINHF                           0.89f
+
+#define AL_REVERB_MIN_DECAY_TIME                           0.1f
+#define AL_REVERB_MAX_DECAY_TIME                           20.0f
+#define AL_REVERB_DEFAULT_DECAY_TIME                       1.49f
+
+#define AL_REVERB_MIN_DECAY_HFRATIO                        0.1f
+#define AL_REVERB_MAX_DECAY_HFRATIO                        2.0f
+#define AL_REVERB_DEFAULT_DECAY_HFRATIO                    0.83f
+
+#define AL_REVERB_MIN_REFLECTIONS_GAIN                     0.0f
+#define AL_REVERB_MAX_REFLECTIONS_GAIN                     3.16f
+#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN                 0.05f
+
+#define AL_REVERB_MIN_REFLECTIONS_DELAY                    0.0f
+#define AL_REVERB_MAX_REFLECTIONS_DELAY                    0.3f
+#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY                0.007f
+
+#define AL_REVERB_MIN_LATE_REVERB_GAIN                     0.0f
+#define AL_REVERB_MAX_LATE_REVERB_GAIN                     10.0f
+#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN                 1.26f
+
+#define AL_REVERB_MIN_LATE_REVERB_DELAY                    0.0f
+#define AL_REVERB_MAX_LATE_REVERB_DELAY                    0.1f
+#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY                0.011f
+
+#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF                0.892f
+#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF                1.0f
+#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF            0.994f
+
+#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR                  0.0f
+#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR                  10.0f
+#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR              0.0f
+
+#define AL_REVERB_MIN_DECAY_HFLIMIT                        AL_FALSE
+#define AL_REVERB_MAX_DECAY_HFLIMIT                        AL_TRUE
+#define AL_REVERB_DEFAULT_DECAY_HFLIMIT                    AL_TRUE
+
+/**
+ * AL chorus effect parameter ranges and defaults
+ */
+#define AL_CHORUS_MIN_WAVEFORM                             0
+#define AL_CHORUS_MAX_WAVEFORM                             1
+#define AL_CHORUS_DEFAULT_WAVEFORM                         1
+
+#define AL_CHORUS_WAVEFORM_SINUSOID                        0
+#define AL_CHORUS_WAVEFORM_TRIANGLE                        1
+
+#define AL_CHORUS_MIN_PHASE                                (-180)
+#define AL_CHORUS_MAX_PHASE                                180
+#define AL_CHORUS_DEFAULT_PHASE                            90
+
+#define AL_CHORUS_MIN_RATE                                 0.0f
+#define AL_CHORUS_MAX_RATE                                 10.0f
+#define AL_CHORUS_DEFAULT_RATE                             1.1f
+
+#define AL_CHORUS_MIN_DEPTH                                0.0f
+#define AL_CHORUS_MAX_DEPTH                                1.0f
+#define AL_CHORUS_DEFAULT_DEPTH                            0.1f
+
+#define AL_CHORUS_MIN_FEEDBACK                             (-1.0f)
+#define AL_CHORUS_MAX_FEEDBACK                             1.0f
+#define AL_CHORUS_DEFAULT_FEEDBACK                         0.25f
+
+#define AL_CHORUS_MIN_DELAY                                0.0f
+#define AL_CHORUS_MAX_DELAY                                0.016f
+#define AL_CHORUS_DEFAULT_DELAY                            0.016f
+
+/**
+ * AL distortion effect parameter ranges and defaults
+ */
+#define AL_DISTORTION_MIN_EDGE                             0.0f
+#define AL_DISTORTION_MAX_EDGE                             1.0f
+#define AL_DISTORTION_DEFAULT_EDGE                         0.2f
+
+#define AL_DISTORTION_MIN_GAIN                             0.01f
+#define AL_DISTORTION_MAX_GAIN                             1.0f
+#define AL_DISTORTION_DEFAULT_GAIN                         0.05f
+
+#define AL_DISTORTION_MIN_LOWPASS_CUTOFF                   80.0f
+#define AL_DISTORTION_MAX_LOWPASS_CUTOFF                   24000.0f
+#define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF               8000.0f
+
+#define AL_DISTORTION_MIN_EQCENTER                         80.0f
+#define AL_DISTORTION_MAX_EQCENTER                         24000.0f
+#define AL_DISTORTION_DEFAULT_EQCENTER                     3600.0f
+
+#define AL_DISTORTION_MIN_EQBANDWIDTH                      80.0f
+#define AL_DISTORTION_MAX_EQBANDWIDTH                      24000.0f
+#define AL_DISTORTION_DEFAULT_EQBANDWIDTH                  3600.0f
+
+/**
+ * AL echo effect parameter ranges and defaults
+ */
+#define AL_ECHO_MIN_DELAY                                  0.0f
+#define AL_ECHO_MAX_DELAY                                  0.207f
+#define AL_ECHO_DEFAULT_DELAY                              0.1f
+
+#define AL_ECHO_MIN_LRDELAY                                0.0f
+#define AL_ECHO_MAX_LRDELAY                                0.404f
+#define AL_ECHO_DEFAULT_LRDELAY                            0.1f
+
+#define AL_ECHO_MIN_DAMPING                                0.0f
+#define AL_ECHO_MAX_DAMPING                                0.99f
+#define AL_ECHO_DEFAULT_DAMPING                            0.5f
+
+#define AL_ECHO_MIN_FEEDBACK                               0.0f
+#define AL_ECHO_MAX_FEEDBACK                               1.0f
+#define AL_ECHO_DEFAULT_FEEDBACK                           0.5f
+
+#define AL_ECHO_MIN_SPREAD                                 (-1.0f)
+#define AL_ECHO_MAX_SPREAD                                 1.0f
+#define AL_ECHO_DEFAULT_SPREAD                             (-1.0f)
+
+/**
+ * AL flanger effect parameter ranges and defaults
+ */
+#define AL_FLANGER_MIN_WAVEFORM                            0
+#define AL_FLANGER_MAX_WAVEFORM                            1
+#define AL_FLANGER_DEFAULT_WAVEFORM                        1
+
+#define AL_FLANGER_WAVEFORM_SINUSOID                       0
+#define AL_FLANGER_WAVEFORM_TRIANGLE                       1
+
+#define AL_FLANGER_MIN_PHASE                               (-180)
+#define AL_FLANGER_MAX_PHASE                               180
+#define AL_FLANGER_DEFAULT_PHASE                           0
+
+#define AL_FLANGER_MIN_RATE                                0.0f
+#define AL_FLANGER_MAX_RATE                                10.0f
+#define AL_FLANGER_DEFAULT_RATE                            0.27f
+
+#define AL_FLANGER_MIN_DEPTH                               0.0f
+#define AL_FLANGER_MAX_DEPTH                               1.0f
+#define AL_FLANGER_DEFAULT_DEPTH                           1.0f
+
+#define AL_FLANGER_MIN_FEEDBACK                            (-1.0f)
+#define AL_FLANGER_MAX_FEEDBACK                            1.0f
+#define AL_FLANGER_DEFAULT_FEEDBACK                        (-0.5f)
+
+#define AL_FLANGER_MIN_DELAY                               0.0f
+#define AL_FLANGER_MAX_DELAY                               0.004f
+#define AL_FLANGER_DEFAULT_DELAY                           0.002f
+
+/**
+ * AL frequency shifter effect parameter ranges and defaults
+ */
+#define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY                 0.0f
+#define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY                 24000.0f
+#define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY             0.0f
+
+#define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION            0
+#define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION            2
+#define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION        0
+
+#define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION           0
+#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION           2
+#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION       0
+
+#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN                0
+#define AL_FREQUENCY_SHIFTER_DIRECTION_UP                  1
+#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF                 2
+
+/**
+ * AL vocal morpher effect parameter ranges and defaults
+ */
+#define AL_VOCAL_MORPHER_MIN_PHONEMEA                      0
+#define AL_VOCAL_MORPHER_MAX_PHONEMEA                      29
+#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA                  0
+
+#define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING	       (-24)
+#define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING	       24
+#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING    0
+
+#define AL_VOCAL_MORPHER_MIN_PHONEMEB                      0
+#define AL_VOCAL_MORPHER_MAX_PHONEMEB                      29
+#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB                  10
+
+#define AL_VOCAL_MORPHER_PHONEME_A                         0
+#define AL_VOCAL_MORPHER_PHONEME_E                         1
+#define AL_VOCAL_MORPHER_PHONEME_I                         2
+#define AL_VOCAL_MORPHER_PHONEME_O                         3
+#define AL_VOCAL_MORPHER_PHONEME_U                         4
+#define AL_VOCAL_MORPHER_PHONEME_AA                        5
+#define AL_VOCAL_MORPHER_PHONEME_AE                        6
+#define AL_VOCAL_MORPHER_PHONEME_AH                        7
+#define AL_VOCAL_MORPHER_PHONEME_AO                        8
+#define AL_VOCAL_MORPHER_PHONEME_EH                        9
+#define AL_VOCAL_MORPHER_PHONEME_ER                        10
+#define AL_VOCAL_MORPHER_PHONEME_IH                        11
+#define AL_VOCAL_MORPHER_PHONEME_IY                        12
+#define AL_VOCAL_MORPHER_PHONEME_UH                        13
+#define AL_VOCAL_MORPHER_PHONEME_UW                        14
+#define AL_VOCAL_MORPHER_PHONEME_B                         15
+#define AL_VOCAL_MORPHER_PHONEME_D                         16
+#define AL_VOCAL_MORPHER_PHONEME_F                         17
+#define AL_VOCAL_MORPHER_PHONEME_G                         18
+#define AL_VOCAL_MORPHER_PHONEME_J                         19
+#define AL_VOCAL_MORPHER_PHONEME_K                         20
+#define AL_VOCAL_MORPHER_PHONEME_L                         21
+#define AL_VOCAL_MORPHER_PHONEME_M                         22
+#define AL_VOCAL_MORPHER_PHONEME_N                         23
+#define AL_VOCAL_MORPHER_PHONEME_P                         24
+#define AL_VOCAL_MORPHER_PHONEME_R                         25
+#define AL_VOCAL_MORPHER_PHONEME_S                         26
+#define AL_VOCAL_MORPHER_PHONEME_T                         27
+#define AL_VOCAL_MORPHER_PHONEME_V                         28
+#define AL_VOCAL_MORPHER_PHONEME_Z                         29
+
+#define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING        (-24)
+#define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING        24
+#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING    0
+
+#define AL_VOCAL_MORPHER_MIN_WAVEFORM                      0
+#define AL_VOCAL_MORPHER_MAX_WAVEFORM                      2
+#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM                  0
+
+#define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID                 0
+#define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE                 1
+#define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH                 2
+
+#define AL_VOCAL_MORPHER_MIN_RATE                          0.0f
+#define AL_VOCAL_MORPHER_MAX_RATE                          10.0f
+#define AL_VOCAL_MORPHER_DEFAULT_RATE                      1.41f
+
+/**
+ * AL pitch shifter effect parameter ranges and defaults
+ */
+#define AL_PITCH_SHIFTER_MIN_COARSE_TUNE                   (-12)
+#define AL_PITCH_SHIFTER_MAX_COARSE_TUNE                   12
+#define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE               12
+
+#define AL_PITCH_SHIFTER_MIN_FINE_TUNE                     (-50)
+#define AL_PITCH_SHIFTER_MAX_FINE_TUNE                     50
+#define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE                 0
+
+/**
+ * AL ring modulator effect parameter ranges and defaults
+ */
+#define AL_RING_MODULATOR_MIN_FREQUENCY                    0.0f
+#define AL_RING_MODULATOR_MAX_FREQUENCY                    8000.0f
+#define AL_RING_MODULATOR_DEFAULT_FREQUENCY                440.0f
+
+#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF              0.0f
+#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF              24000.0f
+#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF          800.0f
+
+#define AL_RING_MODULATOR_MIN_WAVEFORM                     0
+#define AL_RING_MODULATOR_MAX_WAVEFORM                     2
+#define AL_RING_MODULATOR_DEFAULT_WAVEFORM                 0
+
+#define AL_RING_MODULATOR_SINUSOID                         0
+#define AL_RING_MODULATOR_SAWTOOTH                         1
+#define AL_RING_MODULATOR_SQUARE                           2
+
+/**
+ * AL autowah effect parameter ranges and defaults
+ */
+#define AL_AUTOWAH_MIN_ATTACK_TIME                         0.0001f
+#define AL_AUTOWAH_MAX_ATTACK_TIME                         1.0f
+#define AL_AUTOWAH_DEFAULT_ATTACK_TIME                     0.06f
+
+#define AL_AUTOWAH_MIN_RELEASE_TIME                        0.0001f
+#define AL_AUTOWAH_MAX_RELEASE_TIME                        1.0f
+#define AL_AUTOWAH_DEFAULT_RELEASE_TIME                    0.06f
+
+#define AL_AUTOWAH_MIN_RESONANCE                           2.0f
+#define AL_AUTOWAH_MAX_RESONANCE                           1000.0f
+#define AL_AUTOWAH_DEFAULT_RESONANCE                       1000.0f
+	
+#define AL_AUTOWAH_MIN_PEAK_GAIN                           0.00003f
+#define AL_AUTOWAH_MAX_PEAK_GAIN                           31621.0f
+#define AL_AUTOWAH_DEFAULT_PEAK_GAIN                       11.22f
+
+/**
+ * AL compressor effect parameter ranges and defaults
+ */
+#define AL_COMPRESSOR_MIN_ONOFF                            0
+#define AL_COMPRESSOR_MAX_ONOFF                            1
+#define AL_COMPRESSOR_DEFAULT_ONOFF                        1
+
+/**
+ * AL equalizer effect parameter ranges and defaults
+ */
+#define AL_EQUALIZER_MIN_LOW_GAIN                          0.126f
+#define AL_EQUALIZER_MAX_LOW_GAIN                          7.943f
+#define AL_EQUALIZER_DEFAULT_LOW_GAIN                      1.0f
+
+#define AL_EQUALIZER_MIN_LOW_CUTOFF                        50.0f
+#define AL_EQUALIZER_MAX_LOW_CUTOFF                        800.0f
+#define AL_EQUALIZER_DEFAULT_LOW_CUTOFF                    200.0f
+
+#define AL_EQUALIZER_MIN_MID1_GAIN                         0.126f
+#define AL_EQUALIZER_MAX_MID1_GAIN                         7.943f
+#define AL_EQUALIZER_DEFAULT_MID1_GAIN                     1.0f
+
+#define AL_EQUALIZER_MIN_MID1_CENTER                       200.0f
+#define AL_EQUALIZER_MAX_MID1_CENTER                       3000.0f
+#define AL_EQUALIZER_DEFAULT_MID1_CENTER                   500.0f
+
+#define AL_EQUALIZER_MIN_MID1_WIDTH                        0.01f
+#define AL_EQUALIZER_MAX_MID1_WIDTH                        1.0f
+#define AL_EQUALIZER_DEFAULT_MID1_WIDTH                    1.0f
+
+#define AL_EQUALIZER_MIN_MID2_GAIN                         0.126f
+#define AL_EQUALIZER_MAX_MID2_GAIN                         7.943f
+#define AL_EQUALIZER_DEFAULT_MID2_GAIN                     1.0f
+
+#define AL_EQUALIZER_MIN_MID2_CENTER                       1000.0f
+#define AL_EQUALIZER_MAX_MID2_CENTER                       8000.0f
+#define AL_EQUALIZER_DEFAULT_MID2_CENTER                   3000.0f
+
+#define AL_EQUALIZER_MIN_MID2_WIDTH                        0.01f
+#define AL_EQUALIZER_MAX_MID2_WIDTH                        1.0f
+#define AL_EQUALIZER_DEFAULT_MID2_WIDTH                    1.0f
+
+#define AL_EQUALIZER_MIN_HIGH_GAIN                         0.126f
+#define AL_EQUALIZER_MAX_HIGH_GAIN                         7.943f
+#define AL_EQUALIZER_DEFAULT_HIGH_GAIN                     1.0f
+
+#define AL_EQUALIZER_MIN_HIGH_CUTOFF                       4000.0f
+#define AL_EQUALIZER_MAX_HIGH_CUTOFF                       16000.0f
+#define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF                   6000.0f
+
+
+
+
+/**********************************************************
+ * Source parameter value definitions, ranges and defaults.
+ */
+#define AL_MIN_AIR_ABSORPTION_FACTOR                       0.0f
+#define AL_MAX_AIR_ABSORPTION_FACTOR                       10.0f
+#define AL_DEFAULT_AIR_ABSORPTION_FACTOR                   0.0f
+
+#define AL_MIN_ROOM_ROLLOFF_FACTOR                         0.0f
+#define AL_MAX_ROOM_ROLLOFF_FACTOR                         10.0f
+#define AL_DEFAULT_ROOM_ROLLOFF_FACTOR                     0.0f
+
+#define AL_MIN_CONE_OUTER_GAINHF                           0.0f
+#define AL_MAX_CONE_OUTER_GAINHF                           1.0f
+#define AL_DEFAULT_CONE_OUTER_GAINHF                       1.0f
+
+#define AL_MIN_DIRECT_FILTER_GAINHF_AUTO                   AL_FALSE
+#define AL_MAX_DIRECT_FILTER_GAINHF_AUTO                   AL_TRUE
+#define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO               AL_TRUE
+
+#define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO             AL_FALSE
+#define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO             AL_TRUE
+#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO         AL_TRUE
+
+#define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO           AL_FALSE
+#define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO           AL_TRUE
+#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO       AL_TRUE
+
+
+
+
+/**********************************************************
+ * Listener parameter value definitions, ranges and defaults.
+ */
+#define AL_MIN_METERS_PER_UNIT                             FLT_MIN
+#define AL_MAX_METERS_PER_UNIT                             FLT_MAX
+#define AL_DEFAULT_METERS_PER_UNIT                         1.0f
+
+
+#ifdef __cplusplus
+}  /* extern "C" */
+#endif
+
+#endif /* __efx_h_ */