mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-25 04:25:33 +00:00
Update the Alc.CreateContext function.
This commit is contained in:
parent
a875f40354
commit
d925ff5f17
|
@ -81,14 +81,35 @@ namespace OpenTK.OpenAL
|
|||
|
||||
#region Context Management
|
||||
|
||||
#region CreateContext
|
||||
|
||||
/// <summary>This function creates a context using a specified device.</summary>
|
||||
/// <param name="device">a pointer to a device</param>
|
||||
/// <param name="attrlist">a pointer to a set of attributes: ALC_FREQUENCY, ALC_MONO_SOURCES, ALC_REFRESH, ALC_STEREO_SOURCES, ALC_SYNC</param>
|
||||
/// <returns>Returns a pointer to the new context (NULL on failure). The attribute list can be NULL, or a zero terminated list of integer pairs composed of valid ALC attribute tokens and requested values.</returns>
|
||||
[DllImport(Alc.Lib, EntryPoint = "alcCreateContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
|
||||
public static extern IntPtr CreateContext([In] IntPtr device, [In] IntPtr attrlist);
|
||||
[DllImport(Alc.Lib, EntryPoint = "alcCreateContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity]
|
||||
[CLSCompliant(false)]
|
||||
unsafe public static extern IntPtr CreateContext([In] IntPtr device, [In] int* attrlist);
|
||||
// ALC_API ALCcontext * ALC_APIENTRY alcCreateContext( ALCdevice *device, const ALCint* attrlist );
|
||||
|
||||
/// <summary>This function creates a context using a specified device.</summary>
|
||||
/// <param name="device">a pointer to a device</param>
|
||||
/// <param name="attrlist">an array of a set of attributes: ALC_FREQUENCY, ALC_MONO_SOURCES, ALC_REFRESH, ALC_STEREO_SOURCES, ALC_SYNC</param>
|
||||
/// <returns>Returns a pointer to the new context (NULL on failure).</returns>
|
||||
/// <remarks>The attribute list can be NULL, or a zero terminated list of integer pairs composed of valid ALC attribute tokens and requested values.</remarks>
|
||||
public static IntPtr CreateContext(IntPtr device, int[] attriblist)
|
||||
{
|
||||
unsafe
|
||||
{
|
||||
fixed (int* attriblist_ptr = attriblist)
|
||||
{
|
||||
return CreateContext(device, attriblist_ptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>This function makes a specified context the current context.</summary>
|
||||
/// <param name="context">A pointer to the new context.</param>
|
||||
/// <returns>Returns True on success, or False on failure.</returns>
|
||||
|
@ -217,7 +238,7 @@ namespace OpenTK.OpenAL
|
|||
/// <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 IList<string> GetString(IntPtr device, Enums.AlcGetStringList param)
|
||||
{
|
||||
List<string> result = new List<string>();
|
||||
IntPtr t = GetStringPrivate(AL.Null, (Enums.AlcGetString)Enums.AlcGetStringList.DeviceSpecifier);
|
||||
|
@ -239,7 +260,7 @@ namespace OpenTK.OpenAL
|
|||
}
|
||||
} while (true);
|
||||
|
||||
return result;
|
||||
return (IList<string>)result;
|
||||
}
|
||||
|
||||
/// <summary>This function returns integers related to the context.</summary>
|
||||
|
|
|
@ -14,19 +14,19 @@ namespace OpenTK.OpenAL.Enums
|
|||
|
||||
public enum AlcContextAttributes : int
|
||||
{
|
||||
///<summary>followed by <int> Hz</summary>
|
||||
///<summary>Followed by System.Int32 Hz</summary>
|
||||
Frequency = 0x1007,
|
||||
|
||||
///<summary>followed by <int> Hz</summary>
|
||||
///<summary>Followed by System.Int32 Hz</summary>
|
||||
Refresh = 0x1008,
|
||||
|
||||
///<summary>followed by AlBoolean.True, or AlBoolean.False</summary>
|
||||
///<summary>Followed by AlBoolean.True, or AlBoolean.False</summary>
|
||||
Sync = 0x1009,
|
||||
|
||||
///<summary>followed by <int> Num of requested Mono (3D) Sources</summary>
|
||||
///<summary>Followed by System.Int32 Num of requested Mono (3D) Sources</summary>
|
||||
MonoSources = 0x1010,
|
||||
|
||||
///<summary>followed by <int> Num of requested Stereo Sources</summary>
|
||||
///<summary>Followed by System.Int32 Num of requested Stereo Sources</summary>
|
||||
StereoSources = 0x1011,
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue