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 Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 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 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 * Or go to http://www.gnu.org/copyleft/lgpl.html
29 #ifndef AL_LOKI_IMA_ADPCM_format
30 #define AL_LOKI_IMA_ADPCM_format 1
31 #define AL_FORMAT_IMA_ADPCM_MONO16_EXT 0x10000
32 #define AL_FORMAT_IMA_ADPCM_STEREO16_EXT 0x10001
35 #ifndef AL_LOKI_WAVE_format
36 #define AL_LOKI_WAVE_format 1
37 #define AL_FORMAT_WAVE_EXT 0x10002
41 #define AL_EXT_vorbis 1
42 #define AL_FORMAT_VORBIS_EXT 0x10003
45 #ifndef AL_LOKI_quadriphonic
46 #define AL_LOKI_quadriphonic 1
47 #define AL_FORMAT_QUAD8_LOKI 0x10004
48 #define AL_FORMAT_QUAD16_LOKI 0x10005
51 #ifndef AL_EXT_float32
52 #define AL_EXT_float32 1
53 #define AL_FORMAT_MONO_FLOAT32 0x10010
54 #define AL_FORMAT_STEREO_FLOAT32 0x10011
58 #define AL_EXT_double 1
59 #define AL_FORMAT_MONO_DOUBLE_EXT 0x10012
60 #define AL_FORMAT_STEREO_DOUBLE_EXT 0x10013
63 #ifndef ALC_LOKI_audio_channel
64 #define ALC_LOKI_audio_channel 1
65 #define ALC_CHAN_MAIN_LOKI 0x500001
66 #define ALC_CHAN_PCM_LOKI 0x500002
67 #define ALC_CHAN_CD_LOKI 0x500003
70 #ifndef ALC_ENUMERATE_ALL_EXT
71 #define ALC_ENUMERATE_ALL_EXT 1
72 #define ALC_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012
73 #define ALC_ALL_DEVICES_SPECIFIER 0x1013
76 #ifndef AL_EXT_MCFORMATS
77 #define AL_EXT_MCFORMATS 1
78 #define AL_FORMAT_QUAD8 0x1204
79 #define AL_FORMAT_QUAD16 0x1205
80 #define AL_FORMAT_QUAD32 0x1206
81 #define AL_FORMAT_REAR8 0x1207
82 #define AL_FORMAT_REAR16 0x1208
83 #define AL_FORMAT_REAR32 0x1209
84 #define AL_FORMAT_51CHN8 0x120A
85 #define AL_FORMAT_51CHN16 0x120B
86 #define AL_FORMAT_51CHN32 0x120C
87 #define AL_FORMAT_61CHN8 0x120D
88 #define AL_FORMAT_61CHN16 0x120E
89 #define AL_FORMAT_61CHN32 0x120F
90 #define AL_FORMAT_71CHN8 0x1210
91 #define AL_FORMAT_71CHN16 0x1211
92 #define AL_FORMAT_71CHN32 0x1212
95 #ifndef AL_EXT_MULAW_MCFORMATS
96 #define AL_EXT_MULAW_MCFORMATS 1
97 #define AL_FORMAT_MONO_MULAW 0x10014
98 #define AL_FORMAT_STEREO_MULAW 0x10015
99 #define AL_FORMAT_QUAD_MULAW 0x10021
100 #define AL_FORMAT_REAR_MULAW 0x10022
101 #define AL_FORMAT_51CHN_MULAW 0x10023
102 #define AL_FORMAT_61CHN_MULAW 0x10024
103 #define AL_FORMAT_71CHN_MULAW 0x10025
107 #define AL_EXT_IMA4 1
108 #define AL_FORMAT_MONO_IMA4 0x1300
109 #define AL_FORMAT_STEREO_IMA4 0x1301
112 #ifndef AL_EXT_STATIC_BUFFER
113 #define AL_EXT_STATIC_BUFFER 1
114 typedef ALvoid (AL_APIENTRY
*PFNALBUFFERDATASTATICPROC
)(const ALint
,ALenum
,ALvoid
*,ALsizei
,ALsizei
);
115 #ifdef AL_ALEXT_PROTOTYPES
116 AL_API ALvoid AL_APIENTRY
alBufferDataStatic(const ALint buffer
, ALenum format
, ALvoid
*data
, ALsizei len
, ALsizei freq
);
120 #ifndef ALC_EXT_disconnect
121 #define ALC_EXT_disconnect 1
122 #define ALC_CONNECTED 0x313
125 #ifndef ALC_EXT_thread_local_context
126 #define ALC_EXT_thread_local_context 1
127 typedef ALCboolean (ALC_APIENTRY
*PFNALCSETTHREADCONTEXTPROC
)(ALCcontext
*context
);
128 typedef ALCcontext
* (ALC_APIENTRY
*PFNALCGETTHREADCONTEXTPROC
)(void);
129 #ifdef AL_ALEXT_PROTOTYPES
130 ALC_API ALCboolean ALC_APIENTRY
alcSetThreadContext(ALCcontext
*context
);
131 ALC_API ALCcontext
* ALC_APIENTRY
alcGetThreadContext(void);
135 #ifndef AL_EXT_source_distance_model
136 #define AL_EXT_source_distance_model 1
137 #define AL_SOURCE_DISTANCE_MODEL 0x200