public static List <UNote> WriteNotes(UProject project, UVoicePart part, IEnumerable <UNote> notes, string filePath) { List <UNote> sequence = new List <UNote>(); using (var writer = new StreamWriter(filePath, false, ShiftJIS)) { WriteHeader(project, part, writer); int position = 0; foreach (var note in notes) { if (note.position != position) { writer.WriteLine($"[#{sequence.Count:D4}]"); var spacer = UNote.Create(); spacer.position = position; spacer.duration = note.position - position; spacer.lyric = "R"; spacer.tone = 60; sequence.Add(spacer); WriteNoteBody(project, spacer, writer); } writer.WriteLine($"[#{sequence.Count:D4}]"); WriteNoteBody(project, note, writer); position = note.End; sequence.Add(note); } WriteFooter(writer); } return(sequence); }