private void EndRun_Click(object sender, RoutedEventArgs e) { if (!Video.IsOpen) { return; } TotalRunInfo.SetEnd(TrueFramePos()); }
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(); }
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(); }
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); } } }