private void CanvasNotesScheduledAdder(object sender, EventArgs e)
{
double percentagePlayed = (double) playDuration.ElapsedMilliseconds/midiInfo.Duration;
if (curCanvasLastNoteIndex < stringAllocator.AllocSingleArr.Length - 1)
{
double percentageAddedToCanvas =
(double) stringAllocator.AllocSingleArr[curCanvasLastNoteIndex].BeginTime/midiInfo.Duration;
if (percentageAddedToCanvas < percentagePlayed + 0.20)
{
System.Console.WriteLine("{0} {1}", percentageAddedToCanvas, percentagePlayed);
int firstNoteIndex = curCanvasLastNoteIndex + 1;
double percentage = -1;
for (curCanvasLastNoteIndex = firstNoteIndex; curCanvasLastNoteIndex < stringAllocator.AllocSingleArr.Length; curCanvasLastNoteIndex++)
{
percentage = (double) stringAllocator.AllocSingleArr[curCanvasLastNoteIndex].BeginTime/midiInfo.Duration;
if (percentage > percentagePlayed + 0.20)
{
break;
}
}
Dispatcher.BeginInvoke(DispatcherPriority.Normal,
new Action(delegate
{
AddNotesToCanvas(firstNoteIndex,
curCanvasLastNoteIndex);
}));
}
}
}