2 * OpenAL cross platform audio library
3 * Copyright (C) 2008 by authors.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 * Or go to http://www.gnu.org/copyleft/lgpl.html
30 #ifndef AL_LOKI_IMA_ADPCM_format
31 #define AL_LOKI_IMA_ADPCM_format 1
32 #define AL_FORMAT_IMA_ADPCM_MONO16_EXT 0x10000
33 #define AL_FORMAT_IMA_ADPCM_STEREO16_EXT 0x10001
36 #ifndef AL_LOKI_WAVE_format
37 #define AL_LOKI_WAVE_format 1
38 #define AL_FORMAT_WAVE_EXT 0x10002
42 #define AL_EXT_vorbis 1
43 #define AL_FORMAT_VORBIS_EXT 0x10003
46 #ifndef AL_LOKI_quadriphonic
47 #define AL_LOKI_quadriphonic 1
48 #define AL_FORMAT_QUAD8_LOKI 0x10004
49 #define AL_FORMAT_QUAD16_LOKI 0x10005
52 #ifndef AL_EXT_float32
53 #define AL_EXT_float32 1
54 #define AL_FORMAT_MONO_FLOAT32 0x10010
55 #define AL_FORMAT_STEREO_FLOAT32 0x10011
59 #define AL_EXT_double 1
60 #define AL_FORMAT_MONO_DOUBLE_EXT 0x10012
61 #define AL_FORMAT_STEREO_DOUBLE_EXT 0x10013
64 #ifndef ALC_LOKI_audio_channel
65 #define ALC_LOKI_audio_channel 1
66 #define ALC_CHAN_MAIN_LOKI 0x500001
67 #define ALC_CHAN_PCM_LOKI 0x500002
68 #define ALC_CHAN_CD_LOKI 0x500003
71 #ifndef ALC_ENUMERATE_ALL_EXT
72 #define ALC_ENUMERATE_ALL_EXT 1
73 #define ALC_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012
74 #define ALC_ALL_DEVICES_SPECIFIER 0x1013
77 #ifndef AL_EXT_MCFORMATS
78 #define AL_EXT_MCFORMATS 1
79 #define AL_FORMAT_QUAD8 0x1204
80 #define AL_FORMAT_QUAD16 0x1205
81 #define AL_FORMAT_QUAD32 0x1206
82 #define AL_FORMAT_REAR8 0x1207
83 #define AL_FORMAT_REAR16 0x1208
84 #define AL_FORMAT_REAR32 0x1209
85 #define AL_FORMAT_51CHN8 0x120A
86 #define AL_FORMAT_51CHN16 0x120B
87 #define AL_FORMAT_51CHN32 0x120C
88 #define AL_FORMAT_61CHN8 0x120D
89 #define AL_FORMAT_61CHN16 0x120E
90 #define AL_FORMAT_61CHN32 0x120F
91 #define AL_FORMAT_71CHN8 0x1210
92 #define AL_FORMAT_71CHN16 0x1211
93 #define AL_FORMAT_71CHN32 0x1212
96 #ifndef AL_EXT_MULAW_MCFORMATS
97 #define AL_EXT_MULAW_MCFORMATS 1
98 #define AL_FORMAT_MONO_MULAW 0x10014
99 #define AL_FORMAT_STEREO_MULAW 0x10015
100 #define AL_FORMAT_QUAD_MULAW 0x10021
101 #define AL_FORMAT_REAR_MULAW 0x10022
102 #define AL_FORMAT_51CHN_MULAW 0x10023
103 #define AL_FORMAT_61CHN_MULAW 0x10024
104 #define AL_FORMAT_71CHN_MULAW 0x10025
108 #define AL_EXT_IMA4 1
109 #define AL_FORMAT_MONO_IMA4 0x1300
110 #define AL_FORMAT_STEREO_IMA4 0x1301
113 #ifndef AL_EXT_buffer_sub_data
114 #define AL_EXT_buffer_sub_data 1
115 #define AL_BYTE_RW_OFFSETS_EXT 0x1031
116 #define AL_SAMPLE_RW_OFFSETS_EXT 0x1032
117 typedef ALvoid (AL_APIENTRY
*PFNALBUFFERSUBDATAEXTPROC
)(ALuint
,ALenum
,const ALvoid
*,ALsizei
,ALsizei
);
118 #ifdef AL_ALEXT_PROTOTYPES
119 AL_API ALvoid AL_APIENTRY
alBufferSubDataEXT(ALuint buffer
,ALenum format
,const ALvoid
*data
,ALsizei offset
,ALsizei length
);
123 #ifndef AL_EXT_STATIC_BUFFER
124 #define AL_EXT_STATIC_BUFFER 1
125 typedef ALvoid (AL_APIENTRY
*PFNALBUFFERDATASTATICPROC
)(const ALint
,ALenum
,ALvoid
*,ALsizei
,ALsizei
);
126 #ifdef AL_ALEXT_PROTOTYPES
127 AL_API ALvoid AL_APIENTRY
alBufferDataStatic(const ALint buffer
, ALenum format
, ALvoid
*data
, ALsizei len
, ALsizei freq
);
131 #ifndef AL_EXT_sample_buffer_object
132 #define AL_EXT_sample_buffer_object 1
133 typedef ptrdiff_t ALintptrEXT
;
134 typedef ptrdiff_t ALsizeiptrEXT
;
135 #define AL_SAMPLE_SOURCE_EXT 0x1040
136 #define AL_SAMPLE_SINK_EXT 0x1041
137 #define AL_READ_ONLY_EXT 0x1042
138 #define AL_WRITE_ONLY_EXT 0x1043
139 #define AL_READ_WRITE_EXT 0x1044
140 #define AL_STREAM_WRITE_EXT 0x1045
141 #define AL_STREAM_READ_EXT 0x1046
142 #define AL_STREAM_COPY_EXT 0x1047
143 #define AL_STATIC_WRITE_EXT 0x1048
144 #define AL_STATIC_READ_EXT 0x1049
145 #define AL_STATIC_COPY_EXT 0x104A
146 #define AL_DYNAMIC_WRITE_EXT 0x104B
147 #define AL_DYNAMIC_READ_EXT 0x104C
148 #define AL_DYNAMIC_COPY_EXT 0x104D
149 typedef ALvoid (AL_APIENTRY
*PFNALGENDATABUFFERSEXTPROC
)(ALsizei n
,ALuint
*puiBuffers
);
150 typedef ALvoid (AL_APIENTRY
*PFNALDELETEDATABUFFERSEXTPROC
)(ALsizei n
, const ALuint
*puiBuffers
);
151 typedef ALboolean (AL_APIENTRY
*PFNALISDATABUFFEREXTPROC
)(ALuint uiBuffer
);
152 typedef ALvoid (AL_APIENTRY
*PFNALDATABUFFERDATAEXTPROC
)(ALuint buffer
,const ALvoid
*data
,ALsizeiptrEXT size
,ALenum usage
);
153 typedef ALvoid (AL_APIENTRY
*PFNALDATABUFFERSUBDATAEXTPROC
)(ALuint buffer
, ALintptrEXT start
, ALsizeiptrEXT length
, const ALvoid
*);
154 typedef ALvoid (AL_APIENTRY
*PFNALGETDATABUFFERSUBDATAEXTPROC
)(ALuint buffer
, ALintptrEXT start
, ALsizeiptrEXT length
, ALvoid
*);
155 typedef ALvoid (AL_APIENTRY
*PFNALDATABUFFERFEXTPROC
)(ALuint buffer
, ALenum eParam
, ALfloat flValue
);
156 typedef ALvoid (AL_APIENTRY
*PFNALDATABUFFERFVEXTPROC
)(ALuint buffer
, ALenum eParam
, const ALfloat
* flValues
);
157 typedef ALvoid (AL_APIENTRY
*PFNALDATABUFFERIEXTPROC
)(ALuint buffer
, ALenum eParam
, ALint lValue
);
158 typedef ALvoid (AL_APIENTRY
*PFNALDATABUFFERIVEXTPROC
)(ALuint buffer
, ALenum eParam
, const ALint
* plValues
);
159 typedef ALvoid (AL_APIENTRY
*PFNALGETDATABUFFERFEXTPROC
)(ALuint buffer
, ALenum eParam
, ALfloat
*pflValue
);
160 typedef ALvoid (AL_APIENTRY
*PFNALGETDATABUFFERFVEXTPROC
)(ALuint buffer
, ALenum eParam
, ALfloat
* pflValues
);
161 typedef ALvoid (AL_APIENTRY
*PFNALGETDATABUFFERIEXTPROC
)(ALuint buffer
, ALenum eParam
, ALint
*plValue
);
162 typedef ALvoid (AL_APIENTRY
*PFNALGETDATABUFFERIVEXTPROC
)(ALuint buffer
, ALenum eParam
, ALint
* plValues
);
163 typedef ALvoid (AL_APIENTRY
*PFNALSELECTDATABUFFEREXTPROC
)(ALenum target
, ALuint uiBuffer
);
164 typedef ALvoid
* (AL_APIENTRY
*PFNALMAPDATABUFFEREXTPROC
)(ALuint uiBuffer
, ALintptrEXT start
, ALsizeiptrEXT length
, ALenum access
);
165 typedef ALvoid (AL_APIENTRY
*PFNALUNMAPDATABUFFEREXTPROC
)(ALuint uiBuffer
);
166 #ifdef AL_ALEXT_PROTOTYPES
167 AL_API ALvoid AL_APIENTRY
alGenDatabuffersEXT(ALsizei n
,ALuint
*puiBuffers
);
168 AL_API ALvoid AL_APIENTRY
alDeleteDatabuffersEXT(ALsizei n
, const ALuint
*puiBuffers
);
169 AL_API ALboolean AL_APIENTRY
alIsDatabufferEXT(ALuint uiBuffer
);
170 AL_API ALvoid AL_APIENTRY
alDatabufferDataEXT(ALuint buffer
,const ALvoid
*data
,ALsizeiptrEXT size
,ALenum usage
);
171 AL_API ALvoid AL_APIENTRY
alDatabufferSubDataEXT(ALuint buffer
, ALintptrEXT start
, ALsizeiptrEXT length
, const ALvoid
*data
);
172 AL_API ALvoid AL_APIENTRY
alGetDatabufferSubDataEXT(ALuint buffer
, ALintptrEXT start
, ALsizeiptrEXT length
, ALvoid
*data
);
173 AL_API ALvoid AL_APIENTRY
alDatabufferfEXT(ALuint buffer
, ALenum eParam
, ALfloat flValue
);
174 AL_API ALvoid AL_APIENTRY
alDatabufferfvEXT(ALuint buffer
, ALenum eParam
, const ALfloat
* flValues
);
175 AL_API ALvoid AL_APIENTRY
alDatabufferiEXT(ALuint buffer
, ALenum eParam
, ALint lValue
);
176 AL_API ALvoid AL_APIENTRY
alDatabufferivEXT(ALuint buffer
, ALenum eParam
, const ALint
* plValues
);
177 AL_API ALvoid AL_APIENTRY
alGetDatabufferfEXT(ALuint buffer
, ALenum eParam
, ALfloat
*pflValue
);
178 AL_API ALvoid AL_APIENTRY
alGetDatabufferfvEXT(ALuint buffer
, ALenum eParam
, ALfloat
* pflValues
);
179 AL_API ALvoid AL_APIENTRY
alGetDatabufferiEXT(ALuint buffer
, ALenum eParam
, ALint
*plValue
);
180 AL_API ALvoid AL_APIENTRY
alGetDatabufferivEXT(ALuint buffer
, ALenum eParam
, ALint
* plValues
);
181 AL_API ALvoid AL_APIENTRY
alSelectDatabufferEXT(ALenum target
, ALuint uiBuffer
);
182 AL_API ALvoid
* AL_APIENTRY
alMapDatabufferEXT(ALuint uiBuffer
, ALintptrEXT start
, ALsizeiptrEXT length
, ALenum access
);
183 AL_API ALvoid AL_APIENTRY
alUnmapDatabufferEXT(ALuint uiBuffer
);
188 #define ALC_EXT_EFX 1
192 #ifndef ALC_EXT_disconnect
193 #define ALC_EXT_disconnect 1
194 #define ALC_CONNECTED 0x313
197 #ifndef ALC_EXT_thread_local_context
198 #define ALC_EXT_thread_local_context 1
199 typedef ALCboolean (ALC_APIENTRY
*PFNALCSETTHREADCONTEXTPROC
)(ALCcontext
*context
);
200 typedef ALCcontext
* (ALC_APIENTRY
*PFNALCGETTHREADCONTEXTPROC
)(void);
201 #ifdef AL_ALEXT_PROTOTYPES
202 ALC_API ALCboolean ALC_APIENTRY
alcSetThreadContext(ALCcontext
*context
);
203 ALC_API ALCcontext
* ALC_APIENTRY
alcGetThreadContext(void);
207 #ifndef AL_EXT_source_distance_model
208 #define AL_EXT_source_distance_model 1
209 #define AL_SOURCE_DISTANCE_MODEL 0x200