1 // Copyright 2018 - 2021 Michael D. Parker 2 // Distributed under the Boost Software License, Version 1.0. 3 // See accompanying file LICENSE_1_0.txt or copy at 4 // http://www.boost.org/LICENSE_1_0.txt) 5 6 module bindbc.openal.efx; 7 import bindbc.openal.types; 8 9 version(AL_EFX): 10 11 enum ALC_EXT_EFX_NAME = "ALC_EXT_EFX"; 12 enum ALC_EFX_MAJOR_VERSION = 0x20001; 13 enum ALC_EFX_MINOR_VERSION = 0x20002; 14 enum ALC_MAX_AUXILIARY_SENDS = 0x20003; 15 16 ///Listener Properties 17 enum AL_METERS_PER_UNIT = 0x20004; 18 19 ///Source Properties 20 enum AL_DIRECT_FILTER = 0x20005; 21 enum AL_AUXILIARY_SEND_FILTER = 0x20006; 22 enum AL_AIR_ABSORPTION_FACTOR = 0x20007; 23 enum AL_ROOM_ROLLOFF_FACTOR = 0x20008; 24 enum AL_CONE_OUTER_GAINHF = 0x20009; 25 enum AL_DIRECT_FILTER_GAINHF_AUTO = 0x2000A; 26 enum AL_AUXILIARY_SEND_FILTER_GAIN_AUTO = 0x2000B; 27 enum AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO = 0x2000C; 28 29 30 ///Effect Properties 31 32 ///Reverb effect parameters 33 enum : ALuint 34 { 35 AL_REVERB_DENSITY = 0x0001, 36 AL_REVERB_DIFFUSION = 0x0002, 37 AL_REVERB_GAIN = 0x0003, 38 AL_REVERB_GAINHF = 0x0004, 39 AL_REVERB_DECAY_TIME = 0x0005, 40 AL_REVERB_DECAY_HFRATIO = 0x0006, 41 AL_REVERB_REFLECTIONS_GAIN = 0x0007, 42 AL_REVERB_REFLECTIONS_DELAY = 0x0008, 43 AL_REVERB_LATE_REVERB_GAIN = 0x0009, 44 AL_REVERB_LATE_REVERB_DELAY = 0x000A, 45 AL_REVERB_AIR_ABSORPTION_GAINHF = 0x000B, 46 AL_REVERB_ROOM_ROLLOFF_FACTOR = 0x000C, 47 AL_REVERB_DECAY_HFLIMIT = 0x000D, 48 } 49 50 ///EAX Reverb effect parameters 51 enum : ALuint 52 { 53 AL_EAXREVERB_DENSITY = 0x0001, 54 AL_EAXREVERB_DIFFUSION = 0x0002, 55 AL_EAXREVERB_GAIN = 0x0003, 56 AL_EAXREVERB_GAINHF = 0x0004, 57 AL_EAXREVERB_GAINLF = 0x0005, 58 AL_EAXREVERB_DECAY_TIME = 0x0006, 59 AL_EAXREVERB_DECAY_HFRATIO = 0x0007, 60 AL_EAXREVERB_DECAY_LFRATIO = 0x0008, 61 AL_EAXREVERB_REFLECTIONS_GAIN = 0x0009, 62 AL_EAXREVERB_REFLECTIONS_DELAY = 0x000A, 63 AL_EAXREVERB_REFLECTIONS_PAN = 0x000B, 64 AL_EAXREVERB_LATE_REVERB_GAIN = 0x000C, 65 AL_EAXREVERB_LATE_REVERB_DELAY = 0x000D, 66 AL_EAXREVERB_LATE_REVERB_PAN = 0x000E, 67 AL_EAXREVERB_ECHO_TIME = 0x000F, 68 AL_EAXREVERB_ECHO_DEPTH = 0x0010, 69 AL_EAXREVERB_MODULATION_TIME = 0x0011, 70 AL_EAXREVERB_MODULATION_DEPTH = 0x0012, 71 AL_EAXREVERB_AIR_ABSORPTION_GAINHF = 0x0013, 72 AL_EAXREVERB_HFREFERENCE = 0x0014, 73 AL_EAXREVERB_LFREFERENCE = 0x0015, 74 AL_EAXREVERB_ROOM_ROLLOFF_FACTOR = 0x0016, 75 AL_EAXREVERB_DECAY_HFLIMIT = 0x0017 76 } 77 78 /* Chorus effect parameters */ 79 enum : ALuint 80 { 81 AL_CHORUS_WAVEFORM = 0x0001, 82 AL_CHORUS_PHASE = 0x0002, 83 AL_CHORUS_RATE = 0x0003, 84 AL_CHORUS_DEPTH = 0x0004, 85 AL_CHORUS_FEEDBACK = 0x0005, 86 AL_CHORUS_DELAY = 0x0006 87 } 88 89 ///Distortion effect parameters 90 enum : ALuint 91 { 92 AL_DISTORTION_EDGE = 0x0001, 93 AL_DISTORTION_GAIN = 0x0002, 94 AL_DISTORTION_LOWPASS_CUTOFF = 0x0003, 95 AL_DISTORTION_EQCENTER = 0x0004, 96 AL_DISTORTION_EQBANDWIDTH = 0x0005, 97 } 98 99 ///Echo effect parameters 100 enum : ALuint 101 { 102 AL_ECHO_DELAY = 0x0001, 103 AL_ECHO_LRDELAY = 0x0002, 104 AL_ECHO_DAMPING = 0x0003, 105 AL_ECHO_FEEDBACK = 0x0004, 106 AL_ECHO_SPREAD = 0x0005 107 } 108 109 /* Flanger effect parameters */ 110 enum : ALuint 111 { 112 AL_FLANGER_WAVEFORM = 0x0001, 113 AL_FLANGER_PHASE = 0x0002, 114 AL_FLANGER_RATE = 0x0003, 115 AL_FLANGER_DEPTH = 0x0004, 116 AL_FLANGER_FEEDBACK = 0x0005, 117 AL_FLANGER_DELAY = 0x0006 118 } 119 120 121 /* Frequency shifter effect parameters */ 122 enum : ALuint 123 { 124 AL_FREQUENCY_SHIFTER_FREQUENCY = 0x0001, 125 AL_FREQUENCY_SHIFTER_LEFT_DIRECTION = 0x0002, 126 AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION = 0x0003 127 } 128 129 /* Vocal morpher effect parameters */ 130 131 enum : ALuint 132 { 133 AL_VOCAL_MORPHER_PHONEMEA = 0x0001, 134 AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 0x0002, 135 AL_VOCAL_MORPHER_PHONEMEB = 0x0003, 136 AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 0x0004, 137 AL_VOCAL_MORPHER_WAVEFORM = 0x0005, 138 AL_VOCAL_MORPHER_RATE = 0x0006 139 } 140 141 /* Pitchshifter effect parameters */ 142 143 enum : ALuint 144 { 145 AL_PITCH_SHIFTER_COARSE_TUNE = 0x0001, 146 AL_PITCH_SHIFTER_FINE_TUNE = 0x0002 147 } 148 149 /* Ringmodulator effect parameters */ 150 enum : ALuint 151 { 152 AL_RING_MODULATOR_FREQUENCY = 0x0001, 153 AL_RING_MODULATOR_HIGHPASS_CUTOFF = 0x0002, 154 AL_RING_MODULATOR_WAVEFORM = 0x0003 155 } 156 157 /* Autowah effect parameters */ 158 enum : ALuint 159 { 160 AL_AUTOWAH_ATTACK_TIME = 0x0001, 161 AL_AUTOWAH_RELEASE_TIME = 0x0002, 162 AL_AUTOWAH_RESONANCE = 0x0003, 163 AL_AUTOWAH_PEAK_GAIN = 0x0004 164 } 165 166 /* Compressor effect parameters */ 167 enum : ALuint 168 { 169 AL_COMPRESSOR_ONOFF = 0x0001 170 } 171 172 /* Equalizer effect parameters */ 173 enum : ALuint 174 { 175 AL_EQUALIZER_LOW_GAIN = 0x0001, 176 AL_EQUALIZER_LOW_CUTOFF = 0x0002, 177 AL_EQUALIZER_MID1_GAIN = 0x0003, 178 AL_EQUALIZER_MID1_CENTER = 0x0004, 179 AL_EQUALIZER_MID1_WIDTH = 0x0005, 180 AL_EQUALIZER_MID2_GAIN = 0x0006, 181 AL_EQUALIZER_MID2_CENTER = 0x0007, 182 AL_EQUALIZER_MID2_WIDTH = 0x0008, 183 AL_EQUALIZER_HIGH_GAIN = 0x0009, 184 AL_EQUALIZER_HIGH_CUTOFF = 0x000A 185 } 186 187 /* Effect type */ 188 enum AL_EFFECT_FIRST_PARAMETER = 0x0000; 189 enum AL_EFFECT_LAST_PARAMETER = 0x8000; 190 enum AL_EFFECT_TYPE = 0x8001; 191 192 /* Effect types, used with the AL_EFFECT_TYPE property */ 193 enum : ALuint 194 { 195 AL_EFFECT_NULL = 0x0000, 196 AL_EFFECT_REVERB = 0x0001, 197 AL_EFFECT_CHORUS = 0x0002, 198 AL_EFFECT_DISTORTION = 0x0003, 199 AL_EFFECT_ECHO = 0x0004, 200 AL_EFFECT_FLANGER = 0x0005, 201 AL_EFFECT_FREQUENCY_SHIFTER = 0x0006, 202 AL_EFFECT_VOCAL_MORPHER = 0x0007, 203 AL_EFFECT_PITCH_SHIFTER = 0x0008, 204 AL_EFFECT_RING_MODULATOR = 0x0009, 205 AL_EFFECT_AUTOWAH = 0x000A, 206 AL_EFFECT_COMPRESSOR = 0x000B, 207 AL_EFFECT_EQUALIZER = 0x000C, 208 AL_EFFECT_EAXREVERB = 0x8000 209 } 210 211 /* Auxiliary Effect Slot properties. */ 212 enum : ALuint 213 { 214 AL_EFFECTSLOT_EFFECT = 0x0001, 215 AL_EFFECTSLOT_GAIN = 0x0002, 216 AL_EFFECTSLOT_AUXILIARY_SEND_AUTO = 0x0003 217 } 218 219 /* NULL Auxiliary Slot ID to disable a source send. */ 220 enum AL_EFFECTSLOT_NULL = 0x0000; 221 222 223 /* Filter properties. */ 224 225 /* Lowpass filter parameters */ 226 enum : ALuint 227 { 228 AL_LOWPASS_GAIN = 0x0001, 229 AL_LOWPASS_GAINHF = 0x0002 230 } 231 232 /* Highpass filter parameters */ 233 enum : ALuint 234 { 235 AL_HIGHPASS_GAIN = 0x0001, 236 AL_HIGHPASS_GAINLF = 0x0002 237 } 238 239 /* Bandpass filter parameters */ 240 enum : ALuint 241 { 242 AL_BANDPASS_GAIN = 0x0001, 243 AL_BANDPASS_GAINLF = 0x0002, 244 AL_BANDPASS_GAINHF = 0x0003 245 } 246 247 /* Filter type */ 248 249 enum AL_FILTER_FIRST_PARAMETER = 0x0000; 250 enum AL_FILTER_LAST_PARAMETER = 0x8000; 251 enum AL_FILTER_TYPE = 0x8001; 252 253 /* Filter types, used with the AL_FILTER_TYPE property */ 254 enum : ALuint 255 { 256 AL_FILTER_NULL = 0x0000, 257 AL_FILTER_LOWPASS = 0x0001, 258 AL_FILTER_HIGHPASS = 0x0002, 259 AL_FILTER_BANDPASS = 0x0003, 260 } 261 262 263 264 /* Lowpass filter */ 265 enum AL_LOWPASS_MIN_GAIN = 0.0f; 266 enum AL_LOWPASS_MAX_GAIN = 1.0f; 267 enum AL_LOWPASS_DEFAULT_GAIN = 1.0f; 268 269 enum AL_LOWPASS_MIN_GAINHF = 0.0f; 270 enum AL_LOWPASS_MAX_GAINHF = 1.0f; 271 enum AL_LOWPASS_DEFAULT_GAINHF = 1.0f; 272 273 /* Highpass filter */ 274 enum AL_HIGHPASS_MIN_GAIN = 0.0f; 275 enum AL_HIGHPASS_MAX_GAIN = 1.0f; 276 enum AL_HIGHPASS_DEFAULT_GAIN = 1.0f; 277 278 enum AL_HIGHPASS_MIN_GAINLF = 0.0f; 279 enum AL_HIGHPASS_MAX_GAINLF = 1.0f; 280 enum AL_HIGHPASS_DEFAULT_GAINLF = 1.0f; 281 282 /* Bandpass filter */ 283 enum AL_BANDPASS_MIN_GAIN = 0.0f; 284 enum AL_BANDPASS_MAX_GAIN = 1.0f; 285 enum AL_BANDPASS_DEFAULT_GAIN = 1.0f; 286 287 enum AL_BANDPASS_MIN_GAINHF = 0.0f; 288 enum AL_BANDPASS_MAX_GAINHF = 1.0f; 289 enum AL_BANDPASS_DEFAULT_GAINHF = 1.0f; 290 291 enum AL_BANDPASS_MIN_GAINLF = 0.0f; 292 enum AL_BANDPASS_MAX_GAINLF = 1.0f; 293 enum AL_BANDPASS_DEFAULT_GAINLF = 1.0f; 294 295 296 /* Effect parameter ranges and defaults. */ 297 298 /* Standard reverb effect */ 299 enum AL_REVERB_MIN_DENSITY = 0.0f; 300 enum AL_REVERB_MAX_DENSITY = 1.0f; 301 enum AL_REVERB_DEFAULT_DENSITY = 1.0f; 302 303 enum AL_REVERB_MIN_DIFFUSION = 0.0f; 304 enum AL_REVERB_MAX_DIFFUSION = 1.0f; 305 enum AL_REVERB_DEFAULT_DIFFUSION = 1.0f; 306 307 enum AL_REVERB_MIN_GAIN = 0.0f; 308 enum AL_REVERB_MAX_GAIN = 1.0f; 309 enum AL_REVERB_DEFAULT_GAIN = 0.32f; 310 311 enum AL_REVERB_MIN_GAINHF = 0.0f; 312 enum AL_REVERB_MAX_GAINHF = 1.0f; 313 enum AL_REVERB_DEFAULT_GAINHF = 0.89f; 314 315 enum AL_REVERB_MIN_DECAY_TIME = 0.1f; 316 enum AL_REVERB_MAX_DECAY_TIME = 20.0f; 317 enum AL_REVERB_DEFAULT_DECAY_TIME = 1.49f; 318 319 enum AL_REVERB_MIN_DECAY_HFRATIO = 0.1f; 320 enum AL_REVERB_MAX_DECAY_HFRATIO = 2.0f; 321 enum AL_REVERB_DEFAULT_DECAY_HFRATIO = 0.83f; 322 323 enum AL_REVERB_MIN_REFLECTIONS_GAIN = 0.0f; 324 enum AL_REVERB_MAX_REFLECTIONS_GAIN = 3.16f; 325 enum AL_REVERB_DEFAULT_REFLECTIONS_GAIN = 0.05f; 326 327 enum AL_REVERB_MIN_REFLECTIONS_DELAY = 0.0f; 328 enum AL_REVERB_MAX_REFLECTIONS_DELAY = 0.3f; 329 enum AL_REVERB_DEFAULT_REFLECTIONS_DELAY = 0.007f; 330 331 enum AL_REVERB_MIN_LATE_REVERB_GAIN = 0.0f; 332 enum AL_REVERB_MAX_LATE_REVERB_GAIN = 10.0f; 333 enum AL_REVERB_DEFAULT_LATE_REVERB_GAIN = 1.26f; 334 335 enum AL_REVERB_MIN_LATE_REVERB_DELAY = 0.0f; 336 enum AL_REVERB_MAX_LATE_REVERB_DELAY = 0.1f; 337 enum AL_REVERB_DEFAULT_LATE_REVERB_DELAY = 0.011f; 338 339 enum AL_REVERB_MIN_AIR_ABSORPTION_GAINHF = 0.892f; 340 enum AL_REVERB_MAX_AIR_ABSORPTION_GAINHF = 1.0f; 341 enum AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF = 0.994f; 342 343 enum AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR = 0.0f; 344 enum AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR = 10.0f; 345 enum AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR = 0.0f; 346 347 enum AL_REVERB_MIN_DECAY_HFLIMIT = AL_FALSE; 348 enum AL_REVERB_MAX_DECAY_HFLIMIT = AL_TRUE; 349 enum AL_REVERB_DEFAULT_DECAY_HFLIMIT = AL_TRUE; 350 351 /* EAX reverb effect */ 352 enum AL_EAXREVERB_MIN_DENSITY = 0.0f; 353 enum AL_EAXREVERB_MAX_DENSITY = 1.0f; 354 enum AL_EAXREVERB_DEFAULT_DENSITY = 1.0f; 355 356 enum AL_EAXREVERB_MIN_DIFFUSION = 0.0f; 357 enum AL_EAXREVERB_MAX_DIFFUSION = 1.0f; 358 enum AL_EAXREVERB_DEFAULT_DIFFUSION = 1.0f; 359 360 enum AL_EAXREVERB_MIN_GAIN = 0.0f; 361 enum AL_EAXREVERB_MAX_GAIN = 1.0f; 362 enum AL_EAXREVERB_DEFAULT_GAIN = 0.32f; 363 364 enum AL_EAXREVERB_MIN_GAINHF = 0.0f; 365 enum AL_EAXREVERB_MAX_GAINHF = 1.0f; 366 enum AL_EAXREVERB_DEFAULT_GAINHF = 0.89f; 367 368 enum AL_EAXREVERB_MIN_GAINLF = 0.0f; 369 enum AL_EAXREVERB_MAX_GAINLF = 1.0f; 370 enum AL_EAXREVERB_DEFAULT_GAINLF = 1.0f; 371 372 enum AL_EAXREVERB_MIN_DECAY_TIME = 0.1f; 373 enum AL_EAXREVERB_MAX_DECAY_TIME = 20.0f; 374 enum AL_EAXREVERB_DEFAULT_DECAY_TIME = 1.49f; 375 376 enum AL_EAXREVERB_MIN_DECAY_HFRATIO = 0.1f; 377 enum AL_EAXREVERB_MAX_DECAY_HFRATIO = 2.0f; 378 enum AL_EAXREVERB_DEFAULT_DECAY_HFRATIO = 0.83f; 379 380 enum AL_EAXREVERB_MIN_DECAY_LFRATIO = 0.1f; 381 enum AL_EAXREVERB_MAX_DECAY_LFRATIO = 2.0f; 382 enum AL_EAXREVERB_DEFAULT_DECAY_LFRATIO = 1.0f; 383 384 enum AL_EAXREVERB_MIN_REFLECTIONS_GAIN = 0.0f; 385 enum AL_EAXREVERB_MAX_REFLECTIONS_GAIN = 3.16f; 386 enum AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN = 0.05f; 387 388 enum AL_EAXREVERB_MIN_REFLECTIONS_DELAY = 0.0f; 389 enum AL_EAXREVERB_MAX_REFLECTIONS_DELAY = 0.3f; 390 enum AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY = 0.007f; 391 392 enum AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ = 0.0f; 393 394 enum AL_EAXREVERB_MIN_LATE_REVERB_GAIN = 0.0f; 395 enum AL_EAXREVERB_MAX_LATE_REVERB_GAIN = 10.0f; 396 enum AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN = 1.26f; 397 398 enum AL_EAXREVERB_MIN_LATE_REVERB_DELAY = 0.0f; 399 enum AL_EAXREVERB_MAX_LATE_REVERB_DELAY = 0.1f; 400 enum AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY = 0.011f; 401 402 enum AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ = 0.0f; 403 404 enum AL_EAXREVERB_MIN_ECHO_TIME = 0.075f; 405 enum AL_EAXREVERB_MAX_ECHO_TIME = 0.25f; 406 enum AL_EAXREVERB_DEFAULT_ECHO_TIME = 0.25f; 407 408 enum AL_EAXREVERB_MIN_ECHO_DEPTH = 0.0f; 409 enum AL_EAXREVERB_MAX_ECHO_DEPTH = 1.0f; 410 enum AL_EAXREVERB_DEFAULT_ECHO_DEPTH = 0.0f; 411 412 enum AL_EAXREVERB_MIN_MODULATION_TIME = 0.04f; 413 enum AL_EAXREVERB_MAX_MODULATION_TIME = 4.0f; 414 enum AL_EAXREVERB_DEFAULT_MODULATION_TIME = 0.25f; 415 416 enum AL_EAXREVERB_MIN_MODULATION_DEPTH = 0.0f; 417 enum AL_EAXREVERB_MAX_MODULATION_DEPTH = 1.0f; 418 enum AL_EAXREVERB_DEFAULT_MODULATION_DEPTH = 0.0f; 419 420 enum AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF = 0.892f; 421 enum AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF = 1.0f; 422 enum AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF = 0.994f; 423 424 enum AL_EAXREVERB_MIN_HFREFERENCE = 1000.0f; 425 enum AL_EAXREVERB_MAX_HFREFERENCE = 20000.0f; 426 enum AL_EAXREVERB_DEFAULT_HFREFERENCE = 5000.0f; 427 428 enum AL_EAXREVERB_MIN_LFREFERENCE = 20.0f; 429 enum AL_EAXREVERB_MAX_LFREFERENCE = 1000.0f; 430 enum AL_EAXREVERB_DEFAULT_LFREFERENCE = 250.0f; 431 432 enum AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR = 0.0f; 433 enum AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR = 10.0f; 434 enum AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR = 0.0f; 435 436 enum AL_EAXREVERB_MIN_DECAY_HFLIMIT = AL_FALSE; 437 enum AL_EAXREVERB_MAX_DECAY_HFLIMIT = AL_TRUE; 438 enum AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT = AL_TRUE; 439 440 /* Chorus effect */ 441 enum AL_CHORUS_WAVEFORM_SINUSOID = 0; 442 enum AL_CHORUS_WAVEFORM_TRIANGLE = 1; 443 444 enum AL_CHORUS_MIN_WAVEFORM = 0; 445 enum AL_CHORUS_MAX_WAVEFORM = 1; 446 enum AL_CHORUS_DEFAULT_WAVEFORM = 1; 447 448 enum AL_CHORUS_MIN_PHASE = -180; 449 enum AL_CHORUS_MAX_PHASE = 180; 450 enum AL_CHORUS_DEFAULT_PHASE = 90; 451 452 enum AL_CHORUS_MIN_RATE = 0.0f; 453 enum AL_CHORUS_MAX_RATE = 10.0f; 454 enum AL_CHORUS_DEFAULT_RATE = 1.1f; 455 456 enum AL_CHORUS_MIN_DEPTH = 0.0f; 457 enum AL_CHORUS_MAX_DEPTH = 1.0f; 458 enum AL_CHORUS_DEFAULT_DEPTH = 0.1f; 459 460 enum AL_CHORUS_MIN_FEEDBACK = -1.0f; 461 enum AL_CHORUS_MAX_FEEDBACK = 1.0f; 462 enum AL_CHORUS_DEFAULT_FEEDBACK = 0.25f; 463 464 enum AL_CHORUS_MIN_DELAY = 0.0f; 465 enum AL_CHORUS_MAX_DELAY = 0.016f; 466 enum AL_CHORUS_DEFAULT_DELAY = 0.016f; 467 468 /* Distortion effect */ 469 enum AL_DISTORTION_MIN_EDGE = 0.0f; 470 enum AL_DISTORTION_MAX_EDGE = 1.0f; 471 enum AL_DISTORTION_DEFAULT_EDGE = 0.2f; 472 473 enum AL_DISTORTION_MIN_GAIN = 0.01f; 474 enum AL_DISTORTION_MAX_GAIN = 1.0f; 475 enum AL_DISTORTION_DEFAULT_GAIN = 0.05f; 476 477 enum AL_DISTORTION_MIN_LOWPASS_CUTOFF = 80.0f; 478 enum AL_DISTORTION_MAX_LOWPASS_CUTOFF = 24000.0f; 479 enum AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF = 8000.0f; 480 481 enum AL_DISTORTION_MIN_EQCENTER = 80.0f; 482 enum AL_DISTORTION_MAX_EQCENTER = 24000.0f; 483 enum AL_DISTORTION_DEFAULT_EQCENTER = 3600.0f; 484 485 enum AL_DISTORTION_MIN_EQBANDWIDTH = 80.0f; 486 enum AL_DISTORTION_MAX_EQBANDWIDTH = 24000.0f; 487 enum AL_DISTORTION_DEFAULT_EQBANDWIDTH = 3600.0f; 488 489 /* Echo effect */ 490 enum AL_ECHO_MIN_DELAY = 0.0f; 491 enum AL_ECHO_MAX_DELAY = 0.207f; 492 enum AL_ECHO_DEFAULT_DELAY = 0.1f; 493 494 enum AL_ECHO_MIN_LRDELAY = 0.0f; 495 enum AL_ECHO_MAX_LRDELAY = 0.404f; 496 enum AL_ECHO_DEFAULT_LRDELAY = 0.1f; 497 498 enum AL_ECHO_MIN_DAMPING = 0.0f; 499 enum AL_ECHO_MAX_DAMPING = 0.99f; 500 enum AL_ECHO_DEFAULT_DAMPING = 0.5f; 501 502 enum AL_ECHO_MIN_FEEDBACK = 0.0f; 503 enum AL_ECHO_MAX_FEEDBACK = 1.0f; 504 enum AL_ECHO_DEFAULT_FEEDBACK = 0.5f; 505 506 enum AL_ECHO_MIN_SPREAD = -1.0f; 507 enum AL_ECHO_MAX_SPREAD = 1.0f; 508 enum AL_ECHO_DEFAULT_SPREAD = -1.0f; 509 510 /* Flanger effect */ 511 enum AL_FLANGER_WAVEFORM_SINUSOID = 0; 512 enum AL_FLANGER_WAVEFORM_TRIANGLE = 1; 513 514 enum AL_FLANGER_MIN_WAVEFORM = 0; 515 enum AL_FLANGER_MAX_WAVEFORM = 1; 516 enum AL_FLANGER_DEFAULT_WAVEFORM = 1; 517 518 enum AL_FLANGER_MIN_PHASE = -180; 519 enum AL_FLANGER_MAX_PHASE = 180; 520 enum AL_FLANGER_DEFAULT_PHASE = 0; 521 522 enum AL_FLANGER_MIN_RATE = 0.0f; 523 enum AL_FLANGER_MAX_RATE = 10.0f; 524 enum AL_FLANGER_DEFAULT_RATE = 0.27f; 525 526 enum AL_FLANGER_MIN_DEPTH = 0.0f; 527 enum AL_FLANGER_MAX_DEPTH = 1.0f; 528 enum AL_FLANGER_DEFAULT_DEPTH = 1.0f; 529 530 enum AL_FLANGER_MIN_FEEDBACK = -1.0f; 531 enum AL_FLANGER_MAX_FEEDBACK = 1.0f; 532 enum AL_FLANGER_DEFAULT_FEEDBACK = -0.5f; 533 534 enum AL_FLANGER_MIN_DELAY = 0.0f; 535 enum AL_FLANGER_MAX_DELAY = 0.004f; 536 enum AL_FLANGER_DEFAULT_DELAY = 0.002f; 537 538 /* Frequency shifter effect */ 539 enum AL_FREQUENCY_SHIFTER_MIN_FREQUENCY = 0.0f; 540 enum AL_FREQUENCY_SHIFTER_MAX_FREQUENCY = 24000.0f; 541 enum AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY = 0.0f; 542 543 enum AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION = 0; 544 enum AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION = 2; 545 enum AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION = 0; 546 547 enum AL_FREQUENCY_SHIFTER_DIRECTION_DOWN = 0; 548 enum AL_FREQUENCY_SHIFTER_DIRECTION_UP = 1; 549 enum AL_FREQUENCY_SHIFTER_DIRECTION_OFF = 2; 550 551 enum AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION = 0; 552 enum AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION = 2; 553 enum AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION = 0; 554 555 /* Vocal morpher effect */ 556 enum AL_VOCAL_MORPHER_MIN_PHONEMEA = 0; 557 enum AL_VOCAL_MORPHER_MAX_PHONEMEA = 29; 558 enum AL_VOCAL_MORPHER_DEFAULT_PHONEMEA = 0; 559 560 enum AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING = -24; 561 enum AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING = 24; 562 enum AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING = 0; 563 564 enum AL_VOCAL_MORPHER_MIN_PHONEMEB = 0; 565 enum AL_VOCAL_MORPHER_MAX_PHONEMEB = 29; 566 enum AL_VOCAL_MORPHER_DEFAULT_PHONEMEB = 10; 567 568 enum AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING = -24; 569 enum AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING = 24; 570 enum AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING = 0; 571 572 enum AL_VOCAL_MORPHER_PHONEME_A = 0; 573 enum AL_VOCAL_MORPHER_PHONEME_E = 1; 574 enum AL_VOCAL_MORPHER_PHONEME_I = 2; 575 enum AL_VOCAL_MORPHER_PHONEME_O = 3; 576 enum AL_VOCAL_MORPHER_PHONEME_U = 4; 577 enum AL_VOCAL_MORPHER_PHONEME_AA = 5; 578 enum AL_VOCAL_MORPHER_PHONEME_AE = 6; 579 enum AL_VOCAL_MORPHER_PHONEME_AH = 7; 580 enum AL_VOCAL_MORPHER_PHONEME_AO = 8; 581 enum AL_VOCAL_MORPHER_PHONEME_EH = 9; 582 enum AL_VOCAL_MORPHER_PHONEME_ER = 10; 583 enum AL_VOCAL_MORPHER_PHONEME_IH = 11; 584 enum AL_VOCAL_MORPHER_PHONEME_IY = 12; 585 enum AL_VOCAL_MORPHER_PHONEME_UH = 13; 586 enum AL_VOCAL_MORPHER_PHONEME_UW = 14; 587 enum AL_VOCAL_MORPHER_PHONEME_B = 15; 588 enum AL_VOCAL_MORPHER_PHONEME_D = 16; 589 enum AL_VOCAL_MORPHER_PHONEME_F = 17; 590 enum AL_VOCAL_MORPHER_PHONEME_G = 18; 591 enum AL_VOCAL_MORPHER_PHONEME_J = 19; 592 enum AL_VOCAL_MORPHER_PHONEME_K = 20; 593 enum AL_VOCAL_MORPHER_PHONEME_L = 21; 594 enum AL_VOCAL_MORPHER_PHONEME_M = 22; 595 enum AL_VOCAL_MORPHER_PHONEME_N = 23; 596 enum AL_VOCAL_MORPHER_PHONEME_P = 24; 597 enum AL_VOCAL_MORPHER_PHONEME_R = 25; 598 enum AL_VOCAL_MORPHER_PHONEME_S = 26; 599 enum AL_VOCAL_MORPHER_PHONEME_T = 27; 600 enum AL_VOCAL_MORPHER_PHONEME_V = 28; 601 enum AL_VOCAL_MORPHER_PHONEME_Z = 29; 602 603 enum AL_VOCAL_MORPHER_WAVEFORM_SINUSOID = 0; 604 enum AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE = 1; 605 enum AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH = 2; 606 607 enum AL_VOCAL_MORPHER_MIN_WAVEFORM = 0; 608 enum AL_VOCAL_MORPHER_MAX_WAVEFORM = 2; 609 enum AL_VOCAL_MORPHER_DEFAULT_WAVEFORM = 0; 610 611 enum AL_VOCAL_MORPHER_MIN_RATE = 0.0f; 612 enum AL_VOCAL_MORPHER_MAX_RATE = 10.0f; 613 enum AL_VOCAL_MORPHER_DEFAULT_RATE = 1.41f; 614 615 /* Pitch shifter effect */ 616 enum AL_PITCH_SHIFTER_MIN_COARSE_TUNE = -12; 617 enum AL_PITCH_SHIFTER_MAX_COARSE_TUNE = 12; 618 enum AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE = 12; 619 620 enum AL_PITCH_SHIFTER_MIN_FINE_TUNE = -50; 621 enum AL_PITCH_SHIFTER_MAX_FINE_TUNE = 50; 622 enum AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE = 0; 623 624 /* Ring modulator effect */ 625 enum AL_RING_MODULATOR_MIN_FREQUENCY = 0.0f; 626 enum AL_RING_MODULATOR_MAX_FREQUENCY = 8000.0f; 627 enum AL_RING_MODULATOR_DEFAULT_FREQUENCY = 440.0f; 628 629 enum AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF = 0.0f; 630 enum AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF = 24000.0f; 631 enum AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF = 800.0f; 632 633 enum AL_RING_MODULATOR_SINUSOID = 0; 634 enum AL_RING_MODULATOR_SAWTOOTH = 1; 635 enum AL_RING_MODULATOR_SQUARE = 2; 636 637 enum AL_RING_MODULATOR_MIN_WAVEFORM = 0; 638 enum AL_RING_MODULATOR_MAX_WAVEFORM = 2; 639 enum AL_RING_MODULATOR_DEFAULT_WAVEFORM = 0; 640 641 /* Autowah effect */ 642 enum AL_AUTOWAH_MIN_ATTACK_TIME = 0.0001f; 643 enum AL_AUTOWAH_MAX_ATTACK_TIME = 1.0f; 644 enum AL_AUTOWAH_DEFAULT_ATTACK_TIME = 0.06f; 645 646 enum AL_AUTOWAH_MIN_RELEASE_TIME = 0.0001f; 647 enum AL_AUTOWAH_MAX_RELEASE_TIME = 1.0f; 648 enum AL_AUTOWAH_DEFAULT_RELEASE_TIME = 0.06f; 649 650 enum AL_AUTOWAH_MIN_RESONANCE = 2.0f; 651 enum AL_AUTOWAH_MAX_RESONANCE = 1000.0f; 652 enum AL_AUTOWAH_DEFAULT_RESONANCE = 1000.0f; 653 654 enum AL_AUTOWAH_MIN_PEAK_GAIN = 0.00003f; 655 enum AL_AUTOWAH_MAX_PEAK_GAIN = 31621.0f; 656 enum AL_AUTOWAH_DEFAULT_PEAK_GAIN = 11.22f; 657 658 /* Compressor effect */ 659 enum AL_COMPRESSOR_MIN_ONOFF = 0; 660 enum AL_COMPRESSOR_MAX_ONOFF = 1; 661 enum AL_COMPRESSOR_DEFAULT_ONOFF = 1; 662 663 /* Equalizer effect */ 664 enum AL_EQUALIZER_MIN_LOW_GAIN = 0.126f; 665 enum AL_EQUALIZER_MAX_LOW_GAIN = 7.943f; 666 enum AL_EQUALIZER_DEFAULT_LOW_GAIN = 1.0f; 667 668 enum AL_EQUALIZER_MIN_LOW_CUTOFF = 50.0f; 669 enum AL_EQUALIZER_MAX_LOW_CUTOFF = 800.0f; 670 enum AL_EQUALIZER_DEFAULT_LOW_CUTOFF = 200.0f; 671 672 enum AL_EQUALIZER_MIN_MID1_GAIN = 0.126f; 673 enum AL_EQUALIZER_MAX_MID1_GAIN = 7.943f; 674 enum AL_EQUALIZER_DEFAULT_MID1_GAIN = 1.0f; 675 676 enum AL_EQUALIZER_MIN_MID1_CENTER = 200.0f; 677 enum AL_EQUALIZER_MAX_MID1_CENTER = 3000.0f; 678 enum AL_EQUALIZER_DEFAULT_MID1_CENTER = 500.0f; 679 680 enum AL_EQUALIZER_MIN_MID1_WIDTH = 0.01f; 681 enum AL_EQUALIZER_MAX_MID1_WIDTH = 1.0f; 682 enum AL_EQUALIZER_DEFAULT_MID1_WIDTH = 1.0f; 683 684 enum AL_EQUALIZER_MIN_MID2_GAIN = 0.126f; 685 enum AL_EQUALIZER_MAX_MID2_GAIN = 7.943f; 686 enum AL_EQUALIZER_DEFAULT_MID2_GAIN = 1.0f; 687 688 enum AL_EQUALIZER_MIN_MID2_CENTER = 1000.0f; 689 enum AL_EQUALIZER_MAX_MID2_CENTER = 8000.0f; 690 enum AL_EQUALIZER_DEFAULT_MID2_CENTER = 3000.0f; 691 692 enum AL_EQUALIZER_MIN_MID2_WIDTH = 0.01f; 693 enum AL_EQUALIZER_MAX_MID2_WIDTH = 1.0f; 694 enum AL_EQUALIZER_DEFAULT_MID2_WIDTH = 1.0f; 695 696 enum AL_EQUALIZER_MIN_HIGH_GAIN = 0.126f; 697 enum AL_EQUALIZER_MAX_HIGH_GAIN = 7.943f; 698 enum AL_EQUALIZER_DEFAULT_HIGH_GAIN = 1.0f; 699 700 enum AL_EQUALIZER_MIN_HIGH_CUTOFF = 4000.0f; 701 enum AL_EQUALIZER_MAX_HIGH_CUTOFF = 16000.0f; 702 enum AL_EQUALIZER_DEFAULT_HIGH_CUTOFF = 6000.0f; 703 704 705 /* Source parameter value ranges and defaults. */ 706 enum AL_MIN_AIR_ABSORPTION_FACTOR = 0.0f; 707 enum AL_MAX_AIR_ABSORPTION_FACTOR = 10.0f; 708 enum AL_DEFAULT_AIR_ABSORPTION_FACTOR = 0.0f; 709 710 enum AL_MIN_ROOM_ROLLOFF_FACTOR = 0.0f; 711 enum AL_MAX_ROOM_ROLLOFF_FACTOR = 10.0f; 712 enum AL_DEFAULT_ROOM_ROLLOFF_FACTOR = 0.0f; 713 714 enum AL_MIN_CONE_OUTER_GAINHF = 0.0f; 715 enum AL_MAX_CONE_OUTER_GAINHF = 1.0f; 716 enum AL_DEFAULT_CONE_OUTER_GAINHF = 1.0f; 717 718 enum AL_MIN_DIRECT_FILTER_GAINHF_AUTO = AL_FALSE; 719 enum AL_MAX_DIRECT_FILTER_GAINHF_AUTO = AL_TRUE; 720 enum AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO = AL_TRUE; 721 722 enum AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO = AL_FALSE; 723 enum AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO = AL_TRUE; 724 enum AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO = AL_TRUE; 725 726 enum AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO = AL_FALSE; 727 enum AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO = AL_TRUE; 728 enum AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO = AL_TRUE; 729 730 731 /* Listener parameter value ranges and defaults. */ 732 enum AL_MIN_METERS_PER_UNIT = float.min_normal; 733 enum AL_MAX_METERS_PER_UNIT = float.max; 734 enum AL_DEFAULT_METERS_PER_UNIT = 1.0f;