public StreamingSoundbank(Stream s)
        {
            DataStream = new MemoryStream();
            s.CopyTo(DataStream);

            DataStream.Seek(0, SeekOrigin.Begin);

            Header = DataStream.ReadStruct <SoundbankHeader>();

            if (Header.Signature != 0x42535756)
            {
                throw new InvalidDataException("File is not a streaming soundbank.");
            }

            for (int i = 0; i < Header.NumFiles; i++)
            {
                var fileInfo = DataStream.ReadStruct <SoundbankEntryInfo>();

                if ((fileInfo.MetadataLength % 2048) != 0)
                {
                    throw new Exception();
                }

                if ((fileInfo.Offset % 2048) != 0)
                {
                    throw new Exception();
                }

                var entry = new SoundbankEntry(this, fileInfo);
                Files.Add(entry);
            }
        }
 public StreamingSoundbank()
 {
     Header                 = new SoundbankHeader();
     Header.Signature       = 0x42535756;
     Header.Platform        = 0x20204350;
     Header.Timestamp       = 0;
     Header.Version         = 2;
     Header.CruncherVersion = 1;
 }
        public StreamingSoundbank()
        {
            Header = new SoundbankHeader();
            Header.Signature = 0x42535756;
            Header.Platform = 0x20204350;
            Header.Timestamp = 0;
            Header.Version = 2;
            Header.CruncherVersion = 1;

        }
        public StreamingSoundbank(Stream s)
        {
            DataStream = new MemoryStream();
            s.CopyTo(DataStream);

            DataStream.Seek(0, SeekOrigin.Begin);

            Header = DataStream.ReadStruct<SoundbankHeader>();

            if (Header.Signature != 0x42535756)
                throw new InvalidDataException("File is not a streaming soundbank.");

            for (int i = 0; i < Header.NumFiles; i++)
            {
                var fileInfo = DataStream.ReadStruct<SoundbankEntryInfo>();
                var entry = new SoundbankEntry(this, fileInfo);
                Files.Add(entry);
            }
        }