#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.
}
}
}