public void ExportToLrc() { var exportStorage = storage.GetStorageForDirectory("lrc"); using (var outputStream = exportStorage.GetStream($"{beatmap.Name}.lrc", FileAccess.Write, FileMode.Create)) using (var sw = new StreamWriter(outputStream)) { var encoder = new LrcEncoder(); sw.WriteLine(encoder.Encode(new Beatmap { HitObjects = beatmap.HitObjects.ToList() })); } exportStorage.OpenInNativeExplorer(); }
private static Beatmap decode(string filename, out Beatmap encoded) { using (var stream = TestResources.OpenLrcResource(filename)) using (var sr = new LineBufferedReader(stream)) { // Read file and decode to file var legacyDecoded = new LrcDecoder().Decode(sr); using (var ms = new MemoryStream()) using (var sw = new StreamWriter(ms)) using (var sr2 = new LineBufferedReader(ms)) { // Then encode file to stream var encodeResult = new LrcEncoder().Encode(legacyDecoded); sw.WriteLine(encodeResult); sw.Flush(); ms.Position = 0; encoded = new LrcDecoder().Decode(sr2); return(legacyDecoded); } } }