private void TestRepeat(Score score, int[] expectedIndexes) { var controller = new MidiPlaybackController(score); int i = 0; while (!controller.Finished) { var index = controller.Index; controller.ProcessCurrent(); if (controller.ShouldPlay) { Trace.WriteLine(string.Format("Checking index {0}, expected[{1}]", i, expectedIndexes[i])); Assert.AreEqual(expectedIndexes[i], index); i++; } controller.MoveNext(); } Assert.AreEqual(expectedIndexes.Length, i); Assert.IsTrue(controller.Finished); }
private void TestRepeat(Score score, int[] expectedIndexes) { var controller = new MidiPlaybackController(score); int i = 0; while (!controller.Finished) { var index = controller.Index; controller.ProcessCurrent(); if (controller.ShouldPlay) { Logger.Debug("Test", $"Checking index {i}, expected[{expectedIndexes[i]}]"); Assert.AreEqual(expectedIndexes[i], index); i++; } controller.MoveNext(); } Assert.AreEqual(expectedIndexes.Length, i); Assert.IsTrue(controller.Finished); }
public static MidiTickLookup BuildTickLookup(Score score) { var lookup = new MidiTickLookup(); var controller = new MidiPlaybackController(score); while (!controller.Finished) { var index = controller.Index; controller.Process(); if (controller.ShouldPlay) { var bar = new BarTickLookup(); bar.Bar = score.MasterBars[index]; bar.Start = controller.RepeatMove + bar.Bar.Start; bar.End = bar.Start + bar.Bar.CalculateDuration(); lookup.Bars.Add(bar); } } return(lookup); }
public static MidiTickLookup BuildTickLookup(Score score) { var lookup = new MidiTickLookup(); var controller = new MidiPlaybackController(score); while (!controller.Finished) { var index = controller.Index; var currentTick = controller.CurrentTick; controller.ProcessCurrent(); if (controller.ShouldPlay) { var bar = new BarTickLookup(); bar.Bar = score.MasterBars[index]; bar.Start = currentTick; bar.End = bar.Start + bar.Bar.CalculateDuration(); lookup.AddBar(bar); } controller.MoveNext(); } return(lookup); }