public static MidiFile GenerateMidiFile(Score score, bool generateMetronome = false)
{
var midiFile = new MidiFile();
// create score tracks + metronometrack
for (int i = 0, j = score.Tracks.Count; i < j; i++)
{
midiFile.CreateTrack();
}
midiFile.InfoTrack = 0;
var handler = new MidiFileHandler(midiFile);
var generator = new MidiFileGenerator(score, handler, generateMetronome);
generator.Generate();
midiFile.TickLookup = generator.TickLookup;
return midiFile;
}