private void ProcessFile(string fileName) { string[] lines = new ProcessScore(fileName).Score.ToArray(); MidiFile.Folder = Path.GetDirectoryName(fileName); string value = ""; var note = new Note(); foreach (string s in lines) { if (s.StartsWith("@skip")) { throw new SkipFileException("Skip Instruction"); } if (s.StartsWith("@real")) { note.RealPitch = true; continue; } if (s.StartsWith("@swing")) { note.Swing = !note.Swing; continue; } if (s.StartsWith("@soprano")) { note.SetSoprano(); continue; } if (s.StartsWith("@alto")) { note.SetAlto(); continue; } if (s.StartsWith("@transpose")) { note.Transpose = true; continue; } if (s.StartsWith("t=")) { value = s.Replace("t=", ""); Sequence.AddTempo(uint.Parse(value)); continue; } if (s.StartsWith("f=")) { value = s.Replace("f=", ""); MidiFile.Folder = value; continue; } string[] notes = TokeniseBar(s); foreach (var n in notes) { note.NextNote(n); Sequence.AddMidiNote(note); } } MidiFile.AllocateTracks(new TrackBuilder(Sequence, Debug)); }