Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 public static SndFile OpenWrite(SfVirtual @virtual, SfFormat format, IntPtr userData = default)
 {
     return(Open__(@virtual, SfMode.Write, userData, format));
 }
Esempio n. 3
0
 private static extern unsafe SndFile__ *sf_open_virtual(
     ref SfVirtual @virtual,
     SfMode mode,
     ref SfInfo info,
     IntPtr userData
     );
Esempio n. 4
0
 public static SndFile OpenRead(SfVirtual @virtual, IntPtr userData = default)
 {
     return(Open__(@virtual, SfMode.Read, userData, SfFormat.Empty));
 }
Esempio n. 5
0
 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));
 }