rlm@0
|
1 /**
|
rlm@0
|
2 * OpenAL cross platform audio library
|
rlm@0
|
3 * Copyright (C) 2008 by authors.
|
rlm@0
|
4 * This library is free software; you can redistribute it and/or
|
rlm@0
|
5 * modify it under the terms of the GNU Library General Public
|
rlm@0
|
6 * License as published by the Free Software Foundation; either
|
rlm@0
|
7 * version 2 of the License, or (at your option) any later version.
|
rlm@0
|
8 *
|
rlm@0
|
9 * This library is distributed in the hope that it will be useful,
|
rlm@0
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
rlm@0
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
rlm@0
|
12 * Library General Public License for more details.
|
rlm@0
|
13 *
|
rlm@0
|
14 * You should have received a copy of the GNU Library General Public
|
rlm@0
|
15 * License along with this library; if not, write to the
|
rlm@0
|
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
rlm@0
|
17 * Boston, MA 02111-1307, USA.
|
rlm@0
|
18 * Or go to http://www.gnu.org/copyleft/lgpl.html
|
rlm@0
|
19 */
|
rlm@0
|
20
|
rlm@0
|
21 #ifndef AL_ALEXT_H
|
rlm@0
|
22 #define AL_ALEXT_H
|
rlm@0
|
23
|
rlm@0
|
24 #include <stddef.h>
|
rlm@0
|
25
|
rlm@0
|
26 #ifdef __cplusplus
|
rlm@0
|
27 extern "C" {
|
rlm@0
|
28 #endif
|
rlm@0
|
29
|
rlm@0
|
30 #ifndef AL_LOKI_IMA_ADPCM_format
|
rlm@0
|
31 #define AL_LOKI_IMA_ADPCM_format 1
|
rlm@0
|
32 #define AL_FORMAT_IMA_ADPCM_MONO16_EXT 0x10000
|
rlm@0
|
33 #define AL_FORMAT_IMA_ADPCM_STEREO16_EXT 0x10001
|
rlm@0
|
34 #endif
|
rlm@0
|
35
|
rlm@0
|
36 #ifndef AL_LOKI_WAVE_format
|
rlm@0
|
37 #define AL_LOKI_WAVE_format 1
|
rlm@0
|
38 #define AL_FORMAT_WAVE_EXT 0x10002
|
rlm@0
|
39 #endif
|
rlm@0
|
40
|
rlm@0
|
41 #ifndef AL_EXT_vorbis
|
rlm@0
|
42 #define AL_EXT_vorbis 1
|
rlm@0
|
43 #define AL_FORMAT_VORBIS_EXT 0x10003
|
rlm@0
|
44 #endif
|
rlm@0
|
45
|
rlm@0
|
46 #ifndef AL_LOKI_quadriphonic
|
rlm@0
|
47 #define AL_LOKI_quadriphonic 1
|
rlm@0
|
48 #define AL_FORMAT_QUAD8_LOKI 0x10004
|
rlm@0
|
49 #define AL_FORMAT_QUAD16_LOKI 0x10005
|
rlm@0
|
50 #endif
|
rlm@0
|
51
|
rlm@0
|
52 #ifndef AL_EXT_float32
|
rlm@0
|
53 #define AL_EXT_float32 1
|
rlm@0
|
54 #define AL_FORMAT_MONO_FLOAT32 0x10010
|
rlm@0
|
55 #define AL_FORMAT_STEREO_FLOAT32 0x10011
|
rlm@0
|
56 #endif
|
rlm@0
|
57
|
rlm@0
|
58 #ifndef AL_EXT_double
|
rlm@0
|
59 #define AL_EXT_double 1
|
rlm@0
|
60 #define AL_FORMAT_MONO_DOUBLE_EXT 0x10012
|
rlm@0
|
61 #define AL_FORMAT_STEREO_DOUBLE_EXT 0x10013
|
rlm@0
|
62 #endif
|
rlm@0
|
63
|
rlm@0
|
64 #ifndef ALC_LOKI_audio_channel
|
rlm@0
|
65 #define ALC_LOKI_audio_channel 1
|
rlm@0
|
66 #define ALC_CHAN_MAIN_LOKI 0x500001
|
rlm@0
|
67 #define ALC_CHAN_PCM_LOKI 0x500002
|
rlm@0
|
68 #define ALC_CHAN_CD_LOKI 0x500003
|
rlm@0
|
69 #endif
|
rlm@0
|
70
|
rlm@0
|
71 #ifndef AL_EXT_MCFORMATS
|
rlm@0
|
72 #define AL_EXT_MCFORMATS 1
|
rlm@0
|
73 #define AL_FORMAT_QUAD8 0x1204
|
rlm@0
|
74 #define AL_FORMAT_QUAD16 0x1205
|
rlm@0
|
75 #define AL_FORMAT_QUAD32 0x1206
|
rlm@0
|
76 #define AL_FORMAT_REAR8 0x1207
|
rlm@0
|
77 #define AL_FORMAT_REAR16 0x1208
|
rlm@0
|
78 #define AL_FORMAT_REAR32 0x1209
|
rlm@0
|
79 #define AL_FORMAT_51CHN8 0x120A
|
rlm@0
|
80 #define AL_FORMAT_51CHN16 0x120B
|
rlm@0
|
81 #define AL_FORMAT_51CHN32 0x120C
|
rlm@0
|
82 #define AL_FORMAT_61CHN8 0x120D
|
rlm@0
|
83 #define AL_FORMAT_61CHN16 0x120E
|
rlm@0
|
84 #define AL_FORMAT_61CHN32 0x120F
|
rlm@0
|
85 #define AL_FORMAT_71CHN8 0x1210
|
rlm@0
|
86 #define AL_FORMAT_71CHN16 0x1211
|
rlm@0
|
87 #define AL_FORMAT_71CHN32 0x1212
|
rlm@0
|
88 #endif
|
rlm@0
|
89
|
rlm@0
|
90 #ifndef AL_EXT_MULAW_MCFORMATS
|
rlm@0
|
91 #define AL_EXT_MULAW_MCFORMATS 1
|
rlm@0
|
92 #define AL_FORMAT_MONO_MULAW 0x10014
|
rlm@0
|
93 #define AL_FORMAT_STEREO_MULAW 0x10015
|
rlm@0
|
94 #define AL_FORMAT_QUAD_MULAW 0x10021
|
rlm@0
|
95 #define AL_FORMAT_REAR_MULAW 0x10022
|
rlm@0
|
96 #define AL_FORMAT_51CHN_MULAW 0x10023
|
rlm@0
|
97 #define AL_FORMAT_61CHN_MULAW 0x10024
|
rlm@0
|
98 #define AL_FORMAT_71CHN_MULAW 0x10025
|
rlm@0
|
99 #endif
|
rlm@0
|
100
|
rlm@0
|
101 #ifndef AL_EXT_IMA4
|
rlm@0
|
102 #define AL_EXT_IMA4 1
|
rlm@0
|
103 #define AL_FORMAT_MONO_IMA4 0x1300
|
rlm@0
|
104 #define AL_FORMAT_STEREO_IMA4 0x1301
|
rlm@0
|
105 #endif
|
rlm@0
|
106
|
rlm@0
|
107 #ifndef AL_EXT_STATIC_BUFFER
|
rlm@0
|
108 #define AL_EXT_STATIC_BUFFER 1
|
rlm@0
|
109 typedef ALvoid (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALint,ALenum,ALvoid*,ALsizei,ALsizei);
|
rlm@0
|
110 #ifdef AL_ALEXT_PROTOTYPES
|
rlm@0
|
111 AL_API ALvoid AL_APIENTRY alBufferDataStatic(const ALint buffer, ALenum format, ALvoid *data, ALsizei len, ALsizei freq);
|
rlm@0
|
112 #endif
|
rlm@0
|
113 #endif
|
rlm@0
|
114
|
rlm@0
|
115 #ifndef ALC_EXT_EFX
|
rlm@0
|
116 #define ALC_EXT_EFX 1
|
rlm@0
|
117 #include "efx.h"
|
rlm@0
|
118 #endif
|
rlm@0
|
119
|
rlm@0
|
120 #ifndef ALC_EXT_disconnect
|
rlm@0
|
121 #define ALC_EXT_disconnect 1
|
rlm@0
|
122 #define ALC_CONNECTED 0x313
|
rlm@0
|
123 #endif
|
rlm@0
|
124
|
rlm@0
|
125 #ifndef ALC_EXT_thread_local_context
|
rlm@0
|
126 #define ALC_EXT_thread_local_context 1
|
rlm@0
|
127 typedef ALCboolean (ALC_APIENTRY*PFNALCSETTHREADCONTEXTPROC)(ALCcontext *context);
|
rlm@0
|
128 typedef ALCcontext* (ALC_APIENTRY*PFNALCGETTHREADCONTEXTPROC)(void);
|
rlm@0
|
129 #ifdef AL_ALEXT_PROTOTYPES
|
rlm@0
|
130 ALC_API ALCboolean ALC_APIENTRY alcSetThreadContext(ALCcontext *context);
|
rlm@0
|
131 ALC_API ALCcontext* ALC_APIENTRY alcGetThreadContext(void);
|
rlm@0
|
132 #endif
|
rlm@0
|
133 #endif
|
rlm@0
|
134
|
rlm@0
|
135 #ifndef AL_EXT_source_distance_model
|
rlm@0
|
136 #define AL_EXT_source_distance_model 1
|
rlm@0
|
137 #define AL_SOURCE_DISTANCE_MODEL 0x200
|
rlm@0
|
138 #endif
|
rlm@0
|
139
|
rlm@0
|
140 #ifndef AL_SOFT_buffer_sub_data
|
rlm@0
|
141 #define AL_SOFT_buffer_sub_data 1
|
rlm@0
|
142 #define AL_BYTE_RW_OFFSETS_SOFT 0x1031
|
rlm@0
|
143 #define AL_SAMPLE_RW_OFFSETS_SOFT 0x1032
|
rlm@0
|
144 typedef ALvoid (AL_APIENTRY*PFNALBUFFERSUBDATASOFTPROC)(ALuint,ALenum,const ALvoid*,ALsizei,ALsizei);
|
rlm@0
|
145 #ifdef AL_ALEXT_PROTOTYPES
|
rlm@0
|
146 AL_API ALvoid AL_APIENTRY alBufferSubDataSOFT(ALuint buffer,ALenum format,const ALvoid *data,ALsizei offset,ALsizei length);
|
rlm@0
|
147 #endif
|
rlm@0
|
148 #endif
|
rlm@0
|
149
|
rlm@0
|
150 #ifndef AL_SOFT_loop_points
|
rlm@0
|
151 #define AL_SOFT_loop_points 1
|
rlm@0
|
152 #define AL_LOOP_POINTS_SOFT 0x2015
|
rlm@0
|
153 #endif
|
rlm@0
|
154
|
rlm@0
|
155 #ifndef AL_EXT_FOLDBACK
|
rlm@0
|
156 #define AL_EXT_FOLDBACK 1
|
rlm@0
|
157 #define AL_EXT_FOLDBACK_NAME "AL_EXT_FOLDBACK"
|
rlm@0
|
158 #define AL_FOLDBACK_EVENT_BLOCK 0x4112
|
rlm@0
|
159 #define AL_FOLDBACK_EVENT_START 0x4111
|
rlm@0
|
160 #define AL_FOLDBACK_EVENT_STOP 0x4113
|
rlm@0
|
161 #define AL_FOLDBACK_MODE_MONO 0x4101
|
rlm@0
|
162 #define AL_FOLDBACK_MODE_STEREO 0x4102
|
rlm@0
|
163 typedef void (AL_APIENTRY*LPALFOLDBACKCALLBACK)(ALenum,ALsizei);
|
rlm@0
|
164 typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTART)(ALenum,ALsizei,ALsizei,ALfloat*,LPALFOLDBACKCALLBACK);
|
rlm@0
|
165 typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTOP)(void);
|
rlm@0
|
166 #ifdef AL_ALEXT_PROTOTYPES
|
rlm@0
|
167 AL_API void AL_APIENTRY alRequestFoldbackStart(ALenum mode,ALsizei count,ALsizei length,ALfloat *mem,LPALFOLDBACKCALLBACK callback);
|
rlm@0
|
168 AL_API void AL_APIENTRY alRequestFoldbackStop(void);
|
rlm@0
|
169 #endif
|
rlm@0
|
170 #endif
|
rlm@0
|
171
|
rlm@0
|
172 #ifndef ALC_EXT_DEDICATED
|
rlm@0
|
173 #define ALC_EXT_DEDICATED 1
|
rlm@0
|
174 #define AL_DEDICATED_GAIN 0x0001
|
rlm@0
|
175 #define AL_EFFECT_DEDICATED_DIALOGUE 0x9001
|
rlm@0
|
176 #define AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT 0x9000
|
rlm@0
|
177 #endif
|
rlm@0
|
178
|
rlm@0
|
179 #ifdef __cplusplus
|
rlm@0
|
180 }
|
rlm@0
|
181 #endif
|
rlm@0
|
182
|
rlm@0
|
183 #endif
|