private static unsafe SndFile Open__( SfVirtual @virtual, SfMode mode, IntPtr userData, SfFormat format) { if (@virtual == SfVirtual.Empty) { throw new ArgumentNullException(nameof(@virtual)); } CheckOpenParameters(format, mode); var info = format.ToInfo(); var sndFile = sf_open_virtual(ref @virtual, mode, ref info, userData); return(sndFile == null ? null : new SndFile(sndFile, info)); }
public static SndFile OpenWrite(SfVirtual @virtual, SfFormat format, IntPtr userData = default) { return(Open__(@virtual, SfMode.Write, userData, format)); }
private static extern unsafe SndFile__ *sf_open_virtual( ref SfVirtual @virtual, SfMode mode, ref SfInfo info, IntPtr userData );
public static SndFile OpenRead(SfVirtual @virtual, IntPtr userData = default) { return(Open__(@virtual, SfMode.Read, userData, SfFormat.Empty)); }
public bool Equals(SfVirtual other) { return(Length.Equals(other.Length) && Seek.Equals(other.Seek) && Read.Equals(other.Read) && Write.Equals(other.Write) && Tell.Equals(other.Tell)); }