1 // Taken from Derelict-AL 2 module openal.types; 3 4 // al 5 enum AL_VERSION_1_0 = true; 6 enum AL_VERSION_1_1 = true; 7 8 alias ALboolean = byte; 9 alias ALchar = char; 10 alias ALbyte = byte; 11 alias ALubyte = ubyte; 12 alias ALshort = short; 13 alias ALushort = ushort; 14 alias ALint = int; 15 alias ALuint = uint; 16 alias ALsizei = int; 17 alias ALenum = int; 18 alias ALfloat = float; 19 alias ALdouble = double; 20 alias ALvoid = void; 21 22 enum : ALboolean { 23 AL_FALSE = 0, 24 AL_TRUE = 1, 25 } 26 27 enum : ALenum { 28 AL_INVALID = -1, 29 AL_NONE = 0, 30 31 AL_SOURCE_RELATIVE = 0x202, 32 33 AL_CONE_INNER_ANGLE = 0x1001, 34 AL_CONE_OUTER_ANGLE = 0x1002, 35 36 AL_PITCH = 0x1003, 37 AL_POSITION = 0x1004, 38 AL_DIRECTION = 0x1005, 39 AL_VELOCITY = 0x1006, 40 AL_LOOPING = 0x1007, 41 AL_BUFFER = 0x1009, 42 AL_GAIN = 0x100A, 43 AL_MIN_GAIN = 0x100D, 44 AL_MAX_GAIN = 0x100E, 45 AL_ORIENTATION = 0x100F, 46 47 AL_CHANNEL_MASK = 0x3000, 48 49 AL_SOURCE_STATE = 0x1010, 50 AL_INITIAL = 0x1011, 51 AL_PLAYING = 0x1012, 52 AL_PAUSED = 0x1013, 53 AL_STOPPED = 0x1014, 54 55 AL_BUFFERS_QUEUED = 0x1015, 56 AL_BUFFERS_PROCESSED = 0x1016, 57 58 AL_REFERENCE_DISTANCE = 0x1020, 59 AL_ROLLOFF_FACTOR = 0x1021, 60 AL_CONE_OUTER_GAIN = 0x1022, 61 AL_MAX_DISTANCE = 0x1023, 62 63 AL_SEC_OFFSET = 0x1024, 64 AL_SAMPLE_OFFSET = 0x1025, 65 AL_BYTE_OFFSET = 0x1026, 66 67 AL_SOURCE_TYPE = 0x1027, 68 AL_STATIC = 0x1028, 69 AL_STREAMING = 0x1029, 70 AL_UNDETERMINED = 0x1030, 71 72 AL_FORMAT_MONO8 = 0x1100, 73 AL_FORMAT_MONO16 = 0x1101, 74 AL_FORMAT_STEREO8 = 0x1102, 75 AL_FORMAT_STEREO16 = 0x1103, 76 77 AL_FREQUENCY = 0x2001, 78 AL_BITS = 0x2002, 79 AL_CHANNELS = 0x2003, 80 AL_SIZE = 0x2004, 81 82 AL_UNUSED = 0x2010, 83 AL_PENDING = 0x2011, 84 AL_PROCESSED = 0x2012, 85 86 AL_NO_ERROR = AL_FALSE, 87 88 AL_INVALID_NAME = 0xA001, 89 AL_INVALID_ENUM = 0xA002, 90 AL_INVALID_VALUE = 0xA003, 91 AL_INVALID_OPERATION = 0xA004, 92 AL_OUT_OF_MEMORY = 0xA005, 93 94 AL_VENDOR = 0xB001, 95 AL_VERSION = 0xB002, 96 AL_RENDERER = 0xB003, 97 AL_EXTENSIONS = 0xB004, 98 99 AL_DOPPLER_FACTOR = 0xC000, 100 AL_DOPPLER_VELOCITY = 0xC001, 101 AL_SPEED_OF_SOUND = 0xC003, 102 103 AL_DISTANCE_MODEL = 0xD000, 104 AL_INVERSE_DISTANCE = 0xD001, 105 AL_INVERSE_DISTANCE_CLAMPED = 0xD002, 106 AL_LINEAR_DISTANCE = 0xD003, 107 AL_LINEAR_DISTANCE_CLAMPED = 0xD004, 108 AL_EXPONENT_DISTANCE = 0xD005, 109 AL_EXPONENT_DISTANCE_CLAMPED = 0xD006, 110 } 111 112 // alc 113 enum ALC_VERSION_0_1 = true; 114 115 alias ALCdevice = void; 116 alias ALCcontext = void; 117 118 alias ALCboolean = byte; 119 alias ALCchar = char; 120 alias ALCbyte = byte; 121 alias ALCubyte = ubyte; 122 alias ALCshort = short; 123 alias ALCushort = ushort; 124 alias ALCint = int; 125 alias ALCuint = uint; 126 alias ALCsizei = int; 127 alias ALCenum = int; 128 alias ALCfloat = float; 129 alias ALCdouble = double; 130 alias ALCvoid = void; 131 132 enum : ALCboolean { 133 ALC_FALSE = 0, 134 ALC_TRUE = 1, 135 } 136 137 enum : ALCenum { 138 ALC_FREQUENCY = 0x1007, 139 ALC_REFRESH = 0x1008, 140 ALC_SYNC = 0x1009, 141 142 ALC_MONO_SOURCES = 0x1010, 143 ALC_STEREO_SOURCES = 0x1011, 144 145 ALC_NO_ERROR = ALC_FALSE, 146 ALC_INVALID_DEVICE = 0xA001, 147 ALC_INVALID_CONTEXT = 0xA002, 148 ALC_INVALID_ENUM = 0xA003, 149 ALC_INVALID_VALUE = 0xA004, 150 ALC_OUT_OF_MEMORY = 0xA005, 151 152 ALC_DEFAULT_DEVICE_SPECIFIER = 0x1004, 153 ALC_DEVICE_SPECIFIER = 0x1005, 154 ALC_EXTENSIONS = 0x1006, 155 156 ALC_MAJOR_VERSION = 0x1000, 157 ALC_MINOR_VERSION = 0x1001, 158 159 ALC_ATTRIBUTES_SIZE = 0x1002, 160 ALC_ALL_ATTRIBUTES = 0x1003, 161 162 ALC_CAPTURE_DEVICE_SPECIFIER = 0x310, 163 ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER = 0x311, 164 ALC_CAPTURE_SAMPLES = 0x312, 165 } 166 167 // alext 168 enum : ALenum { 169 // AL_LOKI_IMA_ADPCM_format 170 AL_FORMAT_IMA_ADPCM_MONO16_EXT = 0x10000, 171 AL_FORMAT_IMA_ADPCM_STEREO16_EXT = 0x10001, 172 173 // AL_LOKI_WAVE_format 174 AL_FORMAT_WAVE_EXT = 0x10002, 175 176 // AL_EXT_vorbis 177 AL_FORMAT_VORBIS_EXT = 0x10003, 178 179 // AL_LOKI_quadriphonic 180 AL_FORMAT_QUAD8_LOKI = 0x10004, 181 AL_FORMAT_QUAD16_LOKI = 0x10005, 182 183 // AL_EXT_float32 184 AL_FORMAT_MONO_FLOAT32 = 0x10010, 185 AL_FORMAT_STEREO_FLOAT32 = 0x10011, 186 187 // ALC_LOKI_audio_channel 188 ALC_CHAN_MAIN_LOKI = 0x500001, 189 ALC_CHAN_PCM_LOKI = 0x500002, 190 ALC_CHAN_CD_LOKI = 0x500003, 191 192 // ALC_ENUMERATE_ALL_EXT 193 ALC_DEFAULT_ALL_DEVICES_SPECIFIER = 0x1012, 194 ALC_ALL_DEVICES_SPECIFIER = 0x1013, 195 196 // AL_EXT_MCFORMATS 197 AL_FORMAT_QUAD8 = 0x1204, 198 AL_FORMAT_QUAD16 = 0x1205, 199 AL_FORMAT_QUAD32 = 0x1206, 200 AL_FORMAT_REAR8 = 0x1207, 201 AL_FORMAT_REAR16 = 0x1208, 202 AL_FORMAT_REAR32 = 0x1209, 203 AL_FORMAT_51CHN8 = 0x120A, 204 AL_FORMAT_51CHN16 = 0x120B, 205 AL_FORMAT_51CHN32 = 0x120C, 206 AL_FORMAT_61CHN8 = 0x120D, 207 AL_FORMAT_61CHN16 = 0x120E, 208 AL_FORMAT_61CHN32 = 0x120F, 209 AL_FORMAT_71CHN8 = 0x1210, 210 AL_FORMAT_71CHN16 = 0x1211, 211 AL_FORMAT_71CHN32 = 0x1212, 212 213 // AL_EXT_IMA4 214 AL_FORMAT_MONO_IMA4 = 0x1300, 215 AL_FORMAT_STEREO_IMA4 = 0x1301, 216 } 217 218 enum : ALenum { 219 ALC_EFX_MAJOR_VERSION = 0x20001, 220 ALC_EFX_MINOR_VERSION = 0x20002, 221 ALC_MAX_AUXILIARY_SENDS = 0x20003, 222 223 224 /* Listener properties. */ 225 AL_METERS_PER_UNIT = 0x20004, 226 227 /* Source properties. */ 228 AL_DIRECT_FILTER = 0x20005, 229 AL_AUXILIARY_SEND_FILTER = 0x20006, 230 AL_AIR_ABSORPTION_FACTOR = 0x20007, 231 AL_ROOM_ROLLOFF_FACTOR = 0x20008, 232 AL_CONE_OUTER_GAINHF = 0x20009, 233 AL_DIRECT_FILTER_GAINHF_AUTO = 0x2000A, 234 AL_AUXILIARY_SEND_FILTER_GAIN_AUTO = 0x2000B, 235 AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO = 0x2000C, 236 237 238 /* Effect properties. */ 239 240 /* Reverb effect parameters */ 241 AL_REVERB_DENSITY = 0x0001, 242 AL_REVERB_DIFFUSION = 0x0002, 243 AL_REVERB_GAIN = 0x0003, 244 AL_REVERB_GAINHF = 0x0004, 245 AL_REVERB_DECAY_TIME = 0x0005, 246 AL_REVERB_DECAY_HFRATIO = 0x0006, 247 AL_REVERB_REFLECTIONS_GAIN = 0x0007, 248 AL_REVERB_REFLECTIONS_DELAY = 0x0008, 249 AL_REVERB_LATE_REVERB_GAIN = 0x0009, 250 AL_REVERB_LATE_REVERB_DELAY = 0x000A, 251 AL_REVERB_AIR_ABSORPTION_GAINHF = 0x000B, 252 AL_REVERB_ROOM_ROLLOFF_FACTOR = 0x000C, 253 AL_REVERB_DECAY_HFLIMIT = 0x000D, 254 255 /* EAX Reverb effect parameters */ 256 AL_EAXREVERB_DENSITY = 0x0001, 257 AL_EAXREVERB_DIFFUSION = 0x0002, 258 AL_EAXREVERB_GAIN = 0x0003, 259 AL_EAXREVERB_GAINHF = 0x0004, 260 AL_EAXREVERB_GAINLF = 0x0005, 261 AL_EAXREVERB_DECAY_TIME = 0x0006, 262 AL_EAXREVERB_DECAY_HFRATIO = 0x0007, 263 AL_EAXREVERB_DECAY_LFRATIO = 0x0008, 264 AL_EAXREVERB_REFLECTIONS_GAIN = 0x0009, 265 AL_EAXREVERB_REFLECTIONS_DELAY = 0x000A, 266 AL_EAXREVERB_REFLECTIONS_PAN = 0x000B, 267 AL_EAXREVERB_LATE_REVERB_GAIN = 0x000C, 268 AL_EAXREVERB_LATE_REVERB_DELAY = 0x000D, 269 AL_EAXREVERB_LATE_REVERB_PAN = 0x000E, 270 AL_EAXREVERB_ECHO_TIME = 0x000F, 271 AL_EAXREVERB_ECHO_DEPTH = 0x0010, 272 AL_EAXREVERB_MODULATION_TIME = 0x0011, 273 AL_EAXREVERB_MODULATION_DEPTH = 0x0012, 274 AL_EAXREVERB_AIR_ABSORPTION_GAINHF = 0x0013, 275 AL_EAXREVERB_HFREFERENCE = 0x0014, 276 AL_EAXREVERB_LFREFERENCE = 0x0015, 277 AL_EAXREVERB_ROOM_ROLLOFF_FACTOR = 0x0016, 278 AL_EAXREVERB_DECAY_HFLIMIT = 0x0017, 279 280 /* Chorus effect parameters */ 281 AL_CHORUS_WAVEFORM = 0x0001, 282 AL_CHORUS_PHASE = 0x0002, 283 AL_CHORUS_RATE = 0x0003, 284 AL_CHORUS_DEPTH = 0x0004, 285 AL_CHORUS_FEEDBACK = 0x0005, 286 AL_CHORUS_DELAY = 0x0006, 287 288 /* Distortion effect parameters */ 289 AL_DISTORTION_EDGE = 0x0001, 290 AL_DISTORTION_GAIN = 0x0002, 291 AL_DISTORTION_LOWPASS_CUTOFF = 0x0003, 292 AL_DISTORTION_EQCENTER = 0x0004, 293 AL_DISTORTION_EQBANDWIDTH = 0x0005, 294 295 /* Echo effect parameters */ 296 AL_ECHO_DELAY = 0x0001, 297 AL_ECHO_LRDELAY = 0x0002, 298 AL_ECHO_DAMPING = 0x0003, 299 AL_ECHO_FEEDBACK = 0x0004, 300 AL_ECHO_SPREAD = 0x0005, 301 302 /* Flanger effect parameters */ 303 AL_FLANGER_WAVEFORM = 0x0001, 304 AL_FLANGER_PHASE = 0x0002, 305 AL_FLANGER_RATE = 0x0003, 306 AL_FLANGER_DEPTH = 0x0004, 307 AL_FLANGER_FEEDBACK = 0x0005, 308 AL_FLANGER_DELAY = 0x0006, 309 310 /* Frequency shifter effect parameters */ 311 AL_FREQUENCY_SHIFTER_FREQUENCY = 0x0001, 312 AL_FREQUENCY_SHIFTER_LEFT_DIRECTION = 0x0002, 313 AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION = 0x0003, 314 315 /* Vocal morpher effect parameters */ 316 AL_VOCAL_MORPHER_PHONEMEA = 0x0001, 317 AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 0x0002, 318 AL_VOCAL_MORPHER_PHONEMEB = 0x0003, 319 AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 0x0004, 320 AL_VOCAL_MORPHER_WAVEFORM = 0x0005, 321 AL_VOCAL_MORPHER_RATE = 0x0006, 322 323 /* Pitchshifter effect parameters */ 324 AL_PITCH_SHIFTER_COARSE_TUNE = 0x0001, 325 AL_PITCH_SHIFTER_FINE_TUNE = 0x0002, 326 327 /* Ringmodulator effect parameters */ 328 AL_RING_MODULATOR_FREQUENCY = 0x0001, 329 AL_RING_MODULATOR_HIGHPASS_CUTOFF = 0x0002, 330 AL_RING_MODULATOR_WAVEFORM = 0x0003, 331 332 /* Autowah effect parameters */ 333 AL_AUTOWAH_ATTACK_TIME = 0x0001, 334 AL_AUTOWAH_RELEASE_TIME = 0x0002, 335 AL_AUTOWAH_RESONANCE = 0x0003, 336 AL_AUTOWAH_PEAK_GAIN = 0x0004, 337 338 /* Compressor effect parameters */ 339 AL_COMPRESSOR_ONOFF = 0x0001, 340 341 /* Equalizer effect parameters */ 342 AL_EQUALIZER_LOW_GAIN = 0x0001, 343 AL_EQUALIZER_LOW_CUTOFF = 0x0002, 344 AL_EQUALIZER_MID1_GAIN = 0x0003, 345 AL_EQUALIZER_MID1_CENTER = 0x0004, 346 AL_EQUALIZER_MID1_WIDTH = 0x0005, 347 AL_EQUALIZER_MID2_GAIN = 0x0006, 348 AL_EQUALIZER_MID2_CENTER = 0x0007, 349 AL_EQUALIZER_MID2_WIDTH = 0x0008, 350 AL_EQUALIZER_HIGH_GAIN = 0x0009, 351 AL_EQUALIZER_HIGH_CUTOFF = 0x000A, 352 353 /* Effect type */ 354 AL_EFFECT_FIRST_PARAMETER = 0x0000, 355 AL_EFFECT_LAST_PARAMETER = 0x8000, 356 AL_EFFECT_TYPE = 0x8001, 357 358 /* Effect types, used with the AL_EFFECT_TYPE property */ 359 AL_EFFECT_NULL = 0x0000, 360 AL_EFFECT_REVERB = 0x0001, 361 AL_EFFECT_CHORUS = 0x0002, 362 AL_EFFECT_DISTORTION = 0x0003, 363 AL_EFFECT_ECHO = 0x0004, 364 AL_EFFECT_FLANGER = 0x0005, 365 AL_EFFECT_FREQUENCY_SHIFTER = 0x0006, 366 AL_EFFECT_VOCAL_MORPHER = 0x0007, 367 AL_EFFECT_PITCH_SHIFTER = 0x0008, 368 AL_EFFECT_RING_MODULATOR = 0x0009, 369 AL_EFFECT_AUTOWAH = 0x000A, 370 AL_EFFECT_COMPRESSOR = 0x000B, 371 AL_EFFECT_EQUALIZER = 0x000C, 372 AL_EFFECT_EAXREVERB = 0x8000, 373 374 /* Auxiliary Effect Slot properties. */ 375 AL_EFFECTSLOT_EFFECT = 0x0001, 376 AL_EFFECTSLOT_GAIN = 0x0002, 377 AL_EFFECTSLOT_AUXILIARY_SEND_AUTO = 0x0003, 378 379 /* NULL Auxiliary Slot ID to disable a source send. */ 380 AL_EFFECTSLOT_NULL = 0x0000, 381 382 383 /* Filter properties. */ 384 385 /* Lowpass filter parameters */ 386 AL_LOWPASS_GAIN = 0x0001, 387 AL_LOWPASS_GAINHF = 0x0002, 388 389 /* Highpass filter parameters */ 390 AL_HIGHPASS_GAIN = 0x0001, 391 AL_HIGHPASS_GAINLF = 0x0002, 392 393 /* Bandpass filter parameters */ 394 AL_BANDPASS_GAIN = 0x0001, 395 AL_BANDPASS_GAINLF = 0x0002, 396 AL_BANDPASS_GAINHF = 0x0003, 397 398 /* Filter type */ 399 AL_FILTER_FIRST_PARAMETER = 0x0000, 400 AL_FILTER_LAST_PARAMETER = 0x8000, 401 AL_FILTER_TYPE = 0x8001, 402 403 /* Filter types, used with the AL_FILTER_TYPE property */ 404 AL_FILTER_NULL = 0x0000, 405 AL_FILTER_LOWPASS = 0x0001, 406 AL_FILTER_HIGHPASS = 0x0002, 407 AL_FILTER_BANDPASS = 0x0003, 408 409 410 411 AL_WAVEFORM_SINUSOID = 0, 412 AL_WAVEFORM_TRIANGLE = 1, 413 AL_WAVEFORM_SAW = 2 414 } 415 416 enum : ALenum { 417 AL_VOCAL_MORPHER_PHONEME_A = 0, 418 AL_VOCAL_MORPHER_PHONEME_E = 1, 419 AL_VOCAL_MORPHER_PHONEME_I = 2, 420 AL_VOCAL_MORPHER_PHONEME_O = 3, 421 AL_VOCAL_MORPHER_PHONEME_U = 4, 422 AL_VOCAL_MORPHER_PHONEME_AA = 5, 423 AL_VOCAL_MORPHER_PHONEME_AE = 6, 424 AL_VOCAL_MORPHER_PHONEME_AH = 7, 425 AL_VOCAL_MORPHER_PHONEME_AO = 8, 426 AL_VOCAL_MORPHER_PHONEME_EH = 9, 427 AL_VOCAL_MORPHER_PHONEME_ER = 10, 428 AL_VOCAL_MORPHER_PHONEME_IH = 11, 429 AL_VOCAL_MORPHER_PHONEME_IY = 12, 430 AL_VOCAL_MORPHER_PHONEME_UH = 13, 431 AL_VOCAL_MORPHER_PHONEME_UW = 14, 432 AL_VOCAL_MORPHER_PHONEME_B = 15, 433 AL_VOCAL_MORPHER_PHONEME_D = 16, 434 AL_VOCAL_MORPHER_PHONEME_F = 17, 435 AL_VOCAL_MORPHER_PHONEME_G = 18, 436 AL_VOCAL_MORPHER_PHONEME_J = 19, 437 AL_VOCAL_MORPHER_PHONEME_K = 20, 438 AL_VOCAL_MORPHER_PHONEME_L = 21, 439 AL_VOCAL_MORPHER_PHONEME_M = 22, 440 AL_VOCAL_MORPHER_PHONEME_N = 23, 441 AL_VOCAL_MORPHER_PHONEME_P = 24, 442 AL_VOCAL_MORPHER_PHONEME_R = 25, 443 AL_VOCAL_MORPHER_PHONEME_S = 26, 444 AL_VOCAL_MORPHER_PHONEME_T = 27, 445 AL_VOCAL_MORPHER_PHONEME_V = 28, 446 AL_VOCAL_MORPHER_PHONEME_Z = 29 447 } 448 449 enum : ALenum { 450 AL_EFFECTSLOT_TARGET_SOFT = 0xf000 451 }