changed List<string> Alc.GetString() and enums again. Fixed docu.
This commit is contained in:
parent
cf5640d2a9
commit
9b2f71db5a
2 changed files with 32 additions and 13 deletions
|
@ -202,12 +202,21 @@ namespace OpenTK.OpenAL
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <param name="device">a pointer to the device to be queried.</param>
|
/// <param name="device">a pointer to the device to be queried.</param>
|
||||||
/// <param name="param">an attribute to be retrieved: ALC_DEFAULT_DEVICE_SPECIFIER, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER, ALC_DEVICE_SPECIFIER, ALC_CAPTURE_DEVICE_SPECIFIER, ALC_EXTENSIONS</param>
|
/// <param name="param">an attribute to be retrieved: ALC_DEFAULT_DEVICE_SPECIFIER, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER, ALC_DEVICE_SPECIFIER, ALC_CAPTURE_DEVICE_SPECIFIER, ALC_EXTENSIONS</param>
|
||||||
/// <returns></returns>
|
/// <returns>A string containing the name of the Device.</returns>
|
||||||
public static string GetString(IntPtr device, Enums.AlcGetString param)
|
public static string GetString(IntPtr device, Enums.AlcGetString param)
|
||||||
{
|
{
|
||||||
return Marshal.PtrToStringAnsi(GetStringPrivate(device, param));
|
return Marshal.PtrToStringAnsi(GetStringPrivate(device, param));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>This function returns a List of strings related to the context.</summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// ALC_DEVICE_SPECIFIER will return the name of the specified output device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. A list is a pointer to a series of strings separated by NULL characters, with the list terminated by two NULL characters. See Enumeration Extension for more details.
|
||||||
|
/// ALC_CAPTURE_DEVICE_SPECIFIER will return the name of the specified capture device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied.
|
||||||
|
/// ALC_EXTENSIONS returns a list of available context extensions, with each extension separated by a space and the list terminated by a NULL character.
|
||||||
|
/// </remarks>
|
||||||
|
/// <param name="device">a pointer to the device to be queried.</param>
|
||||||
|
/// <param name="param">an attribute to be retrieved: ALC_DEVICE_SPECIFIER, ALC_CAPTURE_DEVICE_SPECIFIER, ALC_ALL_DEVICES_SPECIFIER</param>
|
||||||
|
/// <returns>A List of strings containing the names of the Devices.</returns>
|
||||||
public static List<string> GetString(IntPtr device, Enums.AlcGetStringList param)
|
public static List<string> GetString(IntPtr device, Enums.AlcGetStringList param)
|
||||||
{
|
{
|
||||||
List<string> result = new List<string>();
|
List<string> result = new List<string>();
|
||||||
|
@ -218,14 +227,18 @@ namespace OpenTK.OpenAL
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
b = Marshal.ReadByte(t, offset++);
|
b = Marshal.ReadByte(t, offset++);
|
||||||
if (b != 0) sb.Append((char)b);
|
if (b != 0)
|
||||||
else
|
sb.Append((char)b);
|
||||||
|
if (b == 0)
|
||||||
{
|
{
|
||||||
if (Marshal.ReadByte(t, offset + 1) == 0)
|
if (Marshal.ReadByte(t, offset + 1) == 0)
|
||||||
|
{
|
||||||
|
result.Add(sb.ToString());
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (sb.Length > 1) result.Add(sb.ToString());
|
if (sb.Length > 0) result.Add(sb.ToString());
|
||||||
sb.Remove(0, sb.Length);
|
sb.Remove(0, sb.Length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,9 +56,6 @@ namespace OpenTK.OpenAL.Enums
|
||||||
///<summary>The specifier string for the default device.</summary>
|
///<summary>The specifier string for the default device.</summary>
|
||||||
DefaultDeviceSpecifier = 0x1004,
|
DefaultDeviceSpecifier = 0x1004,
|
||||||
|
|
||||||
///<summary>The specifier strings for all available devices.</summary>
|
|
||||||
DeviceSpecifier = 0x1005,
|
|
||||||
|
|
||||||
///<summary>A list of available context extensions separated by spaces.</summary>
|
///<summary>A list of available context extensions separated by spaces.</summary>
|
||||||
Extensions = 0x1006,
|
Extensions = 0x1006,
|
||||||
|
|
||||||
|
@ -67,17 +64,28 @@ namespace OpenTK.OpenAL.Enums
|
||||||
|
|
||||||
/// <summary>a list of the default devices.</summary>
|
/// <summary>a list of the default devices.</summary>
|
||||||
DefaultAllDevicesSpecifier = 0x1012,
|
DefaultAllDevicesSpecifier = 0x1012,
|
||||||
|
|
||||||
|
// duplicates from AlcGetStringList:
|
||||||
|
|
||||||
|
///<summary>Will only return the first Device, not a list. Use AlcGetStringList.CaptureDeviceSpecifier. ALC_EXT_CAPTURE_EXT </summary>
|
||||||
|
CaptureDeviceSpecifier = 0x310,
|
||||||
|
|
||||||
|
///<summary>Will only return the first Device, not a list. Use AlcGetStringList.DeviceSpecifier</summary>
|
||||||
|
DeviceSpecifier = 0x1005,
|
||||||
|
|
||||||
|
/// <summary>Will only return the first Device, not a list. Use AlcGetStringList.AllDevicesSpecifier</summary>
|
||||||
|
AllDevicesSpecifier = 0x1013,
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum AlcGetStringList : int
|
public enum AlcGetStringList : int
|
||||||
{
|
{
|
||||||
///<summary>The name of the specified capture device, or a list of all available capture devices if no capture device is specified.</summary>
|
///<summary>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 </summary>
|
||||||
CaptureDeviceSpecifier = 0x310, // ALC_EXT_CAPTURE extension.
|
CaptureDeviceSpecifier = 0x310,
|
||||||
|
|
||||||
///<summary>The specifier string for the device.</summary>
|
///<summary>The specifier strings for all available devices. ALC_ENUMERATION_EXT</summary>
|
||||||
DeviceSpecifier = 0x1005,
|
DeviceSpecifier = 0x1005,
|
||||||
|
|
||||||
/// <summary>A list of all available devices.</summary>
|
/// <summary>The specifier strings for all available devices. ALC_ENUMERATE_ALL_EXT</summary>
|
||||||
AllDevicesSpecifier = 0x1013,
|
AllDevicesSpecifier = 0x1013,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,6 +106,4 @@ namespace OpenTK.OpenAL.Enums
|
||||||
///<summary>The number of capture samples available. NULL is an invalid device.</summary>
|
///<summary>The number of capture samples available. NULL is an invalid device.</summary>
|
||||||
CaptureSamples = 0x312,
|
CaptureSamples = 0x312,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue