Add I32 for B-Format buffer formats to AL_EXT_32bit_formats
[openal-soft.git] / alc / inprogext.h
blobf847b340d3002d9133babfe493291fafe8686855
1 #ifndef INPROGEXT_H
2 #define INPROGEXT_H
4 /* NOLINTBEGIN */
5 #include "AL/al.h"
6 #include "AL/alc.h"
7 #include "AL/alext.h"
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
13 #ifndef AL_SOFT_map_buffer
14 #define AL_SOFT_map_buffer 1
15 typedef unsigned int ALbitfieldSOFT;
16 #define AL_MAP_READ_BIT_SOFT 0x00000001
17 #define AL_MAP_WRITE_BIT_SOFT 0x00000002
18 #define AL_MAP_PERSISTENT_BIT_SOFT 0x00000004
19 #define AL_PRESERVE_DATA_BIT_SOFT 0x00000008
20 typedef void (AL_APIENTRY*LPALBUFFERSTORAGESOFT)(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq, ALbitfieldSOFT flags) AL_API_NOEXCEPT17;
21 typedef void* (AL_APIENTRY*LPALMAPBUFFERSOFT)(ALuint buffer, ALsizei offset, ALsizei length, ALbitfieldSOFT access) AL_API_NOEXCEPT17;
22 typedef void (AL_APIENTRY*LPALUNMAPBUFFERSOFT)(ALuint buffer) AL_API_NOEXCEPT17;
23 typedef void (AL_APIENTRY*LPALFLUSHMAPPEDBUFFERSOFT)(ALuint buffer, ALsizei offset, ALsizei length) AL_API_NOEXCEPT17;
24 typedef void (AL_APIENTRY*LPALBUFFERSTORAGEDIRECTSOFT)(ALCcontext *context, ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq, ALbitfieldSOFT flags) AL_API_NOEXCEPT17;
25 typedef void* (AL_APIENTRY*LPALMAPBUFFERDIRECTSOFT)(ALCcontext *context, ALuint buffer, ALsizei offset, ALsizei length, ALbitfieldSOFT access) AL_API_NOEXCEPT17;
26 typedef void (AL_APIENTRY*LPALUNMAPBUFFERDIRECTSOFT)(ALCcontext *context, ALuint buffer) AL_API_NOEXCEPT17;
27 typedef void (AL_APIENTRY*LPALFLUSHMAPPEDBUFFERDIRECTSOFT)(ALCcontext *context, ALuint buffer, ALsizei offset, ALsizei length) AL_API_NOEXCEPT17;
28 #ifdef AL_ALEXT_PROTOTYPES
29 AL_API void AL_APIENTRY alBufferStorageSOFT(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq, ALbitfieldSOFT flags) AL_API_NOEXCEPT;
30 AL_API void* AL_APIENTRY alMapBufferSOFT(ALuint buffer, ALsizei offset, ALsizei length, ALbitfieldSOFT access) AL_API_NOEXCEPT;
31 AL_API void AL_APIENTRY alUnmapBufferSOFT(ALuint buffer) AL_API_NOEXCEPT;
32 AL_API void AL_APIENTRY alFlushMappedBufferSOFT(ALuint buffer, ALsizei offset, ALsizei length) AL_API_NOEXCEPT;
33 void AL_APIENTRY alBufferStorageDirectSOFT(ALCcontext *context, ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq, ALbitfieldSOFT flags) AL_API_NOEXCEPT;
34 void* AL_APIENTRY alMapBufferDirectSOFT(ALCcontext *context, ALuint buffer, ALsizei offset, ALsizei length, ALbitfieldSOFT access) AL_API_NOEXCEPT;
35 void AL_APIENTRY alUnmapBufferDirectSOFT(ALCcontext *context, ALuint buffer) AL_API_NOEXCEPT;
36 void AL_APIENTRY alFlushMappedBufferDirectSOFT(ALCcontext *context, ALuint buffer, ALsizei offset, ALsizei length) AL_API_NOEXCEPT;
37 #endif
38 #endif
40 #ifndef AL_SOFT_bformat_hoa
41 #define AL_SOFT_bformat_hoa
42 #define AL_UNPACK_AMBISONIC_ORDER_SOFT 0x199D
43 #endif
45 #ifndef AL_SOFT_convolution_effect
46 #define AL_SOFT_convolution_effect
47 #define AL_EFFECT_CONVOLUTION_SOFT 0xA000
48 #define AL_CONVOLUTION_ORIENTATION_SOFT 0x100F /* same as AL_ORIENTATION */
49 #define AL_EFFECTSLOT_STATE_SOFT 0x199E
50 #endif
52 #ifndef AL_SOFT_hold_on_disconnect
53 #define AL_SOFT_hold_on_disconnect
54 #define AL_STOP_SOURCES_ON_DISCONNECT_SOFT 0x19AB
55 #endif
58 #ifndef AL_EXT_32bit_formats
59 #define AL_EXT_32bit_formats
60 #define AL_FORMAT_MONO_I32 0x19DB
61 #define AL_FORMAT_STEREO_I32 0x19DC
62 #define AL_FORMAT_REAR_I32 0x19DD
63 #define AL_FORMAT_REAR_FLOAT32 0x19DE
64 #define AL_FORMAT_QUAD_I32 0x19DF
65 #define AL_FORMAT_QUAD_FLOAT32 0x19E0
66 #define AL_FORMAT_51CHN_I32 0x19E1
67 #define AL_FORMAT_51CHN_FLOAT32 0x19E2
68 #define AL_FORMAT_61CHN_I32 0x19E3
69 #define AL_FORMAT_61CHN_FLOAT32 0x19E4
70 #define AL_FORMAT_71CHN_I32 0x19E5
71 #define AL_FORMAT_71CHN_FLOAT32 0x19E6
73 #define AL_FORMAT_BFORMAT2D_I32 0x19E7
74 #define AL_FORMAT_BFORMAT3D_I32 0x19E8
76 #define AL_FORMAT_UHJ2CHN_I32_SOFT 0x19E9
77 #define AL_FORMAT_UHJ3CHN_I32_SOFT 0x19EA
78 #define AL_FORMAT_UHJ4CHN_I32_SOFT 0x19EB
79 #endif
81 #ifndef AL_SOFT_source_panning
82 #define AL_SOFT_source_panning
83 #define AL_PANNING_ENABLED_SOFT 0x19EC
84 #define AL_PAN_SOFT 0x19ED
85 #endif
87 /* Non-standard exports. Not part of any extension. */
88 AL_API const ALchar* AL_APIENTRY alsoft_get_version(void) noexcept;
90 typedef void (ALC_APIENTRY*LPALSOFTLOGCALLBACK)(void *userptr, char level, const char *message, int length) noexcept;
91 void ALC_APIENTRY alsoft_set_log_callback(LPALSOFTLOGCALLBACK callback, void *userptr) noexcept;
93 /* Functions from abandoned extensions. Only here for binary compatibility. */
94 AL_API void AL_APIENTRY alSourceQueueBufferLayersSOFT(ALuint src, ALsizei nb,
95 const ALuint *buffers) noexcept;
97 AL_API void AL_APIENTRY alAuxiliaryEffectSlotPlaySOFT(ALuint slotid) noexcept;
98 AL_API void AL_APIENTRY alAuxiliaryEffectSlotPlayvSOFT(ALsizei n, const ALuint *slotids) noexcept;
99 AL_API void AL_APIENTRY alAuxiliaryEffectSlotStopSOFT(ALuint slotid) noexcept;
100 AL_API void AL_APIENTRY alAuxiliaryEffectSlotStopvSOFT(ALsizei n, const ALuint *slotids) noexcept;
102 AL_API ALint64SOFT AL_APIENTRY alGetInteger64SOFT(ALenum pname) AL_API_NOEXCEPT;
103 AL_API void AL_APIENTRY alGetInteger64vSOFT(ALenum pname, ALint64SOFT *values) AL_API_NOEXCEPT;
104 ALint64SOFT AL_APIENTRY alGetInteger64DirectSOFT(ALCcontext *context, ALenum pname) AL_API_NOEXCEPT;
105 void AL_APIENTRY alGetInteger64vDirectSOFT(ALCcontext *context, ALenum pname, ALint64SOFT *values) AL_API_NOEXCEPT;
107 /* Not included in the public headers or export list, as a precaution for apps
108 * that check these to determine the behavior of the multi-channel *32 formats.
110 #define AL_FORMAT_MONO32 0x1202
111 #define AL_FORMAT_STEREO32 0x1203
113 #ifdef __cplusplus
114 } /* extern "C" */
115 #endif
116 /* NOLINTEND */
118 #endif /* INPROGEXT_H */