diff include/AL/efx.h @ 0:f9476ff7637e

initial forking of open-al to create multiple listeners
author Robert McIntyre <rlm@mit.edu>
date Tue, 25 Oct 2011 13:02:31 -0700
parents
children
line wrap: on
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/include/AL/efx.h	Tue Oct 25 13:02:31 2011 -0700
     1.3 @@ -0,0 +1,758 @@
     1.4 +#ifndef AL_EFX_H
     1.5 +#define AL_EFX_H
     1.6 +
     1.7 +
     1.8 +#ifdef __cplusplus
     1.9 +extern "C" {
    1.10 +#endif
    1.11 +
    1.12 +#define ALC_EXT_EFX_NAME                         "ALC_EXT_EFX"
    1.13 +
    1.14 +#define ALC_EFX_MAJOR_VERSION                    0x20001
    1.15 +#define ALC_EFX_MINOR_VERSION                    0x20002
    1.16 +#define ALC_MAX_AUXILIARY_SENDS                  0x20003
    1.17 +
    1.18 +
    1.19 +/* Listener properties. */
    1.20 +#define AL_METERS_PER_UNIT                       0x20004
    1.21 +
    1.22 +/* Source properties. */
    1.23 +#define AL_DIRECT_FILTER                         0x20005
    1.24 +#define AL_AUXILIARY_SEND_FILTER                 0x20006
    1.25 +#define AL_AIR_ABSORPTION_FACTOR                 0x20007
    1.26 +#define AL_ROOM_ROLLOFF_FACTOR                   0x20008
    1.27 +#define AL_CONE_OUTER_GAINHF                     0x20009
    1.28 +#define AL_DIRECT_FILTER_GAINHF_AUTO             0x2000A
    1.29 +#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO       0x2000B
    1.30 +#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO     0x2000C
    1.31 +
    1.32 +
    1.33 +/* Effect properties. */
    1.34 +
    1.35 +/* Reverb effect parameters */
    1.36 +#define AL_REVERB_DENSITY                        0x0001
    1.37 +#define AL_REVERB_DIFFUSION                      0x0002
    1.38 +#define AL_REVERB_GAIN                           0x0003
    1.39 +#define AL_REVERB_GAINHF                         0x0004
    1.40 +#define AL_REVERB_DECAY_TIME                     0x0005
    1.41 +#define AL_REVERB_DECAY_HFRATIO                  0x0006
    1.42 +#define AL_REVERB_REFLECTIONS_GAIN               0x0007
    1.43 +#define AL_REVERB_REFLECTIONS_DELAY              0x0008
    1.44 +#define AL_REVERB_LATE_REVERB_GAIN               0x0009
    1.45 +#define AL_REVERB_LATE_REVERB_DELAY              0x000A
    1.46 +#define AL_REVERB_AIR_ABSORPTION_GAINHF          0x000B
    1.47 +#define AL_REVERB_ROOM_ROLLOFF_FACTOR            0x000C
    1.48 +#define AL_REVERB_DECAY_HFLIMIT                  0x000D
    1.49 +
    1.50 +/* EAX Reverb effect parameters */
    1.51 +#define AL_EAXREVERB_DENSITY                     0x0001
    1.52 +#define AL_EAXREVERB_DIFFUSION                   0x0002
    1.53 +#define AL_EAXREVERB_GAIN                        0x0003
    1.54 +#define AL_EAXREVERB_GAINHF                      0x0004
    1.55 +#define AL_EAXREVERB_GAINLF                      0x0005
    1.56 +#define AL_EAXREVERB_DECAY_TIME                  0x0006
    1.57 +#define AL_EAXREVERB_DECAY_HFRATIO               0x0007
    1.58 +#define AL_EAXREVERB_DECAY_LFRATIO               0x0008
    1.59 +#define AL_EAXREVERB_REFLECTIONS_GAIN            0x0009
    1.60 +#define AL_EAXREVERB_REFLECTIONS_DELAY           0x000A
    1.61 +#define AL_EAXREVERB_REFLECTIONS_PAN             0x000B
    1.62 +#define AL_EAXREVERB_LATE_REVERB_GAIN            0x000C
    1.63 +#define AL_EAXREVERB_LATE_REVERB_DELAY           0x000D
    1.64 +#define AL_EAXREVERB_LATE_REVERB_PAN             0x000E
    1.65 +#define AL_EAXREVERB_ECHO_TIME                   0x000F
    1.66 +#define AL_EAXREVERB_ECHO_DEPTH                  0x0010
    1.67 +#define AL_EAXREVERB_MODULATION_TIME             0x0011
    1.68 +#define AL_EAXREVERB_MODULATION_DEPTH            0x0012
    1.69 +#define AL_EAXREVERB_AIR_ABSORPTION_GAINHF       0x0013
    1.70 +#define AL_EAXREVERB_HFREFERENCE                 0x0014
    1.71 +#define AL_EAXREVERB_LFREFERENCE                 0x0015
    1.72 +#define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR         0x0016
    1.73 +#define AL_EAXREVERB_DECAY_HFLIMIT               0x0017
    1.74 +
    1.75 +/* Chorus effect parameters */
    1.76 +#define AL_CHORUS_WAVEFORM                       0x0001
    1.77 +#define AL_CHORUS_PHASE                          0x0002
    1.78 +#define AL_CHORUS_RATE                           0x0003
    1.79 +#define AL_CHORUS_DEPTH                          0x0004
    1.80 +#define AL_CHORUS_FEEDBACK                       0x0005
    1.81 +#define AL_CHORUS_DELAY                          0x0006
    1.82 +
    1.83 +/* Distortion effect parameters */
    1.84 +#define AL_DISTORTION_EDGE                       0x0001
    1.85 +#define AL_DISTORTION_GAIN                       0x0002
    1.86 +#define AL_DISTORTION_LOWPASS_CUTOFF             0x0003
    1.87 +#define AL_DISTORTION_EQCENTER                   0x0004
    1.88 +#define AL_DISTORTION_EQBANDWIDTH                0x0005
    1.89 +
    1.90 +/* Echo effect parameters */
    1.91 +#define AL_ECHO_DELAY                            0x0001
    1.92 +#define AL_ECHO_LRDELAY                          0x0002
    1.93 +#define AL_ECHO_DAMPING                          0x0003
    1.94 +#define AL_ECHO_FEEDBACK                         0x0004
    1.95 +#define AL_ECHO_SPREAD                           0x0005
    1.96 +
    1.97 +/* Flanger effect parameters */
    1.98 +#define AL_FLANGER_WAVEFORM                      0x0001
    1.99 +#define AL_FLANGER_PHASE                         0x0002
   1.100 +#define AL_FLANGER_RATE                          0x0003
   1.101 +#define AL_FLANGER_DEPTH                         0x0004
   1.102 +#define AL_FLANGER_FEEDBACK                      0x0005
   1.103 +#define AL_FLANGER_DELAY                         0x0006
   1.104 +
   1.105 +/* Frequency shifter effect parameters */
   1.106 +#define AL_FREQUENCY_SHIFTER_FREQUENCY           0x0001
   1.107 +#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION      0x0002
   1.108 +#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION     0x0003
   1.109 +
   1.110 +/* Vocal morpher effect parameters */
   1.111 +#define AL_VOCAL_MORPHER_PHONEMEA                0x0001
   1.112 +#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING  0x0002
   1.113 +#define AL_VOCAL_MORPHER_PHONEMEB                0x0003
   1.114 +#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING  0x0004
   1.115 +#define AL_VOCAL_MORPHER_WAVEFORM                0x0005
   1.116 +#define AL_VOCAL_MORPHER_RATE                    0x0006
   1.117 +
   1.118 +/* Pitchshifter effect parameters */
   1.119 +#define AL_PITCH_SHIFTER_COARSE_TUNE             0x0001
   1.120 +#define AL_PITCH_SHIFTER_FINE_TUNE               0x0002
   1.121 +
   1.122 +/* Ringmodulator effect parameters */
   1.123 +#define AL_RING_MODULATOR_FREQUENCY              0x0001
   1.124 +#define AL_RING_MODULATOR_HIGHPASS_CUTOFF        0x0002
   1.125 +#define AL_RING_MODULATOR_WAVEFORM               0x0003
   1.126 +
   1.127 +/* Autowah effect parameters */
   1.128 +#define AL_AUTOWAH_ATTACK_TIME                   0x0001
   1.129 +#define AL_AUTOWAH_RELEASE_TIME                  0x0002
   1.130 +#define AL_AUTOWAH_RESONANCE                     0x0003
   1.131 +#define AL_AUTOWAH_PEAK_GAIN                     0x0004
   1.132 +
   1.133 +/* Compressor effect parameters */
   1.134 +#define AL_COMPRESSOR_ONOFF                      0x0001
   1.135 +
   1.136 +/* Equalizer effect parameters */
   1.137 +#define AL_EQUALIZER_LOW_GAIN                    0x0001
   1.138 +#define AL_EQUALIZER_LOW_CUTOFF                  0x0002
   1.139 +#define AL_EQUALIZER_MID1_GAIN                   0x0003
   1.140 +#define AL_EQUALIZER_MID1_CENTER                 0x0004
   1.141 +#define AL_EQUALIZER_MID1_WIDTH                  0x0005
   1.142 +#define AL_EQUALIZER_MID2_GAIN                   0x0006
   1.143 +#define AL_EQUALIZER_MID2_CENTER                 0x0007
   1.144 +#define AL_EQUALIZER_MID2_WIDTH                  0x0008
   1.145 +#define AL_EQUALIZER_HIGH_GAIN                   0x0009
   1.146 +#define AL_EQUALIZER_HIGH_CUTOFF                 0x000A
   1.147 +
   1.148 +/* Effect type */
   1.149 +#define AL_EFFECT_FIRST_PARAMETER                0x0000
   1.150 +#define AL_EFFECT_LAST_PARAMETER                 0x8000
   1.151 +#define AL_EFFECT_TYPE                           0x8001
   1.152 +
   1.153 +/* Effect types, used with the AL_EFFECT_TYPE property */
   1.154 +#define AL_EFFECT_NULL                           0x0000
   1.155 +#define AL_EFFECT_REVERB                         0x0001
   1.156 +#define AL_EFFECT_CHORUS                         0x0002
   1.157 +#define AL_EFFECT_DISTORTION                     0x0003
   1.158 +#define AL_EFFECT_ECHO                           0x0004
   1.159 +#define AL_EFFECT_FLANGER                        0x0005
   1.160 +#define AL_EFFECT_FREQUENCY_SHIFTER              0x0006
   1.161 +#define AL_EFFECT_VOCAL_MORPHER                  0x0007
   1.162 +#define AL_EFFECT_PITCH_SHIFTER                  0x0008
   1.163 +#define AL_EFFECT_RING_MODULATOR                 0x0009
   1.164 +#define AL_EFFECT_AUTOWAH                        0x000A
   1.165 +#define AL_EFFECT_COMPRESSOR                     0x000B
   1.166 +#define AL_EFFECT_EQUALIZER                      0x000C
   1.167 +#define AL_EFFECT_EAXREVERB                      0x8000
   1.168 +
   1.169 +/* Auxiliary Effect Slot properties. */
   1.170 +#define AL_EFFECTSLOT_EFFECT                     0x0001
   1.171 +#define AL_EFFECTSLOT_GAIN                       0x0002
   1.172 +#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO        0x0003
   1.173 +
   1.174 +/* NULL Auxiliary Slot ID to disable a source send. */
   1.175 +#define AL_EFFECTSLOT_NULL                       0x0000
   1.176 +
   1.177 +
   1.178 +/* Filter properties. */
   1.179 +
   1.180 +/* Lowpass filter parameters */
   1.181 +#define AL_LOWPASS_GAIN                          0x0001
   1.182 +#define AL_LOWPASS_GAINHF                        0x0002
   1.183 +
   1.184 +/* Highpass filter parameters */
   1.185 +#define AL_HIGHPASS_GAIN                         0x0001
   1.186 +#define AL_HIGHPASS_GAINLF                       0x0002
   1.187 +
   1.188 +/* Bandpass filter parameters */
   1.189 +#define AL_BANDPASS_GAIN                         0x0001
   1.190 +#define AL_BANDPASS_GAINLF                       0x0002
   1.191 +#define AL_BANDPASS_GAINHF                       0x0003
   1.192 +
   1.193 +/* Filter type */
   1.194 +#define AL_FILTER_FIRST_PARAMETER                0x0000
   1.195 +#define AL_FILTER_LAST_PARAMETER                 0x8000
   1.196 +#define AL_FILTER_TYPE                           0x8001
   1.197 +
   1.198 +/* Filter types, used with the AL_FILTER_TYPE property */
   1.199 +#define AL_FILTER_NULL                           0x0000
   1.200 +#define AL_FILTER_LOWPASS                        0x0001
   1.201 +#define AL_FILTER_HIGHPASS                       0x0002
   1.202 +#define AL_FILTER_BANDPASS                       0x0003
   1.203 +
   1.204 +
   1.205 +/* Effect object function types. */
   1.206 +typedef void (AL_APIENTRY *LPALGENEFFECTS)(ALsizei, ALuint*);
   1.207 +typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
   1.208 +typedef ALboolean (AL_APIENTRY *LPALISEFFECT)(ALuint);
   1.209 +typedef void (AL_APIENTRY *LPALEFFECTI)(ALuint, ALenum, ALint);
   1.210 +typedef void (AL_APIENTRY *LPALEFFECTIV)(ALuint, ALenum, ALint*);
   1.211 +typedef void (AL_APIENTRY *LPALEFFECTF)(ALuint, ALenum, ALfloat);
   1.212 +typedef void (AL_APIENTRY *LPALEFFECTFV)(ALuint, ALenum, ALfloat*);
   1.213 +typedef void (AL_APIENTRY *LPALGETEFFECTI)(ALuint, ALenum, ALint*);
   1.214 +typedef void (AL_APIENTRY *LPALGETEFFECTIV)(ALuint, ALenum, ALint*);
   1.215 +typedef void (AL_APIENTRY *LPALGETEFFECTF)(ALuint, ALenum, ALfloat*);
   1.216 +typedef void (AL_APIENTRY *LPALGETEFFECTFV)(ALuint, ALenum, ALfloat*);
   1.217 +
   1.218 +/* Filter object function types. */
   1.219 +typedef void (AL_APIENTRY *LPALGENFILTERS)(ALsizei, ALuint*);
   1.220 +typedef void (AL_APIENTRY *LPALDELETEFILTERS)(ALsizei, ALuint*);
   1.221 +typedef ALboolean (AL_APIENTRY *LPALISFILTER)(ALuint);
   1.222 +typedef void (AL_APIENTRY *LPALFILTERI)(ALuint, ALenum, ALint);
   1.223 +typedef void (AL_APIENTRY *LPALFILTERIV)(ALuint, ALenum, ALint*);
   1.224 +typedef void (AL_APIENTRY *LPALFILTERF)(ALuint, ALenum, ALfloat);
   1.225 +typedef void (AL_APIENTRY *LPALFILTERFV)(ALuint, ALenum, ALfloat*);
   1.226 +typedef void (AL_APIENTRY *LPALGETFILTERI)(ALuint, ALenum, ALint*);
   1.227 +typedef void (AL_APIENTRY *LPALGETFILTERIV)(ALuint, ALenum, ALint*);
   1.228 +typedef void (AL_APIENTRY *LPALGETFILTERF)(ALuint, ALenum, ALfloat*);
   1.229 +typedef void (AL_APIENTRY *LPALGETFILTERFV)(ALuint, ALenum, ALfloat*);
   1.230 +
   1.231 +/* Auxiliary Effect Slot object function types. */
   1.232 +typedef void (AL_APIENTRY *LPALGENAUXILIARYEFFECTSLOTS)(ALsizei, ALuint*);
   1.233 +typedef void (AL_APIENTRY *LPALDELETEAUXILIARYEFFECTSLOTS)(ALsizei, ALuint*);
   1.234 +typedef ALboolean (AL_APIENTRY *LPALISAUXILIARYEFFECTSLOT)(ALuint);
   1.235 +typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint);
   1.236 +typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, ALint*);
   1.237 +typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat);
   1.238 +typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, ALfloat*);
   1.239 +typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint*);
   1.240 +typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, ALint*);
   1.241 +typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat*);
   1.242 +typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, ALfloat*);
   1.243 +
   1.244 +#ifdef AL_ALEXT_PROTOTYPES
   1.245 +AL_API ALvoid AL_APIENTRY alGenEffects(ALsizei n, ALuint *effects);
   1.246 +AL_API ALvoid AL_APIENTRY alDeleteEffects(ALsizei n, ALuint *effects);
   1.247 +AL_API ALboolean AL_APIENTRY alIsEffect(ALuint effect);
   1.248 +AL_API ALvoid AL_APIENTRY alEffecti(ALuint effect, ALenum param, ALint iValue);
   1.249 +AL_API ALvoid AL_APIENTRY alEffectiv(ALuint effect, ALenum param, ALint *piValues);
   1.250 +AL_API ALvoid AL_APIENTRY alEffectf(ALuint effect, ALenum param, ALfloat flValue);
   1.251 +AL_API ALvoid AL_APIENTRY alEffectfv(ALuint effect, ALenum param, ALfloat *pflValues);
   1.252 +AL_API ALvoid AL_APIENTRY alGetEffecti(ALuint effect, ALenum param, ALint *piValue);
   1.253 +AL_API ALvoid AL_APIENTRY alGetEffectiv(ALuint effect, ALenum param, ALint *piValues);
   1.254 +AL_API ALvoid AL_APIENTRY alGetEffectf(ALuint effect, ALenum param, ALfloat *pflValue);
   1.255 +AL_API ALvoid AL_APIENTRY alGetEffectfv(ALuint effect, ALenum param, ALfloat *pflValues);
   1.256 +
   1.257 +AL_API ALvoid AL_APIENTRY alGenFilters(ALsizei n, ALuint *filters);
   1.258 +AL_API ALvoid AL_APIENTRY alDeleteFilters(ALsizei n, ALuint *filters);
   1.259 +AL_API ALboolean AL_APIENTRY alIsFilter(ALuint filter);
   1.260 +AL_API ALvoid AL_APIENTRY alFilteri(ALuint filter, ALenum param, ALint iValue);
   1.261 +AL_API ALvoid AL_APIENTRY alFilteriv(ALuint filter, ALenum param, ALint *piValues);
   1.262 +AL_API ALvoid AL_APIENTRY alFilterf(ALuint filter, ALenum param, ALfloat flValue);
   1.263 +AL_API ALvoid AL_APIENTRY alFilterfv(ALuint filter, ALenum param, ALfloat *pflValues);
   1.264 +AL_API ALvoid AL_APIENTRY alGetFilteri(ALuint filter, ALenum param, ALint *piValue);
   1.265 +AL_API ALvoid AL_APIENTRY alGetFilteriv(ALuint filter, ALenum param, ALint *piValues);
   1.266 +AL_API ALvoid AL_APIENTRY alGetFilterf(ALuint filter, ALenum param, ALfloat *pflValue);
   1.267 +AL_API ALvoid AL_APIENTRY alGetFilterfv(ALuint filter, ALenum param, ALfloat *pflValues);
   1.268 +
   1.269 +AL_API ALvoid AL_APIENTRY alGenAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots);
   1.270 +AL_API ALvoid AL_APIENTRY alDeleteAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots);
   1.271 +AL_API ALboolean AL_APIENTRY alIsAuxiliaryEffectSlot(ALuint effectslot);
   1.272 +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint iValue);
   1.273 +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues);
   1.274 +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat flValue);
   1.275 +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues);
   1.276 +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint *piValue);
   1.277 +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues);
   1.278 +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat *pflValue);
   1.279 +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues);
   1.280 +#endif
   1.281 +
   1.282 +/* Filter ranges and defaults. */
   1.283 +
   1.284 +/* Lowpass filter */
   1.285 +#define AL_LOWPASS_MIN_GAIN                      (0.0f)
   1.286 +#define AL_LOWPASS_MAX_GAIN                      (1.0f)
   1.287 +#define AL_LOWPASS_DEFAULT_GAIN                  (1.0f)
   1.288 +
   1.289 +#define AL_LOWPASS_MIN_GAINHF                    (0.0f)
   1.290 +#define AL_LOWPASS_MAX_GAINHF                    (1.0f)
   1.291 +#define AL_LOWPASS_DEFAULT_GAINHF                (1.0f)
   1.292 +
   1.293 +/* Highpass filter */
   1.294 +#define AL_HIGHPASS_MIN_GAIN                     (0.0f)
   1.295 +#define AL_HIGHPASS_MAX_GAIN                     (1.0f)
   1.296 +#define AL_HIGHPASS_DEFAULT_GAIN                 (1.0f)
   1.297 +
   1.298 +#define AL_HIGHPASS_MIN_GAINLF                   (0.0f)
   1.299 +#define AL_HIGHPASS_MAX_GAINLF                   (1.0f)
   1.300 +#define AL_HIGHPASS_DEFAULT_GAINLF               (1.0f)
   1.301 +
   1.302 +/* Bandpass filter */
   1.303 +#define AL_BANDPASS_MIN_GAIN                     (0.0f)
   1.304 +#define AL_BANDPASS_MAX_GAIN                     (1.0f)
   1.305 +#define AL_BANDPASS_DEFAULT_GAIN                 (1.0f)
   1.306 +
   1.307 +#define AL_BANDPASS_MIN_GAINHF                   (0.0f)
   1.308 +#define AL_BANDPASS_MAX_GAINHF                   (1.0f)
   1.309 +#define AL_BANDPASS_DEFAULT_GAINHF               (1.0f)
   1.310 +
   1.311 +#define AL_BANDPASS_MIN_GAINLF                   (0.0f)
   1.312 +#define AL_BANDPASS_MAX_GAINLF                   (1.0f)
   1.313 +#define AL_BANDPASS_DEFAULT_GAINLF               (1.0f)
   1.314 +
   1.315 +
   1.316 +/* Effect parameter ranges and defaults. */
   1.317 +
   1.318 +/* Standard reverb effect */
   1.319 +#define AL_REVERB_MIN_DENSITY                    (0.0f)
   1.320 +#define AL_REVERB_MAX_DENSITY                    (1.0f)
   1.321 +#define AL_REVERB_DEFAULT_DENSITY                (1.0f)
   1.322 +
   1.323 +#define AL_REVERB_MIN_DIFFUSION                  (0.0f)
   1.324 +#define AL_REVERB_MAX_DIFFUSION                  (1.0f)
   1.325 +#define AL_REVERB_DEFAULT_DIFFUSION              (1.0f)
   1.326 +
   1.327 +#define AL_REVERB_MIN_GAIN                       (0.0f)
   1.328 +#define AL_REVERB_MAX_GAIN                       (1.0f)
   1.329 +#define AL_REVERB_DEFAULT_GAIN                   (0.32f)
   1.330 +
   1.331 +#define AL_REVERB_MIN_GAINHF                     (0.0f)
   1.332 +#define AL_REVERB_MAX_GAINHF                     (1.0f)
   1.333 +#define AL_REVERB_DEFAULT_GAINHF                 (0.89f)
   1.334 +
   1.335 +#define AL_REVERB_MIN_DECAY_TIME                 (0.1f)
   1.336 +#define AL_REVERB_MAX_DECAY_TIME                 (20.0f)
   1.337 +#define AL_REVERB_DEFAULT_DECAY_TIME             (1.49f)
   1.338 +
   1.339 +#define AL_REVERB_MIN_DECAY_HFRATIO              (0.1f)
   1.340 +#define AL_REVERB_MAX_DECAY_HFRATIO              (2.0f)
   1.341 +#define AL_REVERB_DEFAULT_DECAY_HFRATIO          (0.83f)
   1.342 +
   1.343 +#define AL_REVERB_MIN_REFLECTIONS_GAIN           (0.0f)
   1.344 +#define AL_REVERB_MAX_REFLECTIONS_GAIN           (3.16f)
   1.345 +#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN       (0.05f)
   1.346 +
   1.347 +#define AL_REVERB_MIN_REFLECTIONS_DELAY          (0.0f)
   1.348 +#define AL_REVERB_MAX_REFLECTIONS_DELAY          (0.3f)
   1.349 +#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY      (0.007f)
   1.350 +
   1.351 +#define AL_REVERB_MIN_LATE_REVERB_GAIN           (0.0f)
   1.352 +#define AL_REVERB_MAX_LATE_REVERB_GAIN           (10.0f)
   1.353 +#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN       (1.26f)
   1.354 +
   1.355 +#define AL_REVERB_MIN_LATE_REVERB_DELAY          (0.0f)
   1.356 +#define AL_REVERB_MAX_LATE_REVERB_DELAY          (0.1f)
   1.357 +#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY      (0.011f)
   1.358 +
   1.359 +#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF      (0.892f)
   1.360 +#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF      (1.0f)
   1.361 +#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF  (0.994f)
   1.362 +
   1.363 +#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR        (0.0f)
   1.364 +#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR        (10.0f)
   1.365 +#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR    (0.0f)
   1.366 +
   1.367 +#define AL_REVERB_MIN_DECAY_HFLIMIT              AL_FALSE
   1.368 +#define AL_REVERB_MAX_DECAY_HFLIMIT              AL_TRUE
   1.369 +#define AL_REVERB_DEFAULT_DECAY_HFLIMIT          AL_TRUE
   1.370 +
   1.371 +/* EAX reverb effect */
   1.372 +#define AL_EAXREVERB_MIN_DENSITY                 (0.0f)
   1.373 +#define AL_EAXREVERB_MAX_DENSITY                 (1.0f)
   1.374 +#define AL_EAXREVERB_DEFAULT_DENSITY             (1.0f)
   1.375 +
   1.376 +#define AL_EAXREVERB_MIN_DIFFUSION               (0.0f)
   1.377 +#define AL_EAXREVERB_MAX_DIFFUSION               (1.0f)
   1.378 +#define AL_EAXREVERB_DEFAULT_DIFFUSION           (1.0f)
   1.379 +
   1.380 +#define AL_EAXREVERB_MIN_GAIN                    (0.0f)
   1.381 +#define AL_EAXREVERB_MAX_GAIN                    (1.0f)
   1.382 +#define AL_EAXREVERB_DEFAULT_GAIN                (0.32f)
   1.383 +
   1.384 +#define AL_EAXREVERB_MIN_GAINHF                  (0.0f)
   1.385 +#define AL_EAXREVERB_MAX_GAINHF                  (1.0f)
   1.386 +#define AL_EAXREVERB_DEFAULT_GAINHF              (0.89f)
   1.387 +
   1.388 +#define AL_EAXREVERB_MIN_GAINLF                  (0.0f)
   1.389 +#define AL_EAXREVERB_MAX_GAINLF                  (1.0f)
   1.390 +#define AL_EAXREVERB_DEFAULT_GAINLF              (1.0f)
   1.391 +
   1.392 +#define AL_EAXREVERB_MIN_DECAY_TIME              (0.1f)
   1.393 +#define AL_EAXREVERB_MAX_DECAY_TIME              (20.0f)
   1.394 +#define AL_EAXREVERB_DEFAULT_DECAY_TIME          (1.49f)
   1.395 +
   1.396 +#define AL_EAXREVERB_MIN_DECAY_HFRATIO           (0.1f)
   1.397 +#define AL_EAXREVERB_MAX_DECAY_HFRATIO           (2.0f)
   1.398 +#define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO       (0.83f)
   1.399 +
   1.400 +#define AL_EAXREVERB_MIN_DECAY_LFRATIO           (0.1f)
   1.401 +#define AL_EAXREVERB_MAX_DECAY_LFRATIO           (2.0f)
   1.402 +#define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO       (1.0f)
   1.403 +
   1.404 +#define AL_EAXREVERB_MIN_REFLECTIONS_GAIN        (0.0f)
   1.405 +#define AL_EAXREVERB_MAX_REFLECTIONS_GAIN        (3.16f)
   1.406 +#define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN    (0.05f)
   1.407 +
   1.408 +#define AL_EAXREVERB_MIN_REFLECTIONS_DELAY       (0.0f)
   1.409 +#define AL_EAXREVERB_MAX_REFLECTIONS_DELAY       (0.3f)
   1.410 +#define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY   (0.007f)
   1.411 +
   1.412 +#define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ (0.0f)
   1.413 +
   1.414 +#define AL_EAXREVERB_MIN_LATE_REVERB_GAIN        (0.0f)
   1.415 +#define AL_EAXREVERB_MAX_LATE_REVERB_GAIN        (10.0f)
   1.416 +#define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN    (1.26f)
   1.417 +
   1.418 +#define AL_EAXREVERB_MIN_LATE_REVERB_DELAY       (0.0f)
   1.419 +#define AL_EAXREVERB_MAX_LATE_REVERB_DELAY       (0.1f)
   1.420 +#define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY   (0.011f)
   1.421 +
   1.422 +#define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ (0.0f)
   1.423 +
   1.424 +#define AL_EAXREVERB_MIN_ECHO_TIME               (0.075f)
   1.425 +#define AL_EAXREVERB_MAX_ECHO_TIME               (0.25f)
   1.426 +#define AL_EAXREVERB_DEFAULT_ECHO_TIME           (0.25f)
   1.427 +
   1.428 +#define AL_EAXREVERB_MIN_ECHO_DEPTH              (0.0f)
   1.429 +#define AL_EAXREVERB_MAX_ECHO_DEPTH              (1.0f)
   1.430 +#define AL_EAXREVERB_DEFAULT_ECHO_DEPTH          (0.0f)
   1.431 +
   1.432 +#define AL_EAXREVERB_MIN_MODULATION_TIME         (0.04f)
   1.433 +#define AL_EAXREVERB_MAX_MODULATION_TIME         (4.0f)
   1.434 +#define AL_EAXREVERB_DEFAULT_MODULATION_TIME     (0.25f)
   1.435 +
   1.436 +#define AL_EAXREVERB_MIN_MODULATION_DEPTH        (0.0f)
   1.437 +#define AL_EAXREVERB_MAX_MODULATION_DEPTH        (1.0f)
   1.438 +#define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH    (0.0f)
   1.439 +
   1.440 +#define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF   (0.892f)
   1.441 +#define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF   (1.0f)
   1.442 +#define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f)
   1.443 +
   1.444 +#define AL_EAXREVERB_MIN_HFREFERENCE             (1000.0f)
   1.445 +#define AL_EAXREVERB_MAX_HFREFERENCE             (20000.0f)
   1.446 +#define AL_EAXREVERB_DEFAULT_HFREFERENCE         (5000.0f)
   1.447 +
   1.448 +#define AL_EAXREVERB_MIN_LFREFERENCE             (20.0f)
   1.449 +#define AL_EAXREVERB_MAX_LFREFERENCE             (1000.0f)
   1.450 +#define AL_EAXREVERB_DEFAULT_LFREFERENCE         (250.0f)
   1.451 +
   1.452 +#define AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR     (0.0f)
   1.453 +#define AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR     (10.0f)
   1.454 +#define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f)
   1.455 +
   1.456 +#define AL_EAXREVERB_MIN_DECAY_HFLIMIT           AL_FALSE
   1.457 +#define AL_EAXREVERB_MAX_DECAY_HFLIMIT           AL_TRUE
   1.458 +#define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT       AL_TRUE
   1.459 +
   1.460 +/* Chorus effect */
   1.461 +#define AL_CHORUS_WAVEFORM_SINUSOID              (0)
   1.462 +#define AL_CHORUS_WAVEFORM_TRIANGLE              (1)
   1.463 +
   1.464 +#define AL_CHORUS_MIN_WAVEFORM                   (0)
   1.465 +#define AL_CHORUS_MAX_WAVEFORM                   (1)
   1.466 +#define AL_CHORUS_DEFAULT_WAVEFORM               (1)
   1.467 +
   1.468 +#define AL_CHORUS_MIN_PHASE                      (-180)
   1.469 +#define AL_CHORUS_MAX_PHASE                      (180)
   1.470 +#define AL_CHORUS_DEFAULT_PHASE                  (90)
   1.471 +
   1.472 +#define AL_CHORUS_MIN_RATE                       (0.0f)
   1.473 +#define AL_CHORUS_MAX_RATE                       (10.0f)
   1.474 +#define AL_CHORUS_DEFAULT_RATE                   (1.1f)
   1.475 +
   1.476 +#define AL_CHORUS_MIN_DEPTH                      (0.0f)
   1.477 +#define AL_CHORUS_MAX_DEPTH                      (1.0f)
   1.478 +#define AL_CHORUS_DEFAULT_DEPTH                  (0.1f)
   1.479 +
   1.480 +#define AL_CHORUS_MIN_FEEDBACK                   (-1.0f)
   1.481 +#define AL_CHORUS_MAX_FEEDBACK                   (1.0f)
   1.482 +#define AL_CHORUS_DEFAULT_FEEDBACK               (0.25f)
   1.483 +
   1.484 +#define AL_CHORUS_MIN_DELAY                      (0.0f)
   1.485 +#define AL_CHORUS_MAX_DELAY                      (0.016f)
   1.486 +#define AL_CHORUS_DEFAULT_DELAY                  (0.016f)
   1.487 +
   1.488 +/* Distortion effect */
   1.489 +#define AL_DISTORTION_MIN_EDGE                   (0.0f)
   1.490 +#define AL_DISTORTION_MAX_EDGE                   (1.0f)
   1.491 +#define AL_DISTORTION_DEFAULT_EDGE               (0.2f)
   1.492 +
   1.493 +#define AL_DISTORTION_MIN_GAIN                   (0.01f)
   1.494 +#define AL_DISTORTION_MAX_GAIN                   (1.0f)
   1.495 +#define AL_DISTORTION_DEFAULT_GAIN               (0.05f)
   1.496 +
   1.497 +#define AL_DISTORTION_MIN_LOWPASS_CUTOFF         (80.0f)
   1.498 +#define AL_DISTORTION_MAX_LOWPASS_CUTOFF         (24000.0f)
   1.499 +#define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF     (8000.0f)
   1.500 +
   1.501 +#define AL_DISTORTION_MIN_EQCENTER               (80.0f)
   1.502 +#define AL_DISTORTION_MAX_EQCENTER               (24000.0f)
   1.503 +#define AL_DISTORTION_DEFAULT_EQCENTER           (3600.0f)
   1.504 +
   1.505 +#define AL_DISTORTION_MIN_EQBANDWIDTH            (80.0f)
   1.506 +#define AL_DISTORTION_MAX_EQBANDWIDTH            (24000.0f)
   1.507 +#define AL_DISTORTION_DEFAULT_EQBANDWIDTH        (3600.0f)
   1.508 +
   1.509 +/* Echo effect */
   1.510 +#define AL_ECHO_MIN_DELAY                        (0.0f)
   1.511 +#define AL_ECHO_MAX_DELAY                        (0.207f)
   1.512 +#define AL_ECHO_DEFAULT_DELAY                    (0.1f)
   1.513 +
   1.514 +#define AL_ECHO_MIN_LRDELAY                      (0.0f)
   1.515 +#define AL_ECHO_MAX_LRDELAY                      (0.404f)
   1.516 +#define AL_ECHO_DEFAULT_LRDELAY                  (0.1f)
   1.517 +
   1.518 +#define AL_ECHO_MIN_DAMPING                      (0.0f)
   1.519 +#define AL_ECHO_MAX_DAMPING                      (0.99f)
   1.520 +#define AL_ECHO_DEFAULT_DAMPING                  (0.5f)
   1.521 +
   1.522 +#define AL_ECHO_MIN_FEEDBACK                     (0.0f)
   1.523 +#define AL_ECHO_MAX_FEEDBACK                     (1.0f)
   1.524 +#define AL_ECHO_DEFAULT_FEEDBACK                 (0.5f)
   1.525 +
   1.526 +#define AL_ECHO_MIN_SPREAD                       (-1.0f)
   1.527 +#define AL_ECHO_MAX_SPREAD                       (1.0f)
   1.528 +#define AL_ECHO_DEFAULT_SPREAD                   (-1.0f)
   1.529 +
   1.530 +/* Flanger effect */
   1.531 +#define AL_FLANGER_WAVEFORM_SINUSOID             (0)
   1.532 +#define AL_FLANGER_WAVEFORM_TRIANGLE             (1)
   1.533 +
   1.534 +#define AL_FLANGER_MIN_WAVEFORM                  (0)
   1.535 +#define AL_FLANGER_MAX_WAVEFORM                  (1)
   1.536 +#define AL_FLANGER_DEFAULT_WAVEFORM              (1)
   1.537 +
   1.538 +#define AL_FLANGER_MIN_PHASE                     (-180)
   1.539 +#define AL_FLANGER_MAX_PHASE                     (180)
   1.540 +#define AL_FLANGER_DEFAULT_PHASE                 (0)
   1.541 +
   1.542 +#define AL_FLANGER_MIN_RATE                      (0.0f)
   1.543 +#define AL_FLANGER_MAX_RATE                      (10.0f)
   1.544 +#define AL_FLANGER_DEFAULT_RATE                  (0.27f)
   1.545 +
   1.546 +#define AL_FLANGER_MIN_DEPTH                     (0.0f)
   1.547 +#define AL_FLANGER_MAX_DEPTH                     (1.0f)
   1.548 +#define AL_FLANGER_DEFAULT_DEPTH                 (1.0f)
   1.549 +
   1.550 +#define AL_FLANGER_MIN_FEEDBACK                  (-1.0f)
   1.551 +#define AL_FLANGER_MAX_FEEDBACK                  (1.0f)
   1.552 +#define AL_FLANGER_DEFAULT_FEEDBACK              (-0.5f)
   1.553 +
   1.554 +#define AL_FLANGER_MIN_DELAY                     (0.0f)
   1.555 +#define AL_FLANGER_MAX_DELAY                     (0.004f)
   1.556 +#define AL_FLANGER_DEFAULT_DELAY                 (0.002f)
   1.557 +
   1.558 +/* Frequency shifter effect */
   1.559 +#define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY       (0.0f)
   1.560 +#define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY       (24000.0f)
   1.561 +#define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY   (0.0f)
   1.562 +
   1.563 +#define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION  (0)
   1.564 +#define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION  (2)
   1.565 +#define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION (0)
   1.566 +
   1.567 +#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN      (0)
   1.568 +#define AL_FREQUENCY_SHIFTER_DIRECTION_UP        (1)
   1.569 +#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF       (2)
   1.570 +
   1.571 +#define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION (0)
   1.572 +#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION (2)
   1.573 +#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION (0)
   1.574 +
   1.575 +/* Vocal morpher effect */
   1.576 +#define AL_VOCAL_MORPHER_MIN_PHONEMEA            (0)
   1.577 +#define AL_VOCAL_MORPHER_MAX_PHONEMEA            (29)
   1.578 +#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA        (0)
   1.579 +
   1.580 +#define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24)
   1.581 +#define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING (24)
   1.582 +#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING (0)
   1.583 +
   1.584 +#define AL_VOCAL_MORPHER_MIN_PHONEMEB            (0)
   1.585 +#define AL_VOCAL_MORPHER_MAX_PHONEMEB            (29)
   1.586 +#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB        (10)
   1.587 +
   1.588 +#define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24)
   1.589 +#define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING (24)
   1.590 +#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING (0)
   1.591 +
   1.592 +#define AL_VOCAL_MORPHER_PHONEME_A               (0)
   1.593 +#define AL_VOCAL_MORPHER_PHONEME_E               (1)
   1.594 +#define AL_VOCAL_MORPHER_PHONEME_I               (2)
   1.595 +#define AL_VOCAL_MORPHER_PHONEME_O               (3)
   1.596 +#define AL_VOCAL_MORPHER_PHONEME_U               (4)
   1.597 +#define AL_VOCAL_MORPHER_PHONEME_AA              (5)
   1.598 +#define AL_VOCAL_MORPHER_PHONEME_AE              (6)
   1.599 +#define AL_VOCAL_MORPHER_PHONEME_AH              (7)
   1.600 +#define AL_VOCAL_MORPHER_PHONEME_AO              (8)
   1.601 +#define AL_VOCAL_MORPHER_PHONEME_EH              (9)
   1.602 +#define AL_VOCAL_MORPHER_PHONEME_ER              (10)
   1.603 +#define AL_VOCAL_MORPHER_PHONEME_IH              (11)
   1.604 +#define AL_VOCAL_MORPHER_PHONEME_IY              (12)
   1.605 +#define AL_VOCAL_MORPHER_PHONEME_UH              (13)
   1.606 +#define AL_VOCAL_MORPHER_PHONEME_UW              (14)
   1.607 +#define AL_VOCAL_MORPHER_PHONEME_B               (15)
   1.608 +#define AL_VOCAL_MORPHER_PHONEME_D               (16)
   1.609 +#define AL_VOCAL_MORPHER_PHONEME_F               (17)
   1.610 +#define AL_VOCAL_MORPHER_PHONEME_G               (18)
   1.611 +#define AL_VOCAL_MORPHER_PHONEME_J               (19)
   1.612 +#define AL_VOCAL_MORPHER_PHONEME_K               (20)
   1.613 +#define AL_VOCAL_MORPHER_PHONEME_L               (21)
   1.614 +#define AL_VOCAL_MORPHER_PHONEME_M               (22)
   1.615 +#define AL_VOCAL_MORPHER_PHONEME_N               (23)
   1.616 +#define AL_VOCAL_MORPHER_PHONEME_P               (24)
   1.617 +#define AL_VOCAL_MORPHER_PHONEME_R               (25)
   1.618 +#define AL_VOCAL_MORPHER_PHONEME_S               (26)
   1.619 +#define AL_VOCAL_MORPHER_PHONEME_T               (27)
   1.620 +#define AL_VOCAL_MORPHER_PHONEME_V               (28)
   1.621 +#define AL_VOCAL_MORPHER_PHONEME_Z               (29)
   1.622 +
   1.623 +#define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID       (0)
   1.624 +#define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE       (1)
   1.625 +#define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH       (2)
   1.626 +
   1.627 +#define AL_VOCAL_MORPHER_MIN_WAVEFORM            (0)
   1.628 +#define AL_VOCAL_MORPHER_MAX_WAVEFORM            (2)
   1.629 +#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM        (0)
   1.630 +
   1.631 +#define AL_VOCAL_MORPHER_MIN_RATE                (0.0f)
   1.632 +#define AL_VOCAL_MORPHER_MAX_RATE                (10.0f)
   1.633 +#define AL_VOCAL_MORPHER_DEFAULT_RATE            (1.41f)
   1.634 +
   1.635 +/* Pitch shifter effect */
   1.636 +#define AL_PITCH_SHIFTER_MIN_COARSE_TUNE         (-12)
   1.637 +#define AL_PITCH_SHIFTER_MAX_COARSE_TUNE         (12)
   1.638 +#define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE     (12)
   1.639 +
   1.640 +#define AL_PITCH_SHIFTER_MIN_FINE_TUNE           (-50)
   1.641 +#define AL_PITCH_SHIFTER_MAX_FINE_TUNE           (50)
   1.642 +#define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE       (0)
   1.643 +
   1.644 +/* Ring modulator effect */
   1.645 +#define AL_RING_MODULATOR_MIN_FREQUENCY          (0.0f)
   1.646 +#define AL_RING_MODULATOR_MAX_FREQUENCY          (8000.0f)
   1.647 +#define AL_RING_MODULATOR_DEFAULT_FREQUENCY      (440.0f)
   1.648 +
   1.649 +#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF    (0.0f)
   1.650 +#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF    (24000.0f)
   1.651 +#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF (800.0f)
   1.652 +
   1.653 +#define AL_RING_MODULATOR_SINUSOID               (0)
   1.654 +#define AL_RING_MODULATOR_SAWTOOTH               (1)
   1.655 +#define AL_RING_MODULATOR_SQUARE                 (2)
   1.656 +
   1.657 +#define AL_RING_MODULATOR_MIN_WAVEFORM           (0)
   1.658 +#define AL_RING_MODULATOR_MAX_WAVEFORM           (2)
   1.659 +#define AL_RING_MODULATOR_DEFAULT_WAVEFORM       (0)
   1.660 +
   1.661 +/* Autowah effect */
   1.662 +#define AL_AUTOWAH_MIN_ATTACK_TIME               (0.0001f)
   1.663 +#define AL_AUTOWAH_MAX_ATTACK_TIME               (1.0f)
   1.664 +#define AL_AUTOWAH_DEFAULT_ATTACK_TIME           (0.06f)
   1.665 +
   1.666 +#define AL_AUTOWAH_MIN_RELEASE_TIME              (0.0001f)
   1.667 +#define AL_AUTOWAH_MAX_RELEASE_TIME              (1.0f)
   1.668 +#define AL_AUTOWAH_DEFAULT_RELEASE_TIME          (0.06f)
   1.669 +
   1.670 +#define AL_AUTOWAH_MIN_RESONANCE                 (2.0f)
   1.671 +#define AL_AUTOWAH_MAX_RESONANCE                 (1000.0f)
   1.672 +#define AL_AUTOWAH_DEFAULT_RESONANCE             (1000.0f)
   1.673 +
   1.674 +#define AL_AUTOWAH_MIN_PEAK_GAIN                 (0.00003f)
   1.675 +#define AL_AUTOWAH_MAX_PEAK_GAIN                 (31621.0f)
   1.676 +#define AL_AUTOWAH_DEFAULT_PEAK_GAIN             (11.22f)
   1.677 +
   1.678 +/* Compressor effect */
   1.679 +#define AL_COMPRESSOR_MIN_ONOFF                  (0)
   1.680 +#define AL_COMPRESSOR_MAX_ONOFF                  (1)
   1.681 +#define AL_COMPRESSOR_DEFAULT_ONOFF              (1)
   1.682 +
   1.683 +/* Equalizer effect */
   1.684 +#define AL_EQUALIZER_MIN_LOW_GAIN                (0.126f)
   1.685 +#define AL_EQUALIZER_MAX_LOW_GAIN                (7.943f)
   1.686 +#define AL_EQUALIZER_DEFAULT_LOW_GAIN            (1.0f)
   1.687 +
   1.688 +#define AL_EQUALIZER_MIN_LOW_CUTOFF              (50.0f)
   1.689 +#define AL_EQUALIZER_MAX_LOW_CUTOFF              (800.0f)
   1.690 +#define AL_EQUALIZER_DEFAULT_LOW_CUTOFF          (200.0f)
   1.691 +
   1.692 +#define AL_EQUALIZER_MIN_MID1_GAIN               (0.126f)
   1.693 +#define AL_EQUALIZER_MAX_MID1_GAIN               (7.943f)
   1.694 +#define AL_EQUALIZER_DEFAULT_MID1_GAIN           (1.0f)
   1.695 +
   1.696 +#define AL_EQUALIZER_MIN_MID1_CENTER             (200.0f)
   1.697 +#define AL_EQUALIZER_MAX_MID1_CENTER             (3000.0f)
   1.698 +#define AL_EQUALIZER_DEFAULT_MID1_CENTER         (500.0f)
   1.699 +
   1.700 +#define AL_EQUALIZER_MIN_MID1_WIDTH              (0.01f)
   1.701 +#define AL_EQUALIZER_MAX_MID1_WIDTH              (1.0f)
   1.702 +#define AL_EQUALIZER_DEFAULT_MID1_WIDTH          (1.0f)
   1.703 +
   1.704 +#define AL_EQUALIZER_MIN_MID2_GAIN               (0.126f)
   1.705 +#define AL_EQUALIZER_MAX_MID2_GAIN               (7.943f)
   1.706 +#define AL_EQUALIZER_DEFAULT_MID2_GAIN           (1.0f)
   1.707 +
   1.708 +#define AL_EQUALIZER_MIN_MID2_CENTER             (1000.0f)
   1.709 +#define AL_EQUALIZER_MAX_MID2_CENTER             (8000.0f)
   1.710 +#define AL_EQUALIZER_DEFAULT_MID2_CENTER         (3000.0f)
   1.711 +
   1.712 +#define AL_EQUALIZER_MIN_MID2_WIDTH              (0.01f)
   1.713 +#define AL_EQUALIZER_MAX_MID2_WIDTH              (1.0f)
   1.714 +#define AL_EQUALIZER_DEFAULT_MID2_WIDTH          (1.0f)
   1.715 +
   1.716 +#define AL_EQUALIZER_MIN_HIGH_GAIN               (0.126f)
   1.717 +#define AL_EQUALIZER_MAX_HIGH_GAIN               (7.943f)
   1.718 +#define AL_EQUALIZER_DEFAULT_HIGH_GAIN           (1.0f)
   1.719 +
   1.720 +#define AL_EQUALIZER_MIN_HIGH_CUTOFF             (4000.0f)
   1.721 +#define AL_EQUALIZER_MAX_HIGH_CUTOFF             (16000.0f)
   1.722 +#define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF         (6000.0f)
   1.723 +
   1.724 +
   1.725 +/* Source parameter value ranges and defaults. */
   1.726 +#define AL_MIN_AIR_ABSORPTION_FACTOR             (0.0f)
   1.727 +#define AL_MAX_AIR_ABSORPTION_FACTOR             (10.0f)
   1.728 +#define AL_DEFAULT_AIR_ABSORPTION_FACTOR         (0.0f)
   1.729 +
   1.730 +#define AL_MIN_ROOM_ROLLOFF_FACTOR               (0.0f)
   1.731 +#define AL_MAX_ROOM_ROLLOFF_FACTOR               (10.0f)
   1.732 +#define AL_DEFAULT_ROOM_ROLLOFF_FACTOR           (0.0f)
   1.733 +
   1.734 +#define AL_MIN_CONE_OUTER_GAINHF                 (0.0f)
   1.735 +#define AL_MAX_CONE_OUTER_GAINHF                 (1.0f)
   1.736 +#define AL_DEFAULT_CONE_OUTER_GAINHF             (1.0f)
   1.737 +
   1.738 +#define AL_MIN_DIRECT_FILTER_GAINHF_AUTO         AL_FALSE
   1.739 +#define AL_MAX_DIRECT_FILTER_GAINHF_AUTO         AL_TRUE
   1.740 +#define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO     AL_TRUE
   1.741 +
   1.742 +#define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO   AL_FALSE
   1.743 +#define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO   AL_TRUE
   1.744 +#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE
   1.745 +
   1.746 +#define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE
   1.747 +#define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
   1.748 +#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
   1.749 +
   1.750 +
   1.751 +/* Listener parameter value ranges and defaults. */
   1.752 +#define AL_MIN_METERS_PER_UNIT                   FLT_MIN
   1.753 +#define AL_MAX_METERS_PER_UNIT                   FLT_MAX
   1.754 +#define AL_DEFAULT_METERS_PER_UNIT               (1.0f)
   1.755 +
   1.756 +
   1.757 +#ifdef __cplusplus
   1.758 +}  /* extern "C" */
   1.759 +#endif
   1.760 +
   1.761 +#endif /* AL_EFX_H */