+ Main.ShowExceptiowWindow("An Unexpected error has occured", exc.ToString());\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Encode status has changed\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void EncodeQueueEncodeStatusChanged(object sender, HandBrake.ApplicationServices.EventArgs.EncodeProgressEventArgs e)\r
+ {\r
+ if (this.InvokeRequired)\r
+ {\r
+ this.BeginInvoke(new EncodeProgessStatus(this.EncodeQueueEncodeStatusChanged), new[] { sender, e });\r
+ return;\r
+ }\r
+\r
+ lbl_encodeStatus.Text = e.PercentComplete + "%";\r
+ ProgressBarStatus.Value = (int)Math.Round(e.PercentComplete);\r
+ }\r
+ #endregion\r
+\r
+ #region Encode Sample\r
+\r
+ /// <summary>\r
+ /// Play with VLC\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void PlayVlcClick(object sender, EventArgs e)\r
+ {\r
+ ProgressBarStatus.Visible = true;\r
+ ProgressBarStatus.Value = 0;\r
+ lbl_encodeStatus.Visible = true;\r
+ playWithVlc = true;\r
+ this.panel1.Visible = false;\r
+ \r
+ try\r
+ {\r
+ if (!this.noQt)\r
+ QTControl.URL = string.Empty;\r
+\r
+ if (File.Exists(this.currentlyPlaying))\r
+ File.Delete(this.currentlyPlaying);\r
+ }\r
+ catch (Exception)\r
+ {\r
+ MessageBox.Show(this, "Unable to delete previous preview file. You may need to restart the application.",\r
+ "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+ }\r
+\r
+ btn_playQT.Enabled = false;\r
+ btn_playVLC.Enabled = false;\r
+ this.Text += " (Encoding)";\r
+ int duration;\r
+ int.TryParse(cb_duration.Text, out duration);\r
+ string query = QueryGenerator.GeneratePreviewQuery(this.mainWindow, duration, cb_preview.Text);\r
+ ThreadPool.QueueUserWorkItem(this.CreatePreview, query);\r
+ }\r
+\r
+ /// <summary>\r
+ /// Encode and Play with QT\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void PlayQtClick(object sender, EventArgs e)\r
+ {\r
+ playWithVlc = false;\r
+ this.panel1.Visible = true;\r
+ if (this.noQt)\r
+ {\r
+ MessageBox.Show(this,\r
+ "It would appear QuickTime 7 is not installed or not accessible. Please (re)install QuickTime.",\r
+ "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+ return;\r
+ }\r
+ if (this.mainWindow.text_destination.Text.Contains(".mkv"))\r
+ {\r
+ MessageBox.Show(this,\r
+ "The QuickTime Control does not support MKV files, It is recommended you use the VLC option instead.",\r
+ "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+ }\r
+ else\r
+ {\r
+ ProgressBarStatus.Visible = true;\r
+ ProgressBarStatus.Value = 0;\r
+ lbl_encodeStatus.Visible = true;\r
+ try\r
+ {\r
+ QTControl.URL = string.Empty;\r
+ if (File.Exists(this.currentlyPlaying))\r
+ File.Delete(this.currentlyPlaying);\r
+ }\r
+ catch (Exception)\r
+ {\r
+ MessageBox.Show(this,\r
+ "Unable to delete previous preview file. You may need to restart the application.",\r
+ "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+ }\r
+\r
+ btn_playQT.Enabled = false;\r
+ btn_playVLC.Enabled = false;\r
+ this.Text += " (Encoding)";\r
+ int duration;\r
+ int.TryParse(cb_duration.Text, out duration);\r
+ string query = QueryGenerator.GeneratePreviewQuery(this.mainWindow, duration, cb_preview.Text);\r
+\r
+ ThreadPool.QueueUserWorkItem(this.CreatePreview, query);\r