private static void FindHighLowNotes(List<MidiNote> notes, int measurelen, int startindex,
int starttime, int endtime, ref int high, ref int low)
{
int i = startindex;
if (starttime + measurelen < endtime) {
endtime = starttime + measurelen;
}
while (i < notes.Count && notes[i].StartTime < endtime) {
if (notes[i].EndTime < starttime) {
i++;
continue;
}
if (notes[i].StartTime + measurelen < starttime) {
i++;
continue;
}
if (high < notes[i].Number) {
high = notes[i].Number;
}
if (low > notes[i].Number) {
low = notes[i].Number;
}
i++;
}
}