123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334 |
- #ifndef _ALTYPES_H_
- #define _ALTYPES_H_
- /**
- * OpenAL cross platform audio library
- * Copyright (C) 1999-2000 by authors.
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * Or go to http://www.gnu.org/copyleft/lgpl.html
- */
- #ifdef __cplusplus
- extern "C" {
- #endif
- /** OpenAL boolean type. */
- typedef char ALboolean;
- /** OpenAL 8bit signed byte. */
- typedef char ALbyte;
- /** OpenAL 8bit unsigned byte. */
- typedef unsigned char ALubyte;
- /** OpenAL 16bit signed short integer type. */
- typedef short ALshort;
- /** OpenAL 16bit unsigned short integer type. */
- typedef unsigned short ALushort;
- /** OpenAL 32bit unsigned integer type. */
- typedef unsigned ALuint;
- /** OpenAL 32bit signed integer type. */
- typedef int ALint;
- /** OpenAL 32bit floating point type. */
- typedef float ALfloat;
- /** OpenAL 64bit double point type. */
- typedef double ALdouble;
- /** OpenAL 32bit type. */
- typedef unsigned int ALsizei;
- /** OpenAL void type */
- typedef void ALvoid;
- /** OpenAL enumerations. */
- typedef int ALenum;
- /* Bad value. */
- #define AL_INVALID (-1)
- /* Disable value. */
- #define AL_NONE 0
- /* Boolean False. */
- #define AL_FALSE 0
- /* Boolean True. */
- #define AL_TRUE 1
- /**
- * Indicate the type of AL_SOURCE.
- * Sources can be spatialized
- */
- #define AL_SOURCE_TYPE 0x200
- /** Indicate source has absolute coordinates. */
- #define AL_SOURCE_ABSOLUTE 0x201
- /** Indicate Source has listener relative coordinates. */
- #define AL_SOURCE_RELATIVE 0x202
- /**
- * Directional source, inner cone angle, in degrees.
- * Range: [0-360]
- * Default: 360
- */
- #define AL_CONE_INNER_ANGLE 0x1001
- /**
- * Directional source, outer cone angle, in degrees.
- * Range: [0-360]
- * Default: 360
- */
- #define AL_CONE_OUTER_ANGLE 0x1002
- /**
- * Specify the pitch to be applied, either at source,
- * or on mixer results, at listener.
- * Range: [0.5-2.0]
- * Default: 1.0
- */
- #define AL_PITCH 0x1003
- /**
- * Specify the current location in three dimensional space.
- * OpenAL, like OpenGL, uses a right handed coordinate system,
- * where in a frontal default view X (thumb) points right,
- * Y points up (index finger), and Z points towards the
- * viewer/camera (middle finger).
- * To switch from a left handed coordinate system, flip the
- * sign on the Z coordinate.
- * Listener position is always in the world coordinate system.
- */
- #define AL_POSITION 0x1004
-
- /** Specify the current direction as forward vector. */
- #define AL_DIRECTION 0x1005
-
- /** Specify the current velocity in three dimensional space. */
- #define AL_VELOCITY 0x1006
- /**
- * Indicate whether source has to loop infinite.
- * Type: ALboolean
- * Range: [AL_TRUE, AL_FALSE]
- * Default: AL_FALSE
- */
- #define AL_LOOPING 0x1007
- /**
- * Indicate the buffer to provide sound samples.
- * Type: ALuint.
- * Range: any valid Buffer id.
- */
- #define AL_BUFFER 0x1009
- /**
- * Indicate the gain (volume amplification) applied.
- * Type: ALfloat.
- * Range: ]0.0- ]
- * A value of 1.0 means un-attenuated/unchanged.
- * Each division by 2 equals an attenuation of -6dB.
- * Each multiplicaton with 2 equals an amplification of +6dB.
- * A value of 0.0 is meaningless with respect to a logarithmic
- * scale; it is interpreted as zero volume - the channel
- * is effectively disabled.
- */
- #define AL_GAIN 0x100A
- /**
- * Indicate minimum source attenuation.
- * Type: ALfloat
- * Range: [0.0 - 1.0]
- */
- #define AL_MIN_GAIN 0x100D
- /**
- * Indicate maximum source attenuation.
- * Type: ALfloat
- * Range: [0.0 - 1.0]
- */
- #define AL_MAX_GAIN 0x100E
- /**
- * Specify the current orientation.
- * Type: ALfv6 (at/up)
- * Range: N/A
- */
- #define AL_ORIENTATION 0x100F
- /* byte offset into source (in canon format). -1 if source
- * is not playing. Don't set this, get this.
- *
- * Type: ALfloat
- * Range: [0.0 - ]
- * Default: 1.0
- */
- #define AL_REFERENCE_DISTANCE 0x1020
- /**
- * Indicate the rolloff factor for the source.
- * Type: ALfloat
- * Range: [0.0 - ]
- * Default: 1.0
- */
- #define AL_ROLLOFF_FACTOR 0x1021
- /**
- * Indicate the gain (volume amplification) applied.
- * Type: ALfloat.
- * Range: ]0.0- ]
- * A value of 1.0 means un-attenuated/unchanged.
- * Each division by 2 equals an attenuation of -6dB.
- * Each multiplicaton with 2 equals an amplification of +6dB.
- * A value of 0.0 is meaningless with respect to a logarithmic
- * scale; it is interpreted as zero volume - the channel
- * is effectively disabled.
- */
- #define AL_CONE_OUTER_GAIN 0x1022
- /**
- * Specify the maximum distance.
- * Type: ALfloat
- * Range: [0.0 - ]
- */
- #define AL_MAX_DISTANCE 0x1023
- /**
- * Specify the channel mask. (Creative)
- * Type: ALuint
- * Range: [0 - 255]
- */
- #define AL_CHANNEL_MASK 0x3000
- /**
- * Source state information
- */
- #define AL_SOURCE_STATE 0x1010
- #define AL_INITIAL 0x1011
- #define AL_PLAYING 0x1012
- #define AL_PAUSED 0x1013
- #define AL_STOPPED 0x1014
- /**
- * Buffer Queue params
- */
- #define AL_BUFFERS_QUEUED 0x1015
- #define AL_BUFFERS_PROCESSED 0x1016
- /** Sound buffers: format specifier. */
- #define AL_FORMAT_MONO8 0x1100
- #define AL_FORMAT_MONO16 0x1101
- #define AL_FORMAT_STEREO8 0x1102
- #define AL_FORMAT_STEREO16 0x1103
- /**
- * Sound buffers: frequency, in units of Hertz [Hz].
- * This is the number of samples per second. Half of the
- * sample frequency marks the maximum significant
- * frequency component.
- */
- #define AL_FREQUENCY 0x2001
- #define AL_BITS 0x2002
- #define AL_CHANNELS 0x2003
- #define AL_SIZE 0x2004
- #define AL_DATA 0x2005
- /**
- * Buffer state.
- *
- * Not supported for public use (yet).
- */
- #define AL_UNUSED 0x2010
- #define AL_PENDING 0x2011
- #define AL_PROCESSED 0x2012
- /** Errors: No Error. */
- #define AL_NO_ERROR AL_FALSE
- /**
- * Illegal name passed as an argument to an AL call.
- */
- #define AL_INVALID_NAME 0xA001
- /**
- * Illegal enum passed as an argument to an AL call.
- */
- #define AL_INVALID_ENUM 0xA002
- /**
- * Illegal value passed as an argument to an AL call.
- * Applies to parameter values, but not to enumerations.
- */
- #define AL_INVALID_VALUE 0xA003
-
- /**
- * A function was called at inappropriate time,
- * or in an inappropriate way, causing an illegal state.
- * This can be an incompatible ALenum, object ID,
- * and/or function.
- */
- #define AL_INVALID_OPERATION 0xA004
- /**
- * A function could not be completed,
- * because there is not enough memory available.
- */
- #define AL_OUT_OF_MEMORY 0xA005
- /** Context strings: Vendor Name. */
- #define AL_VENDOR 0xB001
- #define AL_VERSION 0xB002
- #define AL_RENDERER 0xB003
- #define AL_EXTENSIONS 0xB004
- /** Global tweakage. */
- /**
- * Doppler scale. Default 1.0
- */
- #define AL_DOPPLER_FACTOR 0xC000
-
- /**
- * Doppler velocity. Default 1.0
- */
- #define AL_DOPPLER_VELOCITY 0xC001
- /**
- * Distance model. Default AL_INVERSE_DISTANCE_CLAMPED
- */
- #define AL_DISTANCE_MODEL 0xD000
- /** Distance models. */
- #define AL_INVERSE_DISTANCE 0xD001
- #define AL_INVERSE_DISTANCE_CLAMPED 0xD002
-
- /**
- * enables
- */
- #ifdef __cplusplus
- }
- #endif
- #endif
|