public MidiOptions(MidiFile midifile)
{
int numtracks = midifile.Tracks.Count;
tracks = new bool[numtracks];
mute = new bool[numtracks];
instruments = new int[numtracks];
for (int i = 0; i < tracks.Length; i++) {
tracks[i] = true;
mute[i] = false;
instruments[i] = midifile.Tracks[i].Instrument;
if (midifile.Tracks[i].InstrumentName == "Percussion") {
tracks[i] = false;
}
}
useDefaultInstruments = true;
scrollVert = true;
largeNoteSize = false;
if (tracks.Length == 1) {
twoStaffs = true;
}
else {
twoStaffs = false;
}
showNoteLetters = NoteNameNone;
showLyrics = true;
showMeasures = false;
shifttime = 0;
transpose = 0;
key = -1;
time = midifile.Time;
colors = null;
shadeColor = Color.FromArgb(210, 205, 220);
shade2Color = Color.FromArgb(80, 100, 250);
combineInterval = 40;
tempo = midifile.Time.Tempo;
pauseTime = 0;
playMeasuresInLoop = false;
playMeasuresInLoopStart = 0;
playMeasuresInLoopEnd = midifile.EndTime() / midifile.Time.Measure;
}