#region --- OpenTK.OpenAL License ---
/* AlcTokens.cs
* C header: \OpenAL 1.1 SDK\include\Alc.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
* http://www.OpenTK.net */
#endregion
using System;
namespace OpenTK.Audio.OpenAL
{
///
/// Defines available context attributes.
///
public enum AlcContextAttributes : int
{
///Followed by System.Int32 Hz
Frequency = 0x1007,
///Followed by System.Int32 Hz
Refresh = 0x1008,
///Followed by AlBoolean.True, or AlBoolean.False
Sync = 0x1009,
///Followed by System.Int32 Num of requested Mono (3D) Sources
MonoSources = 0x1010,
///Followed by System.Int32 Num of requested Stereo Sources
StereoSources = 0x1011,
/// (EFX Extension) This Context property can be passed to OpenAL during Context creation (alcCreateContext) to request a maximum number of Auxiliary Sends desired on each Source. It is not guaranteed that the desired number of sends will be available, so an application should query this property after creating the context using alcGetIntergerv. Default: 2
EfxMaxAuxiliarySends = 0x20003,
}
///
/// Defines OpenAL context errors.
///
public enum AlcError : int
{
///There is no current error.
NoError = 0,
///No Device. The device handle or specifier names an inaccessible driver/server.
InvalidDevice = 0xA001,
///Invalid context ID. The Context argument does not name a valid context.
InvalidContext = 0xA002,
///Bad enum. A token used is not valid, or not applicable.
InvalidEnum = 0xA003,
///Bad value. A value (e.g. Attribute) is not valid, or not applicable.
InvalidValue = 0xA004,
///Out of memory. Unable to allocate memory.
OutOfMemory = 0xA005,
}
///
/// Defines available parameters for .
///
public enum AlcGetString : int
{
///The specifier string for the default device.
DefaultDeviceSpecifier = 0x1004,
///A list of available context extensions separated by spaces.
Extensions = 0x1006,
///The name of the default capture device
CaptureDefaultDeviceSpecifier = 0x311, // ALC_EXT_CAPTURE extension.
/// a list of the default devices.
DefaultAllDevicesSpecifier = 0x1012,
// duplicates from AlcGetStringList:
///Will only return the first Device, not a list. Use AlcGetStringList.CaptureDeviceSpecifier. ALC_EXT_CAPTURE_EXT
CaptureDeviceSpecifier = 0x310,
///Will only return the first Device, not a list. Use AlcGetStringList.DeviceSpecifier
DeviceSpecifier = 0x1005,
/// Will only return the first Device, not a list. Use AlcGetStringList.AllDevicesSpecifier
AllDevicesSpecifier = 0x1013,
}
///
/// Defines available parameters for .
///
public enum AlcGetStringList : int
{
///The name of the specified capture device, or a list of all available capture devices if no capture device is specified. ALC_EXT_CAPTURE_EXT
CaptureDeviceSpecifier = 0x310,
///The specifier strings for all available devices. ALC_ENUMERATION_EXT
DeviceSpecifier = 0x1005,
/// The specifier strings for all available devices. ALC_ENUMERATE_ALL_EXT
AllDevicesSpecifier = 0x1013,
}
///
/// Defines available parameters for .
///
public enum AlcGetInteger : int
{
///The specification revision for this implementation (major version). NULL is an acceptable device.
MajorVersion = 0x1000,
///The specification revision for this implementation (minor version). NULL is an acceptable device.
MinorVersion = 0x1001,
///The size (number of ALCint values) required for a zero-terminated attributes list, for the current context. NULL is an invalid device.
AttributesSize = 0x1002,
///Expects a destination of ALC_ATTRIBUTES_SIZE, and provides an attribute list for the current context of the specified device. NULL is an invalid device.
AllAttributes = 0x1003,
///The number of capture samples available. NULL is an invalid device.
CaptureSamples = 0x312,
/// (EFX Extension) This property can be used by the application to retrieve the Major version number of the Effects Extension supported by this OpenAL implementation. As this is a Context property is should be retrieved using alcGetIntegerv.
EfxMajorVersion = 0x20001,
/// (EFX Extension) This property can be used by the application to retrieve the Minor version number of the Effects Extension supported by this OpenAL implementation. As this is a Context property is should be retrieved using alcGetIntegerv.
EfxMinorVersion = 0x20002,
/// (EFX Extension) This Context property can be passed to OpenAL during Context creation (alcCreateContext) to request a maximum number of Auxiliary Sends desired on each Source. It is not guaranteed that the desired number of sends will be available, so an application should query this property after creating the context using alcGetIntergerv. Default: 2
EfxMaxAuxiliarySends = 0x20003,
}
}