Beispiel #1
0
        private void ReloadTracks()
        {
            logic.CurrentNotes.Clear();
            if (firstImage != null)
            {
                firstImage.Dispose();
            }
            if (secondImage != null)
            {
                secondImage.Dispose();
            }

            firstImage  = new CapturedImage(new Image <Bgr, byte>(@"D:\drumbot\panic attack partial\" + "000475.bmp"), DateTime.Now);
            secondImage = new CapturedImage(new Image <Bgr, byte>(@"D:\drumbot\panic attack partial\" + "000476.bmp"),
                                            firstImage.CaptureTime.AddMilliseconds(40));
            MostRecentImage = firstImage;
            logic.UpdateAndPredictNotes(MostRecentImage);
            MostRecentImage = secondImage;
            logic.UpdateAndPredictNotes(MostRecentImage);
            DrawBigPicture();
        }
Beispiel #2
0
        public void ImageWriter()
        {
            int frameCount = 0;

            while (true)
            {
                if (Flagged)
                {
                    _flagId++;
                    System.IO.Directory.CreateDirectory(@"D:\flagged\" + _flagId);
                    CapturedImage[] imageArray = ImageQueue.ToArray();
                    for (int i = 0; i < imageArray.Length; i++)
                    {
                        CapturedImage image    = imageArray[i];
                        string        filePath = string.Format(@"D:\flagged\{0}\{1}.png", _flagId, i.ToString().PadLeft(5, '0'));
                        image.Save(filePath);
                    }
                    Flagged = false;
                }
                //keep the last 100 images in the buffer
                if (ImageQueue.Count > 100)
                {
                    if (globCaptureStart == DateTime.MinValue)
                    {
                        globCaptureStart = DateTime.Now;
                    }
                    CapturedImage image = ImageQueue.Peek();
                    if (Recording)
                    {
                        image.Save("D:\\captures\\" + frameCount.ToString().PadLeft(5, '0') + ".png");
                        frameCount++;
                    }
                    ImageQueue.Dequeue();
                    image.Dispose();
                }
                Thread.Sleep(1);
            }
        }
Beispiel #3
0
        private void ReloadTracks()
        {
            _fakeOutput.ResetHitIndicators();
            logic.CurrentNotes.Clear();
            if (previousImage != null)
            {
                previousImage.Dispose();
            }
            if (currentImage != null)
            {
                currentImage.Dispose();
            }



            previousImage   = new CapturedImage(new Image <Bgr, byte>(_imageFileList[0]), DateTime.Now);
            currentImage    = new CapturedImage(new Image <Bgr, byte>(_imageFileList[1]), previousImage.CaptureTime.AddMilliseconds(40));
            nextImageIndex  = 2;
            MostRecentImage = previousImage;
            logic.UpdateAndPredictNotes(MostRecentImage);
            MostRecentImage = currentImage;
            logic.UpdateAndPredictNotes(MostRecentImage);
            DrawBigPicture();
            if (_fakeOutput.RedHit)
            {
                redButton.BackColor = Color.Red;
            }
            else
            {
                redButton.BackColor = Color.Gray;
            }
            if (_fakeOutput.YellowHit)
            {
                yellowButton.BackColor = Color.Yellow;
            }
            else
            {
                yellowButton.BackColor = Color.Gray;
            }
            if (_fakeOutput.BlueHit)
            {
                blueButton.BackColor = Color.Blue;
            }
            else
            {
                blueButton.BackColor = Color.Gray;
            }
            if (_fakeOutput.GreenHit)
            {
                greenButton.BackColor = Color.LawnGreen;
            }
            else
            {
                greenButton.BackColor = Color.Gray;
            }
            if (_fakeOutput.OrangeHit)
            {
                orangeButton.BackColor = Color.Orange;
            }
            else
            {
                orangeButton.BackColor = Color.Gray;
            }
        }