private void UpdateHeatMap() { if (rectHeat == null) { return; } rectHeat.Fill = HeatMapGenerator.Generate(Beats.ToList(), TimeSpan.Zero, Duration, 100, true); }
private void btnDetectAll_Click(object sender, RoutedEventArgs e) { List <bool[]> knownPatterns = new List <bool[]> { new bool[] { true, false, false, false, false, false, false, false }, new bool[] { true, false, false, false, true, false, false, false }, new bool[] { true, false, true, false, true, false, true, false }, new bool[] { true, true, true, true, true, true, true, true }, new bool[] { true, true, true, false, true, false, true, false }, new bool[] { true, true, true, true, true, false, true, false }, new bool[] { true, true, true, true, true, true, true, false }, new bool[] { true, true, false, false, false, false, false, false } }; List <TimeSpan> beats = Beats.ToList(); int index = 0; BeatSegment segment; do { segment = null; int shifts = 0; while (segment == null && shifts < 8) { segment = FindSegment(knownPatterns, beats, ref index); if (segment == null) { shifts++; index++; } } if (segment != null) { Segments.Add(segment); } }while(segment != null); }