Replace a couple loops with algorithms
[openal-soft.git] / alc / export_list.h
blob2c291ac0d33315bf37fdbcdd69376a1862b33e77
1 #ifndef ALC_EXPORT_LIST_H
2 #define ALC_EXPORT_LIST_H
4 #include "AL/alc.h"
5 #include "AL/al.h"
6 #include "AL/alext.h"
8 #include "inprogext.h"
9 #ifdef ALSOFT_EAX
10 #include "context.h"
11 #include "al/eax/x_ram.h"
12 #endif
15 struct FuncExport {
16 const char *funcName;
17 void *address;
19 #define DECL(x) FuncExport{#x, reinterpret_cast<void*>(x)}
20 /* NOLINTNEXTLINE(*-avoid-c-arrays) Too large for std::array auto-deduction :( */
21 inline const FuncExport alcFunctions[]{
22 DECL(alcCreateContext),
23 DECL(alcMakeContextCurrent),
24 DECL(alcProcessContext),
25 DECL(alcSuspendContext),
26 DECL(alcDestroyContext),
27 DECL(alcGetCurrentContext),
28 DECL(alcGetContextsDevice),
29 DECL(alcOpenDevice),
30 DECL(alcCloseDevice),
31 DECL(alcGetError),
32 DECL(alcIsExtensionPresent),
33 DECL(alcGetProcAddress),
34 DECL(alcGetEnumValue),
35 DECL(alcGetString),
36 DECL(alcGetIntegerv),
37 DECL(alcCaptureOpenDevice),
38 DECL(alcCaptureCloseDevice),
39 DECL(alcCaptureStart),
40 DECL(alcCaptureStop),
41 DECL(alcCaptureSamples),
43 DECL(alcSetThreadContext),
44 DECL(alcGetThreadContext),
46 DECL(alcLoopbackOpenDeviceSOFT),
47 DECL(alcIsRenderFormatSupportedSOFT),
48 DECL(alcRenderSamplesSOFT),
50 DECL(alcDevicePauseSOFT),
51 DECL(alcDeviceResumeSOFT),
53 DECL(alcGetStringiSOFT),
54 DECL(alcResetDeviceSOFT),
56 DECL(alcGetInteger64vSOFT),
58 DECL(alcReopenDeviceSOFT),
60 DECL(alcEventIsSupportedSOFT),
61 DECL(alcEventControlSOFT),
62 DECL(alcEventCallbackSOFT),
64 DECL(alEnable),
65 DECL(alDisable),
66 DECL(alIsEnabled),
67 DECL(alGetString),
68 DECL(alGetBooleanv),
69 DECL(alGetIntegerv),
70 DECL(alGetFloatv),
71 DECL(alGetDoublev),
72 DECL(alGetBoolean),
73 DECL(alGetInteger),
74 DECL(alGetFloat),
75 DECL(alGetDouble),
76 DECL(alGetError),
77 DECL(alIsExtensionPresent),
78 DECL(alGetProcAddress),
79 DECL(alGetEnumValue),
80 DECL(alListenerf),
81 DECL(alListener3f),
82 DECL(alListenerfv),
83 DECL(alListeneri),
84 DECL(alListener3i),
85 DECL(alListeneriv),
86 DECL(alGetListenerf),
87 DECL(alGetListener3f),
88 DECL(alGetListenerfv),
89 DECL(alGetListeneri),
90 DECL(alGetListener3i),
91 DECL(alGetListeneriv),
92 DECL(alGenSources),
93 DECL(alDeleteSources),
94 DECL(alIsSource),
95 DECL(alSourcef),
96 DECL(alSource3f),
97 DECL(alSourcefv),
98 DECL(alSourcei),
99 DECL(alSource3i),
100 DECL(alSourceiv),
101 DECL(alGetSourcef),
102 DECL(alGetSource3f),
103 DECL(alGetSourcefv),
104 DECL(alGetSourcei),
105 DECL(alGetSource3i),
106 DECL(alGetSourceiv),
107 DECL(alSourcePlayv),
108 DECL(alSourceStopv),
109 DECL(alSourceRewindv),
110 DECL(alSourcePausev),
111 DECL(alSourcePlay),
112 DECL(alSourceStop),
113 DECL(alSourceRewind),
114 DECL(alSourcePause),
115 DECL(alSourceQueueBuffers),
116 DECL(alSourceUnqueueBuffers),
117 DECL(alGenBuffers),
118 DECL(alDeleteBuffers),
119 DECL(alIsBuffer),
120 DECL(alBufferData),
121 DECL(alBufferf),
122 DECL(alBuffer3f),
123 DECL(alBufferfv),
124 DECL(alBufferi),
125 DECL(alBuffer3i),
126 DECL(alBufferiv),
127 DECL(alGetBufferf),
128 DECL(alGetBuffer3f),
129 DECL(alGetBufferfv),
130 DECL(alGetBufferi),
131 DECL(alGetBuffer3i),
132 DECL(alGetBufferiv),
133 DECL(alDopplerFactor),
134 DECL(alDopplerVelocity),
135 DECL(alSpeedOfSound),
136 DECL(alDistanceModel),
138 DECL(alGenFilters),
139 DECL(alDeleteFilters),
140 DECL(alIsFilter),
141 DECL(alFilteri),
142 DECL(alFilteriv),
143 DECL(alFilterf),
144 DECL(alFilterfv),
145 DECL(alGetFilteri),
146 DECL(alGetFilteriv),
147 DECL(alGetFilterf),
148 DECL(alGetFilterfv),
149 DECL(alGenEffects),
150 DECL(alDeleteEffects),
151 DECL(alIsEffect),
152 DECL(alEffecti),
153 DECL(alEffectiv),
154 DECL(alEffectf),
155 DECL(alEffectfv),
156 DECL(alGetEffecti),
157 DECL(alGetEffectiv),
158 DECL(alGetEffectf),
159 DECL(alGetEffectfv),
160 DECL(alGenAuxiliaryEffectSlots),
161 DECL(alDeleteAuxiliaryEffectSlots),
162 DECL(alIsAuxiliaryEffectSlot),
163 DECL(alAuxiliaryEffectSloti),
164 DECL(alAuxiliaryEffectSlotiv),
165 DECL(alAuxiliaryEffectSlotf),
166 DECL(alAuxiliaryEffectSlotfv),
167 DECL(alGetAuxiliaryEffectSloti),
168 DECL(alGetAuxiliaryEffectSlotiv),
169 DECL(alGetAuxiliaryEffectSlotf),
170 DECL(alGetAuxiliaryEffectSlotfv),
172 DECL(alDeferUpdatesSOFT),
173 DECL(alProcessUpdatesSOFT),
175 DECL(alSourcedSOFT),
176 DECL(alSource3dSOFT),
177 DECL(alSourcedvSOFT),
178 DECL(alGetSourcedSOFT),
179 DECL(alGetSource3dSOFT),
180 DECL(alGetSourcedvSOFT),
181 DECL(alSourcei64SOFT),
182 DECL(alSource3i64SOFT),
183 DECL(alSourcei64vSOFT),
184 DECL(alGetSourcei64SOFT),
185 DECL(alGetSource3i64SOFT),
186 DECL(alGetSourcei64vSOFT),
188 DECL(alGetStringiSOFT),
190 DECL(alBufferStorageSOFT),
191 DECL(alMapBufferSOFT),
192 DECL(alUnmapBufferSOFT),
193 DECL(alFlushMappedBufferSOFT),
195 DECL(alEventControlSOFT),
196 DECL(alEventCallbackSOFT),
197 DECL(alGetPointerSOFT),
198 DECL(alGetPointervSOFT),
200 DECL(alBufferCallbackSOFT),
201 DECL(alGetBufferPtrSOFT),
202 DECL(alGetBuffer3PtrSOFT),
203 DECL(alGetBufferPtrvSOFT),
205 DECL(alSourcePlayAtTimeSOFT),
206 DECL(alSourcePlayAtTimevSOFT),
208 DECL(alBufferSubDataSOFT),
210 DECL(alBufferDataStatic),
212 DECL(alDebugMessageCallbackEXT),
213 DECL(alDebugMessageInsertEXT),
214 DECL(alDebugMessageControlEXT),
215 DECL(alPushDebugGroupEXT),
216 DECL(alPopDebugGroupEXT),
217 DECL(alGetDebugMessageLogEXT),
219 /* Direct Context functions */
220 DECL(alcGetProcAddress2),
221 DECL(alEnableDirect),
222 DECL(alDisableDirect),
223 DECL(alIsEnabledDirect),
224 DECL(alDopplerFactorDirect),
225 DECL(alSpeedOfSoundDirect),
226 DECL(alDistanceModelDirect),
227 DECL(alGetStringDirect),
228 DECL(alGetBooleanvDirect),
229 DECL(alGetIntegervDirect),
230 DECL(alGetFloatvDirect),
231 DECL(alGetDoublevDirect),
232 DECL(alGetBooleanDirect),
233 DECL(alGetIntegerDirect),
234 DECL(alGetFloatDirect),
235 DECL(alGetDoubleDirect),
237 DECL(alGetErrorDirect),
238 DECL(alIsExtensionPresentDirect),
239 DECL(alGetProcAddress),
240 DECL(alGetEnumValueDirect),
242 DECL(alListeneriDirect),
243 DECL(alListener3iDirect),
244 DECL(alListenerivDirect),
245 DECL(alListenerfDirect),
246 DECL(alListener3fDirect),
247 DECL(alListenerfvDirect),
248 DECL(alGetListeneriDirect),
249 DECL(alGetListener3iDirect),
250 DECL(alGetListenerivDirect),
251 DECL(alGetListenerfDirect),
252 DECL(alGetListener3fDirect),
253 DECL(alGetListenerfvDirect),
255 DECL(alGenBuffersDirect),
256 DECL(alDeleteBuffersDirect),
257 DECL(alIsBufferDirect),
258 DECL(alBufferDataDirect),
259 DECL(alBufferiDirect),
260 DECL(alBuffer3iDirect),
261 DECL(alBufferivDirect),
262 DECL(alBufferfDirect),
263 DECL(alBuffer3fDirect),
264 DECL(alBufferfvDirect),
265 DECL(alGetBufferiDirect),
266 DECL(alGetBuffer3iDirect),
267 DECL(alGetBufferivDirect),
268 DECL(alGetBufferfDirect),
269 DECL(alGetBuffer3fDirect),
270 DECL(alGetBufferfvDirect),
272 DECL(alGenSourcesDirect),
273 DECL(alDeleteSourcesDirect),
274 DECL(alIsSourceDirect),
275 DECL(alSourcePlayDirect),
276 DECL(alSourceStopDirect),
277 DECL(alSourcePauseDirect),
278 DECL(alSourceRewindDirect),
279 DECL(alSourcePlayvDirect),
280 DECL(alSourceStopvDirect),
281 DECL(alSourcePausevDirect),
282 DECL(alSourceRewindvDirect),
283 DECL(alSourceiDirect),
284 DECL(alSource3iDirect),
285 DECL(alSourceivDirect),
286 DECL(alSourcefDirect),
287 DECL(alSource3fDirect),
288 DECL(alSourcefvDirect),
289 DECL(alGetSourceiDirect),
290 DECL(alGetSource3iDirect),
291 DECL(alGetSourceivDirect),
292 DECL(alGetSourcefDirect),
293 DECL(alGetSource3fDirect),
294 DECL(alGetSourcefvDirect),
295 DECL(alSourceQueueBuffersDirect),
296 DECL(alSourceUnqueueBuffersDirect),
298 DECL(alGenFiltersDirect),
299 DECL(alDeleteFiltersDirect),
300 DECL(alIsFilterDirect),
301 DECL(alFilteriDirect),
302 DECL(alFilterivDirect),
303 DECL(alFilterfDirect),
304 DECL(alFilterfvDirect),
305 DECL(alGetFilteriDirect),
306 DECL(alGetFilterivDirect),
307 DECL(alGetFilterfDirect),
308 DECL(alGetFilterfvDirect),
309 DECL(alGenEffectsDirect),
310 DECL(alDeleteEffectsDirect),
311 DECL(alIsEffectDirect),
312 DECL(alEffectiDirect),
313 DECL(alEffectivDirect),
314 DECL(alEffectfDirect),
315 DECL(alEffectfvDirect),
316 DECL(alGetEffectiDirect),
317 DECL(alGetEffectivDirect),
318 DECL(alGetEffectfDirect),
319 DECL(alGetEffectfvDirect),
320 DECL(alGenAuxiliaryEffectSlotsDirect),
321 DECL(alDeleteAuxiliaryEffectSlotsDirect),
322 DECL(alIsAuxiliaryEffectSlotDirect),
323 DECL(alAuxiliaryEffectSlotiDirect),
324 DECL(alAuxiliaryEffectSlotivDirect),
325 DECL(alAuxiliaryEffectSlotfDirect),
326 DECL(alAuxiliaryEffectSlotfvDirect),
327 DECL(alGetAuxiliaryEffectSlotiDirect),
328 DECL(alGetAuxiliaryEffectSlotivDirect),
329 DECL(alGetAuxiliaryEffectSlotfDirect),
330 DECL(alGetAuxiliaryEffectSlotfvDirect),
332 DECL(alDeferUpdatesDirectSOFT),
333 DECL(alProcessUpdatesDirectSOFT),
334 DECL(alGetStringiDirectSOFT),
336 DECL(alBufferDataStaticDirect),
337 DECL(alBufferCallbackDirectSOFT),
338 DECL(alBufferSubDataDirectSOFT),
339 DECL(alBufferStorageDirectSOFT),
340 DECL(alMapBufferDirectSOFT),
341 DECL(alUnmapBufferDirectSOFT),
342 DECL(alFlushMappedBufferDirectSOFT),
344 DECL(alSourcei64DirectSOFT),
345 DECL(alSource3i64DirectSOFT),
346 DECL(alSourcei64vDirectSOFT),
347 DECL(alSourcedDirectSOFT),
348 DECL(alSource3dDirectSOFT),
349 DECL(alSourcedvDirectSOFT),
350 DECL(alGetSourcei64DirectSOFT),
351 DECL(alGetSource3i64DirectSOFT),
352 DECL(alGetSourcei64vDirectSOFT),
353 DECL(alGetSourcedDirectSOFT),
354 DECL(alGetSource3dDirectSOFT),
355 DECL(alGetSourcedvDirectSOFT),
356 DECL(alSourcePlayAtTimeDirectSOFT),
357 DECL(alSourcePlayAtTimevDirectSOFT),
359 DECL(alEventControlDirectSOFT),
360 DECL(alEventCallbackDirectSOFT),
362 DECL(alDebugMessageCallbackDirectEXT),
363 DECL(alDebugMessageInsertDirectEXT),
364 DECL(alDebugMessageControlDirectEXT),
365 DECL(alPushDebugGroupDirectEXT),
366 DECL(alPopDebugGroupDirectEXT),
367 DECL(alGetDebugMessageLogDirectEXT),
368 DECL(alObjectLabelEXT),
369 DECL(alObjectLabelDirectEXT),
370 DECL(alGetObjectLabelEXT),
371 DECL(alGetObjectLabelDirectEXT),
373 /* Extra functions */
374 DECL(alsoft_set_log_callback),
376 #ifdef ALSOFT_EAX
377 inline const std::array eaxFunctions{
378 DECL(EAXGet),
379 DECL(EAXSet),
380 DECL(EAXGetBufferMode),
381 DECL(EAXSetBufferMode),
383 DECL(EAXGetDirect),
384 DECL(EAXSetDirect),
385 DECL(EAXGetBufferModeDirect),
386 DECL(EAXSetBufferModeDirect),
388 #endif
389 #undef DECL
391 struct EnumExport {
392 const char *enumName;
393 int value;
395 #define DECL(x) EnumExport{#x, (x)}
396 /* NOLINTNEXTLINE(*-avoid-c-arrays) Too large for std::array auto-deduction :( */
397 inline const EnumExport alcEnumerations[]{
398 DECL(ALC_INVALID),
399 DECL(ALC_FALSE),
400 DECL(ALC_TRUE),
402 DECL(ALC_MAJOR_VERSION),
403 DECL(ALC_MINOR_VERSION),
404 DECL(ALC_ATTRIBUTES_SIZE),
405 DECL(ALC_ALL_ATTRIBUTES),
406 DECL(ALC_DEFAULT_DEVICE_SPECIFIER),
407 DECL(ALC_DEVICE_SPECIFIER),
408 DECL(ALC_ALL_DEVICES_SPECIFIER),
409 DECL(ALC_DEFAULT_ALL_DEVICES_SPECIFIER),
410 DECL(ALC_EXTENSIONS),
411 DECL(ALC_FREQUENCY),
412 DECL(ALC_REFRESH),
413 DECL(ALC_SYNC),
414 DECL(ALC_MONO_SOURCES),
415 DECL(ALC_STEREO_SOURCES),
416 DECL(ALC_CAPTURE_DEVICE_SPECIFIER),
417 DECL(ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER),
418 DECL(ALC_CAPTURE_SAMPLES),
419 DECL(ALC_CONNECTED),
421 DECL(ALC_EFX_MAJOR_VERSION),
422 DECL(ALC_EFX_MINOR_VERSION),
423 DECL(ALC_MAX_AUXILIARY_SENDS),
425 DECL(ALC_FORMAT_CHANNELS_SOFT),
426 DECL(ALC_FORMAT_TYPE_SOFT),
428 DECL(ALC_MONO_SOFT),
429 DECL(ALC_STEREO_SOFT),
430 DECL(ALC_QUAD_SOFT),
431 DECL(ALC_5POINT1_SOFT),
432 DECL(ALC_6POINT1_SOFT),
433 DECL(ALC_7POINT1_SOFT),
434 DECL(ALC_BFORMAT3D_SOFT),
436 DECL(ALC_BYTE_SOFT),
437 DECL(ALC_UNSIGNED_BYTE_SOFT),
438 DECL(ALC_SHORT_SOFT),
439 DECL(ALC_UNSIGNED_SHORT_SOFT),
440 DECL(ALC_INT_SOFT),
441 DECL(ALC_UNSIGNED_INT_SOFT),
442 DECL(ALC_FLOAT_SOFT),
444 DECL(ALC_HRTF_SOFT),
445 DECL(ALC_DONT_CARE_SOFT),
446 DECL(ALC_HRTF_STATUS_SOFT),
447 DECL(ALC_HRTF_DISABLED_SOFT),
448 DECL(ALC_HRTF_ENABLED_SOFT),
449 DECL(ALC_HRTF_DENIED_SOFT),
450 DECL(ALC_HRTF_REQUIRED_SOFT),
451 DECL(ALC_HRTF_HEADPHONES_DETECTED_SOFT),
452 DECL(ALC_HRTF_UNSUPPORTED_FORMAT_SOFT),
453 DECL(ALC_NUM_HRTF_SPECIFIERS_SOFT),
454 DECL(ALC_HRTF_SPECIFIER_SOFT),
455 DECL(ALC_HRTF_ID_SOFT),
457 DECL(ALC_AMBISONIC_LAYOUT_SOFT),
458 DECL(ALC_AMBISONIC_SCALING_SOFT),
459 DECL(ALC_AMBISONIC_ORDER_SOFT),
460 DECL(ALC_ACN_SOFT),
461 DECL(ALC_FUMA_SOFT),
462 DECL(ALC_N3D_SOFT),
463 DECL(ALC_SN3D_SOFT),
465 DECL(ALC_OUTPUT_LIMITER_SOFT),
467 DECL(ALC_DEVICE_CLOCK_SOFT),
468 DECL(ALC_DEVICE_LATENCY_SOFT),
469 DECL(ALC_DEVICE_CLOCK_LATENCY_SOFT),
470 DECL(AL_SAMPLE_OFFSET_CLOCK_SOFT),
471 DECL(AL_SEC_OFFSET_CLOCK_SOFT),
473 DECL(ALC_OUTPUT_MODE_SOFT),
474 DECL(ALC_ANY_SOFT),
475 DECL(ALC_STEREO_BASIC_SOFT),
476 DECL(ALC_STEREO_UHJ_SOFT),
477 DECL(ALC_STEREO_HRTF_SOFT),
478 DECL(ALC_SURROUND_5_1_SOFT),
479 DECL(ALC_SURROUND_6_1_SOFT),
480 DECL(ALC_SURROUND_7_1_SOFT),
482 DECL(ALC_NO_ERROR),
483 DECL(ALC_INVALID_DEVICE),
484 DECL(ALC_INVALID_CONTEXT),
485 DECL(ALC_INVALID_ENUM),
486 DECL(ALC_INVALID_VALUE),
487 DECL(ALC_OUT_OF_MEMORY),
489 DECL(ALC_CONTEXT_FLAGS_EXT),
490 DECL(ALC_CONTEXT_DEBUG_BIT_EXT),
492 DECL(ALC_PLAYBACK_DEVICE_SOFT),
493 DECL(ALC_CAPTURE_DEVICE_SOFT),
494 DECL(ALC_EVENT_TYPE_DEFAULT_DEVICE_CHANGED_SOFT),
495 DECL(ALC_EVENT_TYPE_DEVICE_ADDED_SOFT),
496 DECL(ALC_EVENT_TYPE_DEVICE_REMOVED_SOFT),
499 DECL(AL_INVALID),
500 DECL(AL_NONE),
501 DECL(AL_FALSE),
502 DECL(AL_TRUE),
504 DECL(AL_SOURCE_RELATIVE),
505 DECL(AL_CONE_INNER_ANGLE),
506 DECL(AL_CONE_OUTER_ANGLE),
507 DECL(AL_PITCH),
508 DECL(AL_POSITION),
509 DECL(AL_DIRECTION),
510 DECL(AL_VELOCITY),
511 DECL(AL_LOOPING),
512 DECL(AL_BUFFER),
513 DECL(AL_GAIN),
514 DECL(AL_MIN_GAIN),
515 DECL(AL_MAX_GAIN),
516 DECL(AL_ORIENTATION),
517 DECL(AL_REFERENCE_DISTANCE),
518 DECL(AL_ROLLOFF_FACTOR),
519 DECL(AL_CONE_OUTER_GAIN),
520 DECL(AL_MAX_DISTANCE),
521 DECL(AL_SEC_OFFSET),
522 DECL(AL_SAMPLE_OFFSET),
523 DECL(AL_BYTE_OFFSET),
524 DECL(AL_SOURCE_TYPE),
525 DECL(AL_STATIC),
526 DECL(AL_STREAMING),
527 DECL(AL_UNDETERMINED),
528 DECL(AL_METERS_PER_UNIT),
529 DECL(AL_LOOP_POINTS_SOFT),
530 DECL(AL_DIRECT_CHANNELS_SOFT),
532 DECL(AL_DIRECT_FILTER),
533 DECL(AL_AUXILIARY_SEND_FILTER),
534 DECL(AL_AIR_ABSORPTION_FACTOR),
535 DECL(AL_ROOM_ROLLOFF_FACTOR),
536 DECL(AL_CONE_OUTER_GAINHF),
537 DECL(AL_DIRECT_FILTER_GAINHF_AUTO),
538 DECL(AL_AUXILIARY_SEND_FILTER_GAIN_AUTO),
539 DECL(AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO),
541 DECL(AL_SOURCE_STATE),
542 DECL(AL_INITIAL),
543 DECL(AL_PLAYING),
544 DECL(AL_PAUSED),
545 DECL(AL_STOPPED),
547 DECL(AL_BUFFERS_QUEUED),
548 DECL(AL_BUFFERS_PROCESSED),
550 DECL(AL_FORMAT_MONO8),
551 DECL(AL_FORMAT_MONO16),
552 DECL(AL_FORMAT_MONO_FLOAT32),
553 DECL(AL_FORMAT_MONO_DOUBLE_EXT),
554 DECL(AL_FORMAT_STEREO8),
555 DECL(AL_FORMAT_STEREO16),
556 DECL(AL_FORMAT_STEREO_FLOAT32),
557 DECL(AL_FORMAT_STEREO_DOUBLE_EXT),
558 DECL(AL_FORMAT_MONO_IMA4),
559 DECL(AL_FORMAT_STEREO_IMA4),
560 DECL(AL_FORMAT_MONO_MSADPCM_SOFT),
561 DECL(AL_FORMAT_STEREO_MSADPCM_SOFT),
562 DECL(AL_FORMAT_QUAD8_LOKI),
563 DECL(AL_FORMAT_QUAD16_LOKI),
564 DECL(AL_FORMAT_QUAD8),
565 DECL(AL_FORMAT_QUAD16),
566 DECL(AL_FORMAT_QUAD32),
567 DECL(AL_FORMAT_51CHN8),
568 DECL(AL_FORMAT_51CHN16),
569 DECL(AL_FORMAT_51CHN32),
570 DECL(AL_FORMAT_61CHN8),
571 DECL(AL_FORMAT_61CHN16),
572 DECL(AL_FORMAT_61CHN32),
573 DECL(AL_FORMAT_71CHN8),
574 DECL(AL_FORMAT_71CHN16),
575 DECL(AL_FORMAT_71CHN32),
576 DECL(AL_FORMAT_REAR8),
577 DECL(AL_FORMAT_REAR16),
578 DECL(AL_FORMAT_REAR32),
579 DECL(AL_FORMAT_MONO_MULAW),
580 DECL(AL_FORMAT_MONO_MULAW_EXT),
581 DECL(AL_FORMAT_STEREO_MULAW),
582 DECL(AL_FORMAT_STEREO_MULAW_EXT),
583 DECL(AL_FORMAT_QUAD_MULAW),
584 DECL(AL_FORMAT_51CHN_MULAW),
585 DECL(AL_FORMAT_61CHN_MULAW),
586 DECL(AL_FORMAT_71CHN_MULAW),
587 DECL(AL_FORMAT_REAR_MULAW),
588 DECL(AL_FORMAT_MONO_ALAW_EXT),
589 DECL(AL_FORMAT_STEREO_ALAW_EXT),
591 DECL(AL_FORMAT_BFORMAT2D_8),
592 DECL(AL_FORMAT_BFORMAT2D_16),
593 DECL(AL_FORMAT_BFORMAT2D_FLOAT32),
594 DECL(AL_FORMAT_BFORMAT2D_MULAW),
595 DECL(AL_FORMAT_BFORMAT3D_8),
596 DECL(AL_FORMAT_BFORMAT3D_16),
597 DECL(AL_FORMAT_BFORMAT3D_FLOAT32),
598 DECL(AL_FORMAT_BFORMAT3D_MULAW),
600 DECL(AL_FORMAT_UHJ2CHN8_SOFT),
601 DECL(AL_FORMAT_UHJ2CHN16_SOFT),
602 DECL(AL_FORMAT_UHJ2CHN_FLOAT32_SOFT),
603 DECL(AL_FORMAT_UHJ3CHN8_SOFT),
604 DECL(AL_FORMAT_UHJ3CHN16_SOFT),
605 DECL(AL_FORMAT_UHJ3CHN_FLOAT32_SOFT),
606 DECL(AL_FORMAT_UHJ4CHN8_SOFT),
607 DECL(AL_FORMAT_UHJ4CHN16_SOFT),
608 DECL(AL_FORMAT_UHJ4CHN_FLOAT32_SOFT),
609 DECL(AL_STEREO_MODE_SOFT),
610 DECL(AL_NORMAL_SOFT),
611 DECL(AL_SUPER_STEREO_SOFT),
612 DECL(AL_SUPER_STEREO_WIDTH_SOFT),
614 DECL(AL_FORMAT_UHJ2CHN_MULAW_SOFT),
615 DECL(AL_FORMAT_UHJ2CHN_ALAW_SOFT),
616 DECL(AL_FORMAT_UHJ2CHN_IMA4_SOFT),
617 DECL(AL_FORMAT_UHJ2CHN_MSADPCM_SOFT),
618 DECL(AL_FORMAT_UHJ3CHN_MULAW_SOFT),
619 DECL(AL_FORMAT_UHJ3CHN_ALAW_SOFT),
620 DECL(AL_FORMAT_UHJ4CHN_MULAW_SOFT),
621 DECL(AL_FORMAT_UHJ4CHN_ALAW_SOFT),
623 DECL(AL_FORMAT_MONO_I32),
624 DECL(AL_FORMAT_STEREO_I32),
625 DECL(AL_FORMAT_REAR_I32),
626 DECL(AL_FORMAT_QUAD_I32),
627 DECL(AL_FORMAT_51CHN_I32),
628 DECL(AL_FORMAT_61CHN_I32),
629 DECL(AL_FORMAT_71CHN_I32),
630 DECL(AL_FORMAT_UHJ2CHN_I32_SOFT),
631 DECL(AL_FORMAT_UHJ3CHN_I32_SOFT),
632 DECL(AL_FORMAT_UHJ4CHN_I32_SOFT),
634 DECL(AL_FORMAT_REAR_FLOAT32),
635 DECL(AL_FORMAT_QUAD_FLOAT32),
636 DECL(AL_FORMAT_51CHN_FLOAT32),
637 DECL(AL_FORMAT_61CHN_FLOAT32),
638 DECL(AL_FORMAT_71CHN_FLOAT32),
640 DECL(AL_FREQUENCY),
641 DECL(AL_BITS),
642 DECL(AL_CHANNELS),
643 DECL(AL_SIZE),
644 DECL(AL_UNPACK_BLOCK_ALIGNMENT_SOFT),
645 DECL(AL_PACK_BLOCK_ALIGNMENT_SOFT),
647 DECL(AL_SOURCE_RADIUS),
649 DECL(AL_SAMPLE_OFFSET_LATENCY_SOFT),
650 DECL(AL_SEC_OFFSET_LATENCY_SOFT),
652 DECL(AL_STEREO_ANGLES),
654 DECL(AL_UNUSED),
655 DECL(AL_PENDING),
656 DECL(AL_PROCESSED),
658 DECL(AL_NO_ERROR),
659 DECL(AL_INVALID_NAME),
660 DECL(AL_INVALID_ENUM),
661 DECL(AL_INVALID_VALUE),
662 DECL(AL_INVALID_OPERATION),
663 DECL(AL_OUT_OF_MEMORY),
665 DECL(AL_VENDOR),
666 DECL(AL_VERSION),
667 DECL(AL_RENDERER),
668 DECL(AL_EXTENSIONS),
670 DECL(AL_DOPPLER_FACTOR),
671 DECL(AL_DOPPLER_VELOCITY),
672 DECL(AL_DISTANCE_MODEL),
673 DECL(AL_SPEED_OF_SOUND),
674 DECL(AL_SOURCE_DISTANCE_MODEL),
675 DECL(AL_DEFERRED_UPDATES_SOFT),
676 DECL(AL_GAIN_LIMIT_SOFT),
678 DECL(AL_INVERSE_DISTANCE),
679 DECL(AL_INVERSE_DISTANCE_CLAMPED),
680 DECL(AL_LINEAR_DISTANCE),
681 DECL(AL_LINEAR_DISTANCE_CLAMPED),
682 DECL(AL_EXPONENT_DISTANCE),
683 DECL(AL_EXPONENT_DISTANCE_CLAMPED),
685 DECL(AL_FILTER_TYPE),
686 DECL(AL_FILTER_NULL),
687 DECL(AL_FILTER_LOWPASS),
688 DECL(AL_FILTER_HIGHPASS),
689 DECL(AL_FILTER_BANDPASS),
691 DECL(AL_LOWPASS_GAIN),
692 DECL(AL_LOWPASS_GAINHF),
694 DECL(AL_HIGHPASS_GAIN),
695 DECL(AL_HIGHPASS_GAINLF),
697 DECL(AL_BANDPASS_GAIN),
698 DECL(AL_BANDPASS_GAINHF),
699 DECL(AL_BANDPASS_GAINLF),
701 DECL(AL_EFFECT_TYPE),
702 DECL(AL_EFFECT_NULL),
703 DECL(AL_EFFECT_REVERB),
704 DECL(AL_EFFECT_EAXREVERB),
705 DECL(AL_EFFECT_CHORUS),
706 DECL(AL_EFFECT_DISTORTION),
707 DECL(AL_EFFECT_ECHO),
708 DECL(AL_EFFECT_FLANGER),
709 DECL(AL_EFFECT_PITCH_SHIFTER),
710 DECL(AL_EFFECT_FREQUENCY_SHIFTER),
711 DECL(AL_EFFECT_VOCAL_MORPHER),
712 DECL(AL_EFFECT_RING_MODULATOR),
713 DECL(AL_EFFECT_AUTOWAH),
714 DECL(AL_EFFECT_COMPRESSOR),
715 DECL(AL_EFFECT_EQUALIZER),
716 DECL(AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT),
717 DECL(AL_EFFECT_DEDICATED_DIALOGUE),
719 DECL(AL_EFFECTSLOT_EFFECT),
720 DECL(AL_EFFECTSLOT_GAIN),
721 DECL(AL_EFFECTSLOT_AUXILIARY_SEND_AUTO),
722 DECL(AL_EFFECTSLOT_NULL),
724 DECL(AL_EAXREVERB_DENSITY),
725 DECL(AL_EAXREVERB_DIFFUSION),
726 DECL(AL_EAXREVERB_GAIN),
727 DECL(AL_EAXREVERB_GAINHF),
728 DECL(AL_EAXREVERB_GAINLF),
729 DECL(AL_EAXREVERB_DECAY_TIME),
730 DECL(AL_EAXREVERB_DECAY_HFRATIO),
731 DECL(AL_EAXREVERB_DECAY_LFRATIO),
732 DECL(AL_EAXREVERB_REFLECTIONS_GAIN),
733 DECL(AL_EAXREVERB_REFLECTIONS_DELAY),
734 DECL(AL_EAXREVERB_REFLECTIONS_PAN),
735 DECL(AL_EAXREVERB_LATE_REVERB_GAIN),
736 DECL(AL_EAXREVERB_LATE_REVERB_DELAY),
737 DECL(AL_EAXREVERB_LATE_REVERB_PAN),
738 DECL(AL_EAXREVERB_ECHO_TIME),
739 DECL(AL_EAXREVERB_ECHO_DEPTH),
740 DECL(AL_EAXREVERB_MODULATION_TIME),
741 DECL(AL_EAXREVERB_MODULATION_DEPTH),
742 DECL(AL_EAXREVERB_AIR_ABSORPTION_GAINHF),
743 DECL(AL_EAXREVERB_HFREFERENCE),
744 DECL(AL_EAXREVERB_LFREFERENCE),
745 DECL(AL_EAXREVERB_ROOM_ROLLOFF_FACTOR),
746 DECL(AL_EAXREVERB_DECAY_HFLIMIT),
748 DECL(AL_REVERB_DENSITY),
749 DECL(AL_REVERB_DIFFUSION),
750 DECL(AL_REVERB_GAIN),
751 DECL(AL_REVERB_GAINHF),
752 DECL(AL_REVERB_DECAY_TIME),
753 DECL(AL_REVERB_DECAY_HFRATIO),
754 DECL(AL_REVERB_REFLECTIONS_GAIN),
755 DECL(AL_REVERB_REFLECTIONS_DELAY),
756 DECL(AL_REVERB_LATE_REVERB_GAIN),
757 DECL(AL_REVERB_LATE_REVERB_DELAY),
758 DECL(AL_REVERB_AIR_ABSORPTION_GAINHF),
759 DECL(AL_REVERB_ROOM_ROLLOFF_FACTOR),
760 DECL(AL_REVERB_DECAY_HFLIMIT),
762 DECL(AL_CHORUS_WAVEFORM),
763 DECL(AL_CHORUS_PHASE),
764 DECL(AL_CHORUS_RATE),
765 DECL(AL_CHORUS_DEPTH),
766 DECL(AL_CHORUS_FEEDBACK),
767 DECL(AL_CHORUS_DELAY),
769 DECL(AL_DISTORTION_EDGE),
770 DECL(AL_DISTORTION_GAIN),
771 DECL(AL_DISTORTION_LOWPASS_CUTOFF),
772 DECL(AL_DISTORTION_EQCENTER),
773 DECL(AL_DISTORTION_EQBANDWIDTH),
775 DECL(AL_ECHO_DELAY),
776 DECL(AL_ECHO_LRDELAY),
777 DECL(AL_ECHO_DAMPING),
778 DECL(AL_ECHO_FEEDBACK),
779 DECL(AL_ECHO_SPREAD),
781 DECL(AL_FLANGER_WAVEFORM),
782 DECL(AL_FLANGER_PHASE),
783 DECL(AL_FLANGER_RATE),
784 DECL(AL_FLANGER_DEPTH),
785 DECL(AL_FLANGER_FEEDBACK),
786 DECL(AL_FLANGER_DELAY),
788 DECL(AL_FREQUENCY_SHIFTER_FREQUENCY),
789 DECL(AL_FREQUENCY_SHIFTER_LEFT_DIRECTION),
790 DECL(AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION),
792 DECL(AL_RING_MODULATOR_FREQUENCY),
793 DECL(AL_RING_MODULATOR_HIGHPASS_CUTOFF),
794 DECL(AL_RING_MODULATOR_WAVEFORM),
796 DECL(AL_PITCH_SHIFTER_COARSE_TUNE),
797 DECL(AL_PITCH_SHIFTER_FINE_TUNE),
799 DECL(AL_COMPRESSOR_ONOFF),
801 DECL(AL_EQUALIZER_LOW_GAIN),
802 DECL(AL_EQUALIZER_LOW_CUTOFF),
803 DECL(AL_EQUALIZER_MID1_GAIN),
804 DECL(AL_EQUALIZER_MID1_CENTER),
805 DECL(AL_EQUALIZER_MID1_WIDTH),
806 DECL(AL_EQUALIZER_MID2_GAIN),
807 DECL(AL_EQUALIZER_MID2_CENTER),
808 DECL(AL_EQUALIZER_MID2_WIDTH),
809 DECL(AL_EQUALIZER_HIGH_GAIN),
810 DECL(AL_EQUALIZER_HIGH_CUTOFF),
812 DECL(AL_DEDICATED_GAIN),
814 DECL(AL_AUTOWAH_ATTACK_TIME),
815 DECL(AL_AUTOWAH_RELEASE_TIME),
816 DECL(AL_AUTOWAH_RESONANCE),
817 DECL(AL_AUTOWAH_PEAK_GAIN),
819 DECL(AL_VOCAL_MORPHER_PHONEMEA),
820 DECL(AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING),
821 DECL(AL_VOCAL_MORPHER_PHONEMEB),
822 DECL(AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING),
823 DECL(AL_VOCAL_MORPHER_WAVEFORM),
824 DECL(AL_VOCAL_MORPHER_RATE),
826 DECL(AL_EFFECTSLOT_TARGET_SOFT),
828 DECL(AL_NUM_RESAMPLERS_SOFT),
829 DECL(AL_DEFAULT_RESAMPLER_SOFT),
830 DECL(AL_SOURCE_RESAMPLER_SOFT),
831 DECL(AL_RESAMPLER_NAME_SOFT),
833 DECL(AL_SOURCE_SPATIALIZE_SOFT),
834 DECL(AL_AUTO_SOFT),
836 DECL(AL_MAP_READ_BIT_SOFT),
837 DECL(AL_MAP_WRITE_BIT_SOFT),
838 DECL(AL_MAP_PERSISTENT_BIT_SOFT),
839 DECL(AL_PRESERVE_DATA_BIT_SOFT),
841 DECL(AL_EVENT_CALLBACK_FUNCTION_SOFT),
842 DECL(AL_EVENT_CALLBACK_USER_PARAM_SOFT),
843 DECL(AL_EVENT_TYPE_BUFFER_COMPLETED_SOFT),
844 DECL(AL_EVENT_TYPE_SOURCE_STATE_CHANGED_SOFT),
845 DECL(AL_EVENT_TYPE_DISCONNECTED_SOFT),
847 DECL(AL_DROP_UNMATCHED_SOFT),
848 DECL(AL_REMIX_UNMATCHED_SOFT),
850 DECL(AL_AMBISONIC_LAYOUT_SOFT),
851 DECL(AL_AMBISONIC_SCALING_SOFT),
852 DECL(AL_FUMA_SOFT),
853 DECL(AL_ACN_SOFT),
854 DECL(AL_SN3D_SOFT),
855 DECL(AL_N3D_SOFT),
857 DECL(AL_BUFFER_CALLBACK_FUNCTION_SOFT),
858 DECL(AL_BUFFER_CALLBACK_USER_PARAM_SOFT),
860 DECL(AL_UNPACK_AMBISONIC_ORDER_SOFT),
862 DECL(AL_EFFECT_CONVOLUTION_SOFT),
863 DECL(AL_EFFECTSLOT_STATE_SOFT),
865 DECL(AL_DONT_CARE_EXT),
866 DECL(AL_DEBUG_OUTPUT_EXT),
867 DECL(AL_DEBUG_CALLBACK_FUNCTION_EXT),
868 DECL(AL_DEBUG_CALLBACK_USER_PARAM_EXT),
869 DECL(AL_DEBUG_SOURCE_API_EXT),
870 DECL(AL_DEBUG_SOURCE_AUDIO_SYSTEM_EXT),
871 DECL(AL_DEBUG_SOURCE_THIRD_PARTY_EXT),
872 DECL(AL_DEBUG_SOURCE_APPLICATION_EXT),
873 DECL(AL_DEBUG_SOURCE_OTHER_EXT),
874 DECL(AL_DEBUG_TYPE_ERROR_EXT),
875 DECL(AL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_EXT),
876 DECL(AL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_EXT),
877 DECL(AL_DEBUG_TYPE_PORTABILITY_EXT),
878 DECL(AL_DEBUG_TYPE_PERFORMANCE_EXT),
879 DECL(AL_DEBUG_TYPE_MARKER_EXT),
880 DECL(AL_DEBUG_TYPE_PUSH_GROUP_EXT),
881 DECL(AL_DEBUG_TYPE_POP_GROUP_EXT),
882 DECL(AL_DEBUG_TYPE_OTHER_EXT),
883 DECL(AL_DEBUG_SEVERITY_HIGH_EXT),
884 DECL(AL_DEBUG_SEVERITY_MEDIUM_EXT),
885 DECL(AL_DEBUG_SEVERITY_LOW_EXT),
886 DECL(AL_DEBUG_SEVERITY_NOTIFICATION_EXT),
887 DECL(AL_DEBUG_LOGGED_MESSAGES_EXT),
888 DECL(AL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_EXT),
889 DECL(AL_MAX_DEBUG_MESSAGE_LENGTH_EXT),
890 DECL(AL_MAX_DEBUG_LOGGED_MESSAGES_EXT),
891 DECL(AL_MAX_DEBUG_GROUP_STACK_DEPTH_EXT),
892 DECL(AL_MAX_LABEL_LENGTH_EXT),
893 DECL(AL_STACK_OVERFLOW_EXT),
894 DECL(AL_STACK_UNDERFLOW_EXT),
895 DECL(AL_BUFFER_EXT),
896 DECL(AL_SOURCE_EXT),
897 DECL(AL_FILTER_EXT),
898 DECL(AL_EFFECT_EXT),
899 DECL(AL_AUXILIARY_EFFECT_SLOT_EXT),
901 DECL(AL_PANNING_ENABLED_SOFT),
902 DECL(AL_PAN_SOFT),
904 DECL(AL_STOP_SOURCES_ON_DISCONNECT_SOFT),
906 #ifdef ALSOFT_EAX
907 inline const std::array eaxEnumerations{
908 DECL(AL_EAX_RAM_SIZE),
909 DECL(AL_EAX_RAM_FREE),
910 DECL(AL_STORAGE_AUTOMATIC),
911 DECL(AL_STORAGE_HARDWARE),
912 DECL(AL_STORAGE_ACCESSIBLE),
914 #endif // ALSOFT_EAX
915 #undef DECL
917 #endif /* ALC_EXPORT_LIST_H */