4 /** OpenAL bool type. */
5 typedef char ALboolean;
7 /** OpenAL 8bit signed byte. */
8 typedef signed char ALbyte;
10 /** OpenAL 8bit unsigned byte. */
11 typedef unsigned char ALubyte;
13 /** OpenAL 16bit signed short integer type. */
14 typedef short ALshort;
16 /** OpenAL 16bit unsigned short integer type. */
17 typedef unsigned short ALushort;
19 /** OpenAL 32bit unsigned integer type. */
20 typedef unsigned int ALuint;
22 /** OpenAL 32bit signed integer type. */
25 /** OpenAL 32bit floating point type. */
26 typedef float ALfloat;
28 /** OpenAL 64bit double point type. */
29 typedef double ALdouble;
31 /** OpenAL 32bit type. */
32 typedef signed int ALsizei;
34 /** OpenAL void type (for params, not returns). */
36 //typedef void ALvoid;
39 //#endif /* __GNUC__ */
41 /** OpenAL enumerations. */
44 /** OpenAL bitfields. */
45 typedef unsigned int ALbitfield;
47 /** OpenAL clamped float. */
48 typedef ALfloat ALclampf;
50 /** Openal clamped double. */
51 typedef ALdouble ALclampd;
53 /* Enumerant values begin at column 50. No tabs. */
67 * Indicate the type of AL_SOURCE.
68 * Sources can be spatialized
70 #define AL_SOURCE_TYPE 0x0200
72 /** Indicate Source has relative coordinates. */
73 #define AL_SOURCE_RELATIVE 0x0202
76 * Directional source, inner cone angle, in degrees.
80 #define AL_CONE_INNER_ANGLE 0x1001
83 * Directional source, outer cone angle, in degrees.
87 #define AL_CONE_OUTER_ANGLE 0x1002
90 * Specify the pitch to be applied, either at source,
91 * or on mixer results, at listener.
95 #define AL_PITCH 0x1003
98 * Specify the current location in three dimensional space.
99 * OpenAL, like OpenGL, uses a right handed coordinate system,
100 * where in a frontal default view X (thumb) points right,
101 * Y points up (index finger), and Z points towards the
102 * viewer/camera (middle finger).
103 * To switch from a left handed coordinate system, flip the
104 * sign on the Z coordinate.
105 * Listener position is always in the world coordinate system.
107 #define AL_POSITION 0x1004
109 /** Specify the current direction. */
110 #define AL_DIRECTION 0x1005
112 /** Specify the current velocity in three dimensional space. */
113 #define AL_VELOCITY 0x1006
116 * Indicate whether source is looping.
118 * Range: [AL_TRUE, AL_FALSE]
121 #define AL_LOOPING 0x1007
124 * Indicate whether source is meant to be streaming.
126 * Range: [AL_TRUE, AL_FALSE]
129 #define AL_STREAMING 0x1008
132 * Indicate the buffer to provide sound samples.
134 * Range: any valid Buffer id.
136 #define AL_BUFFER 0x1009
139 * Indicate the gain (volume amplification) applied.
142 * A value of 1.0 means un-attenuated/unchanged.
143 * Each division by 2 equals an attenuation of -6dB.
144 * Each multiplicaton with 2 equals an amplification of +6dB.
145 * A value of 0.0 is meaningless with respect to a logarithmic
146 * scale; it is interpreted as zero volume - the channel
147 * is effectively disabled.
149 #define AL_GAIN 0x100A
151 /* byte offset into source (in canon format). -1 if source
152 * is not playing. Don't set this, get this.
157 #define AL_BYTE_LOKI 0x100C
160 * Indicate minimum source attenuation
166 #define AL_MIN_GAIN 0x100D
169 * Indicate maximum source attenuation
175 #define AL_MAX_GAIN 0x100E
178 * Indicate listener orientation.
182 #define AL_ORIENTATION 0x100F
185 * Source state information.
187 #define AL_SOURCE_STATE 0x1010
188 #define AL_INITIAL 0x1011
189 #define AL_PLAYING 0x1012
190 #define AL_PAUSED 0x1013
191 #define AL_STOPPED 0x1014
194 * Buffer Queue params
196 #define AL_BUFFERS_QUEUED 0x1015
197 #define AL_BUFFERS_PROCESSED 0x1016
202 #define AL_PENDING 0x1017
203 #define AL_PROCESSED 0x1018
206 /** Sound samples: format specifier. */
207 #define AL_FORMAT_MONO8 0x1100
208 #define AL_FORMAT_MONO16 0x1101
209 #define AL_FORMAT_STEREO8 0x1102
210 #define AL_FORMAT_STEREO16 0x1103
213 * source specific reference distance
217 * At 0.0, no distance attenuation occurs. Default is
220 #define AL_REFERENCE_DISTANCE 0x1020
223 * source specific rolloff factor
228 #define AL_ROLLOFF_FACTOR 0x1021
231 * Directional source, outer cone gain.
237 #define AL_CONE_OUTER_GAIN 0x1022
240 * Indicate distance above which sources are not
241 * attenuated using the inverse clamped distance model.
247 #define AL_MAX_DISTANCE 0x1023
250 * Sound samples: frequency, in units of Hertz [Hz].
251 * This is the number of samples per second. Half of the
252 * sample frequency marks the maximum significant
253 * frequency component.
255 #define AL_FREQUENCY 0x2001
256 #define AL_BITS 0x2002
257 #define AL_CHANNELS 0x2003
258 #define AL_SIZE 0x2004
263 * Not supported for public use (yet).
265 #define AL_UNUSED 0x2010
266 #define AL_QUEUED 0x2011
267 #define AL_CURRENT 0x2012
269 /** Errors: No Error. */
270 #define AL_NO_ERROR AL_FALSE
273 * Invalid Name paramater passed to AL call.
275 #define AL_INVALID_NAME 0xA001
278 * Invalid parameter passed to AL call.
280 #define AL_ILLEGAL_ENUM 0xA002
283 * Invalid enum parameter value.
285 #define AL_INVALID_VALUE 0xA003
290 #define AL_ILLEGAL_COMMAND 0xA004
295 #define AL_OUT_OF_MEMORY 0xA005
298 /** Context strings: Vendor Name. */
299 #define AL_VENDOR 0xB001
300 #define AL_VERSION 0xB002
301 #define AL_RENDERER 0xB003
302 #define AL_EXTENSIONS 0xB004
304 /** Global tweakage. */
307 * Doppler scale. Default 1.0
309 #define AL_DOPPLER_FACTOR 0xC000
312 * Tweaks speed of propagation.
314 #define AL_DOPPLER_VELOCITY 0xC001
319 #define AL_DISTANCE_SCALE 0xC002
324 * used in conjunction with DistanceModel
326 * implicit: NONE, which disances distance attenuation.
328 #define AL_DISTANCE_MODEL 0xD000
329 #define AL_INVERSE_DISTANCE 0xD001
330 #define AL_INVERSE_DISTANCE_CLAMPED 0xD002
337 /* #define AL_SOME_ENABLE 0xE000 */
339 /** IASIG Level 2 Environment. */
342 * Parameter: IASIG ROOM blah
347 #define AL_ENV_ROOM_IASIG 0x3001
350 * Parameter: IASIG ROOM_HIGH_FREQUENCY
355 #define AL_ENV_ROOM_HIGH_FREQUENCY_IASIG 0x3002
358 * Parameter: IASIG ROOM_ROLLOFF_FACTOR
363 #define AL_ENV_ROOM_ROLLOFF_FACTOR_IASIG 0x3003
366 * Parameter: IASIG DECAY_TIME
371 #define AL_ENV_DECAY_TIME_IASIG 0x3004
374 * Parameter: IASIG DECAY_HIGH_FREQUENCY_RATIO
379 #define AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG 0x3005
382 * Parameter: IASIG REFLECTIONS
384 * Range: [-10000, 1000]
387 #define AL_ENV_REFLECTIONS_IASIG 0x3006
390 * Parameter: IASIG REFLECTIONS_DELAY
395 #define AL_ENV_REFLECTIONS_DELAY_IASIG 0x3006
398 * Parameter: IASIG REVERB
400 * Range: [-10000,2000]
403 #define AL_ENV_REVERB_IASIG 0x3007
406 * Parameter: IASIG REVERB_DELAY
411 #define AL_ENV_REVERB_DELAY_IASIG 0x3008
414 * Parameter: IASIG DIFFUSION
416 * Range: [0.0, 100.0]
419 #define AL_ENV_DIFFUSION_IASIG 0x3009
422 * Parameter: IASIG DENSITY
424 * Range: [0.0, 100.0]
427 #define AL_ENV_DENSITY_IASIG 0x300A
430 * Parameter: IASIG HIGH_FREQUENCY_REFERENCE
432 * Range: [20.0, 20000.0]
435 #define AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG 0x300B
438 #define AL_INVALID_ENUM 0xA002
439 #define AL_INVALID_OPERATION 0xA004