#region --- OpenTK.OpenAL License --- /* AlTokens.cs * C header: \OpenAL 1.1 SDK\include\Al.h * Spec: http://www.openal.org/openal_webstf/specs/OpenAL11Specification.pdf * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details (MIT) * http://www.OpenTK.net */ /* Version History: * 0.1 * - Tokens AL_TRUE and AL_FALSE removed, created new type. see Al.Bool * * */ #endregion using System; namespace OpenTK.OpenAL { public partial class Enums { public enum AlCapability : int { ///Currently no state toggles exist for vanilla OpenAL. Invalid = -1, } public enum AlListenerf : int { ///Indicate the gain (volume amplification) applied. Type: float. Range: [0.0f - ? ] 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.0f is meaningless with respect to a logarithmic scale; it is interpreted as zero volume - the channel is effectively disabled. Gain = 0x100A, } public enum AlListener3f : int { ///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. Position = 0x1004, ///Specify the current velocity in three dimensional space. Velocity = 0x1006, } public enum AlListenerfv : int { ///Indicate Listener orientation. (at/up) Orientation = 0x100F, } public enum AlSourcef : int { ///Source specific reference distance. Type: float Range: [0.0f - float.PositiveInfinity] At 0.0f, no distance attenuation occurs. Default is 1.0. ReferenceDistance = 0x1020, ///Indicate distance above which Sources are not attenuated using the inverse clamped distance model. Default: float.PositiveInfinity Type: ALfloat Range: [0.0f - float.PositiveInfinity] MaxDistance = 0x1023, ///Source specific rolloff factor. Type: float Range: [0.0f - float.PositiveInfinity] RolloffFactor = 0x1021, ///Specify the pitch to be applied, either at Source, or on mixer results, at Listener. Range: [0.5f - 2.0f] Default: 1.0f Pitch = 0x1003, ///Indicate the gain (volume amplification) applied. Type: float. Range: [0.0f - ? ] 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.0f is meaningless with respect to a logarithmic scale; it is interpreted as zero volume - the channel is effectively disabled. Gain = 0x100A, ///Indicate minimum Source attenuation. Type: float Range: [0.0f - 1.0f] (Logarthmic) MinGain = 0x100D, ///Indicate maximum Source attenuation. Type: float Range: [0.0f - 1.0f] (Logarthmic) MaxGain = 0x100E, ///Directional Source, inner cone angle, in degrees. Range: [0-360] Default: 360 ConeInnerAngle = 0x1001, ///Directional Source, outer cone angle, in degrees. Range: [0-360] Default: 360 ConeOuterAngle = 0x1002, ///Directional Source, outer cone gain. Default: 0.0f Range: [0.0f - 1.0] (Logarithmic) ConeOuterGain = 0x1022, } public enum AlSource3f : int { ///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. Position = 0x1004, ///Specify the current velocity in three dimensional space. Velocity = 0x1006, ///Specify the current direction. Direction = 0x1005, } public enum AlSourcei : int { // Source Buffer position information MiliSecOffset = 0x1024, // AL_EXT_OFFSET extension. ByteOffset = 0x1026, // AL_EXT_OFFSET extension. SampleOffset = 0x1025, // AL_EXT_OFFSET extension. ///Indicate the Buffer to provide sound samples. Type: uint Range: any valid Buffer id. Buffer = 0x1009, } public enum AlSourceBool : int { ///Indicate Source has relative coordinates. SourceRelative = 0x202, ///Indicate whether Source is looping. Type: Alboolean Range: [True, False] Default: False. Looping = 0x1007, } public enum AlSourceiGet : int { // Source Buffer position information MiliSecOffset = 0x1024, // AL_EXT_OFFSET extension. ByteOffset = 0x1026, // AL_EXT_OFFSET extension. SampleOffset = 0x1025, // AL_EXT_OFFSET extension. ///Indicate the Buffer to provide sound samples. Type: uint Range: any valid Buffer id. Buffer = 0x1009, SourceState = 0x1010, BuffersQueued = 0x1015, BuffersProcessed = 0x1016, } public enum AlSourceParameterszzzzzzzzzzzzzzzzzz : int { ///Specify the channel mask. (Creative) Type: uint Range: [0 - 255] ChannelMask = 0x3000, } ///Source state information. public enum AlSourcestate : int { Initial = 0x1011, Playing = 0x1012, Paused = 0x1013, Stopped = 0x1014, } // AL_EXT_OFFSET extension. public enum AlSourceBufferPos : int { ///Source type (Static, Streaming or undetermined) SourceType = 0x1027, } ///Source type (Static, Streaming or undetermined) public enum AlSourceType : int { ///Source is Static if a Buffer has been attached using AL_Buffer Static = 0x1028, ///Source is Streaming if one or more Buffers have been attached using alSourceQueueBuffers Streaming = 0x1029, ///Source is undetermined when it has the NULL Buffer attached Undetermined = 0x1030, } ///Sound samples: Format specifier. public enum AlFormat : int { ///1 Channel, 8 Bit. FormatMono8 = 0x1100, ///1 Channel, 16 Bit. FormatMono16 = 0x1101, ///2 Channels, 8 Bit each. FormatStereo8 = 0x1102, ///2 Channels, 16 Bit each. FormatStereo16 = 0x1103, } public enum AlBufferAttribute : int { ///Sound samples: 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. Frequency = 0x2001, Bits = 0x2002, Channels = 0x2003, Size = 0x2004, } ///Buffer state. Not supported for public use (yet). public enum AlBufferState : int { ///Buffer state. Not supported for public use (yet). Unused = 0x2010, ///Buffer state. Not supported for public use (yet). Pending = 0x2011, ///Buffer state. Not supported for public use (yet). Processed = 0x2012, } public enum AlError : int // alGetString { ///No OpenAL Error. NoError = 0, ///Invalid Name paramater passed to OpenAL call. InvalidName = 0xA001, ///Invalid parameter passed to OpenAL call. IllegalEnum = 0xA002, ///Invalid parameter passed to OpenAL call. InvalidEnum = 0xA002, ///Invalid OpenAL enum parameter value. InvalidValue = 0xA003, ///Illegal OpenAL call. IllegalCommand = 0xA004, ///Illegal OpenAL call. InvalidOperation = 0xA004, ///No mojo. No OpenAL Memory left. OutOfMemory = 0xA005, } public enum AlContextString : int // alGetString {// Context strings: Vendor Name. Vendor = 0xB001, Version = 0xB002, Renderer = 0xB003, Extensions = 0xB004, } public enum AlGlobalTweakage : int // alGetBool/Int/Float/Double {// Global tweakage. ///Doppler scale. Default 1.0 DopplerFactor = 0xC000, ///Tweaks speed of propagation. DopplerVelocity = 0xC001, // TODO : Verify! ///Speed of Sound in units per second. default value 343.3f SpeedOfSound = 0xC003, /// DistanceModel = 0xD000, } // ALenum distanceModel public enum AlDistanceModels : int// used in conjunction with DistanceModel { ///bypasses all distance attenuation calculation for all sources. None = 0, ///InverseDistance is equivalent to the IASIG I3DL2 model with the exception that AL_REFERENCE_DISTANCE does not imply any clamping. InverseDistance = 0xD001, ///InverseDistanceClamped is the IASIG I3DL2 model, with AL_REFERENCE_DISTANCE indicating both the reference distance and the distance below which gain will be clamped. InverseDistanceClamped = 0xD002, /// LinearDistance = 0xD003, // AL_EXT_LINEAR_DISTANCE extension. /// LinearDistanceClamped = 0xD004, // AL_EXT_LINEAR_DISTANCE extension. /// ExponentDistance = 0xD005, // AL_EXT_EXPONENT_DISTANCE extension. /// ExponentDistanceClamped = 0xD006, // AL_EXT_EXPONENT_DISTANCE extension. } } }