Exemple #1
0
 private void UpdateHeatMap()
 {
     if (rectHeat == null)
     {
         return;
     }
     rectHeat.Fill = HeatMapGenerator.Generate(Beats.ToList(), TimeSpan.Zero, Duration, 100, true);
 }
Exemple #2
0
        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);
        }