public FrameProcessor(IPackageSender sender, FrameSequence sequence)
        {
            _timer = new Timer(TimeInterval);
            _timer.Elapsed += OnTimerElapsed;

            _sender = sender;
            _sequence = sequence;
        }
        public FramesContainer()
        {
            _builder = new FrameBuilder();
            _buffer = new List<Frame>();
            _frameViews = new ObservableCollection<FrameView>();

            _sequence = new FrameSequence();
            _sequence.SequenceChanged += OnSequenceChanged;
        }
        public void PushOneCommand()
        {
            var seq = new FrameSequence();
            var expected = CreateFrame(0, 3);
            seq.Push(expected);

            var beginBound = TimeSpan.FromSeconds(0);
            var actual = seq.FrameByTime(beginBound);
            Assert.IsNotNull(actual);
            Assert.AreEqual(expected, actual);
        }
Beispiel #4
0
        //        public static FrameProcessor _processor;
        //
        //        static void ManyShortSends()
        //        {
        //            var seq = new FrameSequence();
        //            for (int i = 0; i < 100; i++)
        //            {
        //                var frame = new Frame(TimeSpan.FromSeconds(i), TimeSpan.FromSeconds(1)){Command = new SetColor(1, Color.FromRgb(128,128,128))};
        //                seq.Push(frame);
        //            }
        //
        //            IPackageSender sender = new FakePackageSender();
        //            _processor = new FrameProcessor(sender, seq);
        //            _processor.Start();
        //        }
        //
        //        static void Main(string[] args)
        //        {
        //            var th = new Thread(ManyShortSends);
        //            th.Start();
        //            th.Join();
        //            var t = _processor.AudioReader;
        //            Thread.Sleep(60 * 000);
        //        }
        static void Main(string[] args)
        {
            var fs = new FrameSequence();
            fs.Push(new Frame(TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(4)));
            fs.Push(new Frame(TimeSpan.FromSeconds(4), TimeSpan.FromSeconds(6)));
            fs.Push(new Frame(TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(7)));
            fs.Push(new Frame(TimeSpan.FromSeconds(17), TimeSpan.FromSeconds(2)));

            var jsonStr = TypeSerializer.Dump(fs);

            var sequence = TypeSerializer.DeserializeFromString<FrameSequence>(jsonStr);

            Console.WriteLine(sequence);
        }
        public void PushTwoSequencedFrames()
        {
            var seq = new FrameSequence();
            var cmd1 = CreateFrame(0, 2);
            var cmd2 = CreateFrame(2, 3.5);
            seq.Push(cmd1);
            seq.Push(cmd2);

            var cmdMid1 = TimeSpan.FromMilliseconds(10);
            var actual1 = seq.FrameByTime(cmdMid1);
            Assert.AreEqual(cmd1, actual1);

            var cmdMid2 = TimeSpan.FromSeconds(2.5);
            var actual2 = seq.FrameByTime(cmdMid2);
            Assert.AreEqual(cmd2, actual2);
        }
        public void GetTargetFrameTwice()
        {
            var seq = new FrameSequence();
            var cmd1 = CreateFrame(1, 3);
            var cmd2 = CreateFrame(4, 2);
            seq.Push(cmd1);
            seq.Push(cmd2);

            var cmdMiddle1 = TimeSpan.FromSeconds(1.5);
            var actual1 = seq.FrameByTime(cmdMiddle1);
            Assert.AreEqual(cmd1, actual1);

            var cmdMiddle2 = TimeSpan.FromSeconds(1.6);
            var actual2 = seq.FrameByTime(cmdMiddle2);
            Assert.IsNull(actual2);
        }
        public void SaveFrame()
        {
            var color = Color.FromRgb(128, 128, 128);
            var frame1 = new Frame(TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(3.5))
            {
                Command = new SetColor(color){Channel = 1}
            };
            var frame2 = new Frame(TimeSpan.FromSeconds(3.5), TimeSpan.FromSeconds(2))
            {
                Command = new SetColor(color){Channel = 1}
            };
            var seq = new FrameSequence();
            seq.Push(frame1);
            seq.Push(frame2);

            var s = JsonSerializer.SerializeToString(seq);
            Console.WriteLine(s);
        }
        private void OnBtnFrameChooseClick(object sender, RoutedEventArgs e)
        {
            var vm = (MainViewModel)DataContext;

            var dlg = new OpenFileDialog();
            if (dlg.ShowDialog().Value)
            {
                vm.FramesFileName = dlg.FileName;
                try
                {
                    using (Stream stream = new FileStream(vm.FramesFileName, FileMode.Open))
                    {
                        var bf = new BinaryFormatter();
                        _sequence = (FrameSequence)bf.Deserialize(stream);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }
        }
 public void Start(FrameSequence sequence)
 {
     _sequence = sequence;
     Start();
 }
 public FrameProcessor(IPackageSender sender, IWavePlayer player, FrameSequence sequence)
     : this(sender, sequence)
 {
     _player = player;
 }
 public void Initialization()
 {
     _sequence = new FrameSequence();
     _sender = _repository.StrictMock<IPackageSender>();
 }