Exemple #1
0
        public void WriteTrack(string path, string password = null)
        {
            using (BinaryWriter writer = new BinaryWriter(File.Open(path, FileMode.Create)))
            {
                // TRACK INFO
                writer.Write(TrackInfo.Name);
                writer.Write(TrackInfo.Author);
                writer.Write(TrackInfo.ImageLen);
                if (TrackInfo.Image != null)
                {
                    writer.Write(TrackInfo.Image);
                }
                writer.Write(TrackInfo.SliderValue);
                writer.Write(password != null); // write TRUE if password is not null

                // ASSETS
                writer.Write(Assets.Count);
                foreach (var asset in Assets)
                {
                    var basset = AssetConverter.ConvertToBinaryAsset(asset);
                    if (password != null)
                    {
                        basset.EncryptBytes(password);
                    }
                    basset.WriteBinaryAsset(writer);
                }
            }
        }