/// <summary> /// Public Constructor: /// Initialize Component inside Conflict Preview Window /// Initialize video preview components /// Initialize various variables in Conflict Preview Window /// Load the picture/video accordingly /// </summary> /// <param name="source">source file full path</param> /// <param name="target">target file full path</param> /// <param name="confWin">Form from which this from is accessed</param> public ConflictPreviewWindow(string source, string target, Form confWin) { InitializeComponent(); sourceMd = new MediaDetClass(); targetMd = new MediaDetClass(); sourcePreviewer = new VideoPreview("tmp"); targetPreviewer = new VideoPreview("tmp"); this.WindowState = FormWindowState.Maximized; this.sourceTitle.Text = "Source: " + Path.GetFileNameWithoutExtension(source); this.targetTitle.Text = "Target: " + Path.GetFileNameWithoutExtension(target); this.sourcePathName=source; this.targetPathName=target; this.Text = "Conflicted: " + Path.GetFileNameWithoutExtension(source); conflict = confWin; if (Photo.isPhoto(source) && Photo.isPhoto(target)) { try { this.sourcePicture.Image = Image.FromFile(source); } catch (Exception pe) { this.sourcePicture.Image = global::DoubleSnap.Properties.Resources.no_preview; } try { this.targetPicture.Image = Image.FromFile(target); } catch (Exception pe) { this.targetPicture.Image = global::DoubleSnap.Properties.Resources.no_preview; } } else if (Video.isVideoPreviewable(source) && Video.isVideoPreviewable(target)) { try { sourcePreviewer.deleteTmpBmpFiles(MainWindow.storagePath); sourceMd.Filename = sourcePathName; sourceMd.CurrentStream = 0; sourceVideoLen = (int)sourceMd.StreamLength; sourcePicture.Image = global::DoubleSnap.Properties.Resources.hover_mouse; } catch (Exception pe) { sourcePicture.Image = global::DoubleSnap.Properties.Resources.no_preview; } try { targetPreviewer.deleteTmpBmpFiles(MainWindow.storagePath2); targetMd.Filename = targetPathName; targetMd.CurrentStream = 0; targetVideoLen = (int)targetMd.StreamLength; targetPicture.Image = global::DoubleSnap.Properties.Resources.hover_mouse; } catch (Exception pe) { targetPicture.Image = global::DoubleSnap.Properties.Resources.no_preview; } } else { sourcePicture.Image = global::DoubleSnap.Properties.Resources.no_preview; targetPicture.Image = global::DoubleSnap.Properties.Resources.no_preview; } }
/// <summary> /// Private method to show the next the video frame /// </summary> /// <param name="box">picture box to show the video frame</param> /// <param name="mdex">mdex</param> /// <param name="previewer">previewer</param> /// <param name="len">length</param> /// <param name="str">string</param> private void showNextFrame(PictureBox box, MediaDetClass mde, VideoPreview previewer, int len, string str) { previewer.setNextFrame(len); if (box.Image != null) box.Image.Dispose(); // Console.WriteLine(box.ToString()); previewer.deleteTmpBmpFiles(str); // Console.WriteLine("hhkhkh"); try { box.Image = new Bitmap(previewer.newBitmapPath(mde, str)); } catch (Exception pe) { box.Image = global::DoubleSnap.Properties.Resources.no_preview; } }