1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license ( the "Software" ) to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */
28 module derelict.openal.types;
29 
30 // al
31 enum AL_VERSION_1_0 = true;
32 enum AL_VERSION_1_1 = true;
33 
34 alias ALboolean = byte;
35 alias ALchar = char;
36 alias ALbyte = byte;
37 alias ALubyte = ubyte;
38 alias ALshort = short;
39 alias ALushort = ushort;
40 alias ALint = int;
41 alias ALuint = uint;
42 alias ALsizei = int;
43 alias ALenum = int;
44 alias ALfloat = float;
45 alias ALdouble = double;
46 alias ALvoid = void;
47 
48 enum : ALboolean {
49     AL_FALSE               = 0,
50     AL_TRUE                = 1,
51 }
52 
53 enum : ALenum {
54     AL_INVALID              = -1,
55     AL_NONE                 = 0,
56 
57     AL_SOURCE_RELATIVE      = 0x202,
58 
59     AL_CONE_INNER_ANGLE     = 0x1001,
60     AL_CONE_OUTER_ANGLE     = 0x1002,
61 
62     AL_PITCH                = 0x1003,
63     AL_POSITION             = 0x1004,
64     AL_DIRECTION            = 0x1005,
65     AL_VELOCITY             = 0x1006,
66     AL_LOOPING              = 0x1007,
67     AL_BUFFER               = 0x1009,
68     AL_GAIN                 = 0x100A,
69     AL_MIN_GAIN             = 0x100D,
70     AL_MAX_GAIN             = 0x100E,
71     AL_ORIENTATION          = 0x100F,
72 
73     AL_CHANNEL_MASK         = 0x3000,
74 
75     AL_SOURCE_STATE         = 0x1010,
76     AL_INITIAL              = 0x1011,
77     AL_PLAYING              = 0x1012,
78     AL_PAUSED               = 0x1013,
79     AL_STOPPED              = 0x1014,
80 
81     AL_BUFFERS_QUEUED       = 0x1015,
82     AL_BUFFERS_PROCESSED    = 0x1016,
83 
84     AL_REFERENCE_DISTANCE   = 0x1020,
85     AL_ROLLOFF_FACTOR       = 0x1021,
86     AL_CONE_OUTER_GAIN      = 0x1022,
87     AL_MAX_DISTANCE         = 0x1023,
88 
89     AL_SEC_OFFSET           = 0x1024,
90     AL_SAMPLE_OFFSET        = 0x1025,
91     AL_BYTE_OFFSET          = 0x1026,
92 
93     AL_SOURCE_TYPE          = 0x1027,
94     AL_STATIC               = 0x1028,
95     AL_STREAMING            = 0x1029,
96     AL_UNDETERMINED         = 0x1030,
97 
98     AL_FORMAT_MONO8         = 0x1100,
99     AL_FORMAT_MONO16        = 0x1101,
100     AL_FORMAT_STEREO8       = 0x1102,
101     AL_FORMAT_STEREO16      = 0x1103,
102 
103     AL_FREQUENCY            = 0x2001,
104     AL_BITS                 = 0x2002,
105     AL_CHANNELS             = 0x2003,
106     AL_SIZE                 = 0x2004,
107 
108     AL_UNUSED               = 0x2010,
109     AL_PENDING              = 0x2011,
110     AL_PROCESSED            = 0x2012,
111 
112     AL_NO_ERROR             = AL_FALSE,
113 
114     AL_INVALID_NAME         = 0xA001,
115     AL_INVALID_ENUM         = 0xA002,
116     AL_INVALID_VALUE        = 0xA003,
117     AL_INVALID_OPERATION    = 0xA004,
118     AL_OUT_OF_MEMORY        = 0xA005,
119 
120     AL_VENDOR               = 0xB001,
121     AL_VERSION              = 0xB002,
122     AL_RENDERER             = 0xB003,
123     AL_EXTENSIONS           = 0xB004,
124 
125     AL_DOPPLER_FACTOR       = 0xC000,
126     AL_DOPPLER_VELOCITY     = 0xC001,
127     AL_SPEED_OF_SOUND       = 0xC003,
128 
129     AL_DISTANCE_MODEL               = 0xD000,
130     AL_INVERSE_DISTANCE             = 0xD001,
131     AL_INVERSE_DISTANCE_CLAMPED     = 0xD002,
132     AL_LINEAR_DISTANCE              = 0xD003,
133     AL_LINEAR_DISTANCE_CLAMPED      = 0xD004,
134     AL_EXPONENT_DISTANCE            = 0xD005,
135     AL_EXPONENT_DISTANCE_CLAMPED    = 0xD006,
136 }
137 
138 // alc
139 enum ALC_VERSION_0_1 = true;
140 
141 alias ALCdevice = void;
142 alias ALCcontext = void;
143 
144 alias ALCboolean = byte;
145 alias ALCchar = char;
146 alias ALCbyte = byte;
147 alias ALCubyte = ubyte;
148 alias ALCshort = short;
149 alias ALCushort = ushort;
150 alias ALCint = int;
151 alias ALCuint = uint;
152 alias ALCsizei = int;
153 alias ALCenum = int;
154 alias ALCfloat = float;
155 alias ALCdouble = double;
156 alias ALCvoid = void;
157 
158 enum : ALCboolean {
159     ALC_FALSE           = 0,
160     ALC_TRUE            = 1,
161 }
162 
163 enum : ALCenum {
164     ALC_FREQUENCY           = 0x1007,
165     ALC_REFRESH             = 0x1008,
166     ALC_SYNC                = 0x1009,
167 
168     ALC_MONO_SOURCES        = 0x1010,
169     ALC_STEREO_SOURCES      = 0x1011,
170 
171     ALC_NO_ERROR            = ALC_FALSE,
172     ALC_INVALID_DEVICE      = 0xA001,
173     ALC_INVALID_CONTEXT     = 0xA002,
174     ALC_INVALID_ENUM        = 0xA003,
175     ALC_INVALID_VALUE       = 0xA004,
176     ALC_OUT_OF_MEMORY       = 0xA005,
177 
178     ALC_DEFAULT_DEVICE_SPECIFIER        = 0x1004,
179     ALC_DEVICE_SPECIFIER                = 0x1005,
180     ALC_EXTENSIONS                      = 0x1006,
181 
182     ALC_MAJOR_VERSION                   = 0x1000,
183     ALC_MINOR_VERSION                   = 0x1001,
184 
185     ALC_ATTRIBUTES_SIZE                 = 0x1002,
186     ALC_ALL_ATTRIBUTES                  = 0x1003,
187 
188     ALC_CAPTURE_DEVICE_SPECIFIER            = 0x310,
189     ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER    = 0x311,
190     ALC_CAPTURE_SAMPLES                     = 0x312,
191 }
192 
193 // alext
194 enum : ALenum {
195     // AL_LOKI_IMA_ADPCM_format
196     AL_FORMAT_IMA_ADPCM_MONO16_EXT          = 0x10000,
197     AL_FORMAT_IMA_ADPCM_STEREO16_EXT        = 0x10001,
198 
199     // AL_LOKI_WAVE_format
200     AL_FORMAT_WAVE_EXT                      = 0x10002,
201 
202     // AL_EXT_vorbis
203     AL_FORMAT_VORBIS_EXT                    = 0x10003,
204 
205     // AL_LOKI_quadriphonic
206     AL_FORMAT_QUAD8_LOKI                    = 0x10004,
207     AL_FORMAT_QUAD16_LOKI                   = 0x10005,
208 
209     // AL_EXT_float32
210     AL_FORMAT_MONO_FLOAT32                  = 0x10010,
211     AL_FORMAT_STEREO_FLOAT32                = 0x10011,
212 
213     // ALC_LOKI_audio_channel
214     ALC_CHAN_MAIN_LOKI                      = 0x500001,
215     ALC_CHAN_PCM_LOKI                       = 0x500002,
216     ALC_CHAN_CD_LOKI                        = 0x500003,
217 
218     // ALC_ENUMERATE_ALL_EXT
219     ALC_DEFAULT_ALL_DEVICES_SPECIFIER       = 0x1012,
220     ALC_ALL_DEVICES_SPECIFIER               = 0x1013,
221 
222     // AL_EXT_MCFORMATS
223     AL_FORMAT_QUAD8                         = 0x1204,
224     AL_FORMAT_QUAD16                        = 0x1205,
225     AL_FORMAT_QUAD32                        = 0x1206,
226     AL_FORMAT_REAR8                         = 0x1207,
227     AL_FORMAT_REAR16                        = 0x1208,
228     AL_FORMAT_REAR32                        = 0x1209,
229     AL_FORMAT_51CHN8                        = 0x120A,
230     AL_FORMAT_51CHN16                       = 0x120B,
231     AL_FORMAT_51CHN32                       = 0x120C,
232     AL_FORMAT_61CHN8                        = 0x120D,
233     AL_FORMAT_61CHN16                       = 0x120E,
234     AL_FORMAT_61CHN32                       = 0x120F,
235     AL_FORMAT_71CHN8                        = 0x1210,
236     AL_FORMAT_71CHN16                       = 0x1211,
237     AL_FORMAT_71CHN32                       = 0x1212,
238 
239     // AL_EXT_IMA4
240     AL_FORMAT_MONO_IMA4                     = 0x1300,
241     AL_FORMAT_STEREO_IMA4                   = 0x1301,
242 }