コード例 #1
0
ファイル: ScanWorker.cs プロジェクト: noahsw/highlight-hunter
        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;
        }
コード例 #2
0
        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
        }
コード例 #3
0
 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
 }
コード例 #4
0
 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;
 }
コード例 #5
0
ファイル: SaveWorker.cs プロジェクト: noahsw/highlight-hunter
        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);
            }
        }
コード例 #6
0
 internal InputFileObjectEventArgs(InputFileObject inputFileObject)
 {
     this.InputFileObject = inputFileObject;
 }