Example #1
0
 private void EndRun_Click(object sender, RoutedEventArgs e)
 {
     if (!Video.IsOpen)
     {
         return;
     }
     TotalRunInfo.SetEnd(TrueFramePos());
 }
Example #2
0
        private void Retime_Click(object sender, RoutedEventArgs e)
        {
            if (TotalRunInfo.FrameDuration() == 0)
            {
                System.Windows.MessageBox.Show("You must retime the runs without loads before calculating the final retime.");
                return;
            }
            long loadFrames = 0;

            for (int i = 0; i < LoadBox.Items.Count; i++)
            {
                LoadInfo li = (LoadInfo)((ListBoxItem)LoadBox.Items[i]).Content;
                loadFrames += li.FrameDuration();
            }
            var tsLoads  = new TimeSpan((long)(loadFrames / frameRate * 10_000_000));
            var tsWLoads = new TimeSpan((long)(TotalRunInfo.FrameDuration() / frameRate * 10_000_000));

            new FinalRetimeWindow(tsWLoads, tsLoads).ShowDialog();
        }
Example #3
0
        public MainWindow()
        {
            InitializeComponent();
            Unosquare.FFME.Library.FFmpegDirectory = @"./ffmpeg";
            TotalRunInfo.SetName("Entire Run");
            TotalRunInfo.MakeNonInclusive();
            TotalRunInfo.MakeUnchangable();

            Video.ScrubbingEnabled = false;

            timerVideo = new DispatcherTimer {
                Interval = TimeSpan.FromMilliseconds(5)
            };
            timerVideo.Tick += TimerVideo_Tick;
            timerVideo.Start();

            timerAnalyzer = new DispatcherTimer {
                Interval = TimeSpan.FromMilliseconds(20)
            };
            timerAnalyzer.Tick += Analyzer_Tick;
            timerAnalyzer.Start();
        }
Example #4
0
        private void SaveLoads_Click(object sender, RoutedEventArgs e)
        {
            var ofd = new SaveFileDialog {
                Title  = "Save loads",
                Filter = "Load Retimer files (*.lds)|*.lds|All files (*.*)|*.*"
            };

            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                var f         = ofd.OpenFile();
                var binWriter = new BinaryWriter(f);
                binWriter.Write(CURR_VERSION);
                if (TotalRunInfo.FrameDuration() > 0)
                {
                    binWriter.Write((byte)1);
                }
                else
                {
                    binWriter.Write((byte)0);
                }
                binWriter.Write((UInt32)LoadBox.Items.Count);
                binWriter.Write(frameRate);
                if (TotalRunInfo.FrameDuration() > 0)
                {
                    binWriter.Write((UInt32)TotalRunInfo.frameStart);
                    binWriter.Write((UInt32)TotalRunInfo.frameEnd);
                }
                for (int i = 0; i < LoadBox.Items.Count; i++)
                {
                    LoadInfo li = (LoadInfo)((ListBoxItem)LoadBox.Items[i]).Content;
                    binWriter.Write((UInt32)li.frameStart);
                    binWriter.Write((UInt32)li.frameEnd);
                    binWriter.Write(li.LoadName.Text);
                }
            }
        }