internal ScanWorker(InputFileObject inputFileObject) { Id = DateTime.Now.Ticks; Logger.Info("Starting new ScanWorker[" + Id + "] on " + inputFileObject.SourceFileInfo.FullName); DoWork += ScanWorkerDoWork; RunWorkerCompleted += new RunWorkerCompletedEventHandler(ScanWorker_RunWorkerCompleted); WorkerReportsProgress = true; WorkerSupportsCancellation = true; ScanWorkerResult = ScanWorkerResults.NotFinished; InputFileObject = inputFileObject; }
private void AddInputFile(string file) { Logger.Info("Adding " + file); #region Make sure file isn't already added foreach (var existingFile in MainModel.InputFileObjects) { if (existingFile.SourceFileInfo.FullName.Equals(file, StringComparison.OrdinalIgnoreCase)) return; } #endregion Make sure file isn't already added dropHereBigControl.Visible = false; if (MainModel.InputFileObjects.Count == 0 && TutorialHelper.GetTutorialProgress() != TutorialProgress.TutorialAddSampleVideo) dropHereSmallControl.Visible = true; var inputFileObject = new InputFileObject(); inputFileObject.SourceFileInfo = new FileInfo(file); var videoThumbnailControl = new RawVideoThumbnailControl(); videoThumbnailControl.InputFileObject = inputFileObject; videoThumbnailControl.Margin = new Padding(10); inputFilesPanel.Controls.Add(videoThumbnailControl); inputFilesPanel.Controls.SetChildIndex(dropHereSmallControl, inputFilesPanel.Controls.Count - 1); videoThumbnailControl.ThumbnailRemoved += videoThumbnailControl_ThumbnailRemoved; MainModel.InputFileObjects.Add(inputFileObject); scanButton.Visible = true; TrackFirstSelect(); //inputFilesPanel.ScrollControlIntoView(currentHighlightThumbnailControl); // REMED because this was screwing up placement of controls }
private void AddNoHighlightToPanel(InputFileObject inputFileObject) { var noHighlightThumbnailControl = new NoHighlightThumbnailControl(); noHighlightThumbnailControl.InputFileObject = inputFileObject; noHighlightThumbnailControl.Margin = Padding.Empty; noHighlightThumbnailControl.RescanRequested += new EventHandler(noHighlightThumbnailControl_RescanRequested); innerHighlightsPanel.Controls.Add(noHighlightThumbnailControl); noHighlightThumbnailControl.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; // this must be set after we add the control, otherwise it doesn't stick }
private void AddDivider(InputFileObject inputFileObject) { var highlightDividerBarControl = new HighlightDividerBarControl(); highlightDividerBarControl.InputFileObject = inputFileObject; highlightDividerBarControl.Margin = Padding.Empty; innerHighlightsPanel.Controls.Add(highlightDividerBarControl); highlightDividerBarControl.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; }
private bool IsValidVideo(FileInfo fileInfo) { if (fileInfo == null) return false; if (OutputFormat == OutputFormats.ProRes) { return fileInfo.Length > 1024 * 1024; // 1mb in size } else { Thread.Sleep(1000); // let things settle. sometimes we can't read the video dimensions and hopefully this will help that. var inputFileObject = new InputFileObject(fileInfo); using (var scanWorker = new ScanWorker(inputFileObject)) { scanWorker.SetVideoDimensions(); } Debug.Assert(inputFileObject.VideoWidth > 0 && inputFileObject.VideoHeight > 0, "Cannot determine dimensions of " + inputFileObject.SourceFileInfo.FullName); return (inputFileObject.VideoWidth > 0 && inputFileObject.VideoHeight > 0); } }
internal InputFileObjectEventArgs(InputFileObject inputFileObject) { this.InputFileObject = inputFileObject; }