aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Audio/Native/libsoundio/SoundIOChannelLayout.cs
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2020-11-27 20:55:00 +0100
committerGitHub <noreply@github.com>2020-11-27 20:55:00 +0100
commit7b66cb0d9051cab581df6853f11e87ed115da6c3 (patch)
tree7f5903f298f54cd65d16461089722d8f20264e11 /Ryujinx.Audio/Native/libsoundio/SoundIOChannelLayout.cs
parent0108004691a582f7df8e629c1e68a6bb0e0b90e7 (diff)
audio: Cleanup Ryujinx.Audio and fix OpenAL issue (#1746)
* audio: Cleanup SoundIO and fix OpenAL issue * fix tabs by spaces * Fix extra spaces * Fix SoundIO.cs * Fix ContainsAudioOutBuffer
Diffstat (limited to 'Ryujinx.Audio/Native/libsoundio/SoundIOChannelLayout.cs')
-rw-r--r--Ryujinx.Audio/Native/libsoundio/SoundIOChannelLayout.cs203
1 files changed, 110 insertions, 93 deletions
diff --git a/Ryujinx.Audio/Native/libsoundio/SoundIOChannelLayout.cs b/Ryujinx.Audio/Native/libsoundio/SoundIOChannelLayout.cs
index ee634542..cff6114f 100644
--- a/Ryujinx.Audio/Native/libsoundio/SoundIOChannelLayout.cs
+++ b/Ryujinx.Audio/Native/libsoundio/SoundIOChannelLayout.cs
@@ -1,99 +1,116 @@
using System;
using System.Collections.Generic;
-using System.Linq;
using System.Runtime.InteropServices;
namespace SoundIOSharp
{
- public struct SoundIOChannelLayout
- {
- public static int BuiltInCount {
- get { return Natives.soundio_channel_layout_builtin_count (); }
- }
-
- public static SoundIOChannelLayout GetBuiltIn (int index)
- {
- return new SoundIOChannelLayout (Natives.soundio_channel_layout_get_builtin (index));
- }
-
- public static SoundIOChannelLayout GetDefault (int channelCount)
- {
- var handle = Natives.soundio_channel_layout_get_default (channelCount);
- return new SoundIOChannelLayout (handle);
- }
-
- public static SoundIOChannelId ParseChannelId (string name)
- {
- var ptr = Marshal.StringToHGlobalAnsi (name);
- try {
- return (SoundIOChannelId)Natives.soundio_parse_channel_id (ptr, name.Length);
- } finally {
- Marshal.FreeHGlobal (ptr);
- }
- }
-
- // instance members
-
- internal SoundIOChannelLayout (Pointer<SoundIoChannelLayout> handle)
- {
- this.handle = handle;
- }
-
- readonly Pointer<SoundIoChannelLayout> handle;
-
- public bool IsNull {
- get { return handle.Handle == IntPtr.Zero; }
- }
-
- internal IntPtr Handle {
- get { return handle; }
- }
-
- public int ChannelCount {
- get { return IsNull ? 0 : Marshal.ReadInt32 ((IntPtr) handle + channel_count_offset); }
- }
- static readonly int channel_count_offset = (int) Marshal.OffsetOf<SoundIoChannelLayout> ("channel_count");
-
- public string Name {
- get { return IsNull ? null : Marshal.PtrToStringAnsi (Marshal.ReadIntPtr ((IntPtr) handle + name_offset)); }
- }
- static readonly int name_offset = (int)Marshal.OffsetOf<SoundIoChannelLayout> ("name");
-
- public IEnumerable<SoundIOChannelId> Channels {
- get {
- if (IsNull)
- yield break;
- for (int i = 0; i < 24; i++)
- yield return (SoundIOChannelId) Marshal.ReadInt32 ((IntPtr) handle + channels_offset + sizeof (SoundIoChannelId) * i);
- }
- }
- static readonly int channels_offset = (int)Marshal.OffsetOf<SoundIoChannelLayout> ("channels");
-
- public override bool Equals (object other)
- {
- if (!(other is SoundIOChannelLayout))
- return false;
- var s = (SoundIOChannelLayout) other;
- return handle == s.handle || Natives.soundio_channel_layout_equal (handle, s.handle);
- }
-
- public override int GetHashCode ()
- {
- return handle.GetHashCode ();
- }
-
- public string DetectBuiltInName ()
- {
- if (IsNull)
- throw new InvalidOperationException ();
- return Natives.soundio_channel_layout_detect_builtin (handle) ? Name : null;
- }
-
- public int FindChannel (SoundIOChannelId channel)
- {
- if (IsNull)
- throw new InvalidOperationException ();
- return Natives.soundio_channel_layout_find_channel (handle, (SoundIoChannelId) channel);
- }
- }
-}
+ public struct SoundIOChannelLayout
+ {
+ public static int BuiltInCount
+ {
+ get { return Natives.soundio_channel_layout_builtin_count(); }
+ }
+
+ public static SoundIOChannelLayout GetBuiltIn(int index)
+ {
+ return new SoundIOChannelLayout(Natives.soundio_channel_layout_get_builtin(index));
+ }
+
+ public static SoundIOChannelLayout GetDefault(int channelCount)
+ {
+ var handle = Natives.soundio_channel_layout_get_default(channelCount);
+
+ return new SoundIOChannelLayout (handle);
+ }
+
+ public static SoundIOChannelId ParseChannelId(string name)
+ {
+ var ptr = Marshal.StringToHGlobalAnsi(name);
+
+ try
+ {
+ return (SoundIOChannelId)Natives.soundio_parse_channel_id(ptr, name.Length);
+ }
+ finally
+ {
+ Marshal.FreeHGlobal(ptr);
+ }
+ }
+
+ // instance members
+
+ internal SoundIOChannelLayout(Pointer<SoundIoChannelLayout> handle)
+ {
+ this.handle = handle;
+ }
+
+ readonly Pointer<SoundIoChannelLayout> handle;
+
+ public bool IsNull
+ {
+ get { return handle.Handle == IntPtr.Zero; }
+ }
+
+ internal IntPtr Handle
+ {
+ get { return handle; }
+ }
+
+ public int ChannelCount
+ {
+ get { return IsNull ? 0 : Marshal.ReadInt32((IntPtr)handle + channel_count_offset); }
+ }
+
+ static readonly int channel_count_offset = (int)Marshal.OffsetOf<SoundIoChannelLayout>("channel_count");
+
+ public string Name
+ {
+ get { return IsNull ? null : Marshal.PtrToStringAnsi(Marshal.ReadIntPtr((IntPtr)handle + name_offset)); }
+ }
+
+ static readonly int name_offset = (int)Marshal.OffsetOf<SoundIoChannelLayout>("name");
+
+ public IEnumerable<SoundIOChannelId> Channels
+ {
+ get
+ {
+ if (IsNull) yield break;
+
+ for (int i = 0; i < 24; i++)
+ {
+ yield return (SoundIOChannelId)Marshal.ReadInt32((IntPtr)handle + channels_offset + sizeof(SoundIoChannelId) * i);
+ }
+ }
+ }
+
+ static readonly int channels_offset = (int)Marshal.OffsetOf<SoundIoChannelLayout>("channels");
+
+ public override bool Equals(object other)
+ {
+ if (!(other is SoundIOChannelLayout)) return false;
+
+ var s = (SoundIOChannelLayout) other;
+
+ return handle == s.handle || Natives.soundio_channel_layout_equal(handle, s.handle);
+ }
+
+ public override int GetHashCode()
+ {
+ return handle.GetHashCode();
+ }
+
+ public string DetectBuiltInName()
+ {
+ if (IsNull) throw new InvalidOperationException();
+
+ return Natives.soundio_channel_layout_detect_builtin(handle) ? Name : null;
+ }
+
+ public int FindChannel(SoundIOChannelId channel)
+ {
+ if (IsNull) throw new InvalidOperationException();
+
+ return Natives.soundio_channel_layout_find_channel(handle, (SoundIoChannelId)channel);
+ }
+ }
+} \ No newline at end of file