summaryrefslogtreecommitdiffstats
path: root/win/CS/frmPreview.cs
diff options
context:
space:
mode:
authorsr55 <[email protected]>2011-03-27 13:52:36 +0000
committersr55 <[email protected]>2011-03-27 13:52:36 +0000
commitcb05e46863daec1a73f6b53bc6092d16e40c98a6 (patch)
tree65d748c52d7cbc301ac2076eea556bc1d6fb079e /win/CS/frmPreview.cs
parent3dbaa1fabfb4b98b46a2d0eed6a426c06bd59b98 (diff)
WinGui:
- Remove built-in quicktime based video preview support. - Resigned the Preview window as a result. Currently only supports VLC launching, but will later add an option to use the systems default player for the format produced. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3882 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win/CS/frmPreview.cs')
-rw-r--r--win/CS/frmPreview.cs249
1 files changed, 41 insertions, 208 deletions
diff --git a/win/CS/frmPreview.cs b/win/CS/frmPreview.cs
index 10bd1cf4c..96404e6f2 100644
--- a/win/CS/frmPreview.cs
+++ b/win/CS/frmPreview.cs
@@ -8,9 +8,7 @@ namespace Handbrake
using System;
using System.Diagnostics;
using System.IO;
- using System.Runtime.InteropServices;
using System.Threading;
- using System.Windows;
using System.Windows.Forms;
using Functions;
@@ -18,9 +16,6 @@ namespace Handbrake
using HandBrake.ApplicationServices.Services;
using HandBrake.ApplicationServices.Services.Interfaces;
- using QTOControlLib;
- using QTOLibrary;
-
using MessageBox = System.Windows.Forms.MessageBox;
/// <summary>
@@ -36,11 +31,6 @@ namespace Handbrake
private readonly frmMain mainWindow;
/// <summary>
- /// True if QT is not installed
- /// </summary>
- private readonly bool noQt;
-
- /// <summary>
/// The encode queue
/// </summary>
private readonly IEncode encodeQueue = new Encode();
@@ -51,14 +41,15 @@ namespace Handbrake
private string currentlyPlaying = string.Empty;
/// <summary>
- /// Play With VLC tracker
- /// </summary>
- private bool playWithVlc;
-
- /// <summary>
- /// A Thread for the video player
+ /// Update UI Delegate
/// </summary>
- private Thread player;
+ /// <param name="sender">
+ /// The sender.
+ /// </param>
+ /// <param name="e">
+ /// The e.
+ /// </param>
+ private delegate void UpdateUiHandler(object sender, EventArgs e);
#endregion
@@ -70,57 +61,24 @@ namespace Handbrake
/// </param>
public frmPreview(frmMain mw)
{
- try
- {
- InitializeComponent();
- }
- catch (Exception)
- {
- this.noQt = true;
-
- int borderWidth = (this.Width - this.ClientSize.Width) / 2;
- int titlebarAndBorder = this.Height - this.ClientSize.Height;
-
- this.Height = toolBar.Height + titlebarAndBorder + 1;
- btn_playQT.Enabled = false;
- btn_playQT.Visible = false;
- }
-
+ InitializeComponent();
this.mainWindow = mw;
- cb_preview.SelectedIndex = 0;
- cb_duration.SelectedIndex = 1;
+ startPoint.SelectedIndex = 0;
+ endPoint.SelectedIndex = 1;
- cb_preview.Items.Clear();
+ startPoint.Items.Clear();
for (int i = 1; i <= Properties.Settings.Default.previewScanCount; i++)
{
- cb_preview.Items.Add(i.ToString());
+ startPoint.Items.Add(i.ToString());
}
- cb_preview.SelectedIndex = 0;
+ startPoint.SelectedIndex = 0;
encodeQueue.EncodeStarted += this.EncodeQueueEncodeStarted;
encodeQueue.EncodeCompleted += this.EncodeQueueEncodeEnded;
}
- #region Delegates
- /// <summary>
- /// Update UI Delegate
- /// </summary>
- /// <param name="sender">
- /// The sender.
- /// </param>
- /// <param name="e">
- /// The e.
- /// </param>
- private delegate void UpdateUiHandler(object sender, EventArgs e);
-
- /// <summary>
- /// The Open Movie Handler
- /// </summary>
- private delegate void OpenMovieHandler();
- #endregion
-
#region Event Handlers
/// <summary>
/// The encode has started
@@ -157,14 +115,10 @@ namespace Handbrake
return;
}
- ProgressBarStatus.Visible = false;
- lbl_encodeStatus.Visible = false;
-
- if (!this.noQt)
- btn_playQT.Enabled = true;
- btn_playVLC.Enabled = true;
-
+ btn_play.Enabled = true;
this.Text = this.Text.Replace(" (Encoding)", string.Empty);
+ progressBar.Value = 0;
+ lbl_progress.Text = "0.00%";
// Get the sample filename
if (this.mainWindow.text_destination.Text != string.Empty)
@@ -172,11 +126,7 @@ namespace Handbrake
this.mainWindow.text_destination.Text.Replace(".mp4", "_sample.mp4").Replace(".m4v", "_sample.m4v").
Replace(".mkv", "_sample.mkv");
- // Play back in QT or VLC
- if (!playWithVlc)
- Play();
- else
- PlayVlc();
+ this.Play();
}
catch (Exception exc)
{
@@ -201,109 +151,14 @@ namespace Handbrake
return;
}
- lbl_encodeStatus.Text = e.PercentComplete + "%";
- ProgressBarStatus.Value = (int)Math.Round(e.PercentComplete);
+ lbl_progress.Text = e.PercentComplete + "%";
+ progressBar.Value = (int)Math.Round(e.PercentComplete);
}
#endregion
#region Encode Sample
/// <summary>
- /// Play with VLC
- /// </summary>
- /// <param name="sender">
- /// The sender.
- /// </param>
- /// <param name="e">
- /// The e.
- /// </param>
- private void PlayVlcClick(object sender, EventArgs e)
- {
- ProgressBarStatus.Visible = true;
- ProgressBarStatus.Value = 0;
- lbl_encodeStatus.Visible = true;
- playWithVlc = true;
- this.panel1.Visible = false;
-
- try
- {
- if (!this.noQt)
- QTControl.URL = string.Empty;
-
- if (File.Exists(this.currentlyPlaying))
- File.Delete(this.currentlyPlaying);
- }
- catch (Exception)
- {
- MessageBox.Show(this, "Unable to delete previous preview file. You may need to restart the application.",
- "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
-
- btn_playQT.Enabled = false;
- btn_playVLC.Enabled = false;
- this.Text += " (Encoding)";
- int duration;
- int.TryParse(cb_duration.Text, out duration);
- string query = QueryGenerator.GeneratePreviewQuery(this.mainWindow, duration, cb_preview.Text);
- ThreadPool.QueueUserWorkItem(this.CreatePreview, query);
- }
-
- /// <summary>
- /// Encode and Play with QT
- /// </summary>
- /// <param name="sender">
- /// The sender.
- /// </param>
- /// <param name="e">
- /// The e.
- /// </param>
- private void PlayQtClick(object sender, EventArgs e)
- {
- playWithVlc = false;
- this.panel1.Visible = true;
- if (this.noQt)
- {
- MessageBox.Show(this,
- "It would appear QuickTime 7 is not installed or not accessible. Please (re)install QuickTime.",
- "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- if (this.mainWindow.text_destination.Text.Contains(".mkv"))
- {
- MessageBox.Show(this,
- "The QuickTime Control does not support MKV files, It is recommended you use the VLC option instead.",
- "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- else
- {
- ProgressBarStatus.Visible = true;
- ProgressBarStatus.Value = 0;
- lbl_encodeStatus.Visible = true;
- try
- {
- QTControl.URL = string.Empty;
- if (File.Exists(this.currentlyPlaying))
- File.Delete(this.currentlyPlaying);
- }
- catch (Exception)
- {
- MessageBox.Show(this,
- "Unable to delete previous preview file. You may need to restart the application.",
- "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
-
- btn_playQT.Enabled = false;
- btn_playVLC.Enabled = false;
- this.Text += " (Encoding)";
- int duration;
- int.TryParse(cb_duration.Text, out duration);
- string query = QueryGenerator.GeneratePreviewQuery(this.mainWindow, duration, cb_preview.Text);
-
- ThreadPool.QueueUserWorkItem(this.CreatePreview, query);
- }
- }
-
- /// <summary>
/// Create the Preview.
/// </summary>
/// <param name="state">
@@ -332,19 +187,32 @@ namespace Handbrake
#region Playback
- /// <summary>
- /// Play the video back in the QuickTime control
- /// </summary>
- private void Play()
+ private void btn_play_Click(object sender, EventArgs e)
{
- this.player = new Thread(OpenMovie) { IsBackground = true };
- this.player.Start();
+ try
+ {
+ btn_play.Enabled = false;
+ if (File.Exists(this.currentlyPlaying))
+ File.Delete(this.currentlyPlaying);
+ }
+ catch (Exception)
+ {
+ btn_play.Enabled = true;
+ MessageBox.Show(this, "Unable to delete previous preview file. You may need to restart the application.",
+ "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+
+ this.Text += " (Encoding)";
+ int duration;
+ int.TryParse(endPoint.Text, out duration);
+ string query = QueryGenerator.GeneratePreviewQuery(this.mainWindow, duration, startPoint.Text);
+ ThreadPool.QueueUserWorkItem(this.CreatePreview, query);
}
/// <summary>
/// Play the video back in an external VLC Player
/// </summary>
- private void PlayVlc()
+ private void Play()
{
// Launch VLC and Play video.
if (this.currentlyPlaying != string.Empty)
@@ -360,10 +228,7 @@ namespace Handbrake
else
vlcPath = Environment.GetEnvironmentVariable("ProgramFiles");
- vlcPath = vlcPath != null
- ? vlcPath + @"\VideoLAN\VLC\vlc.exe"
- : @"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe";
-
+
if (!File.Exists(Properties.Settings.Default.VLC_Path))
{
if (File.Exists(vlcPath))
@@ -393,38 +258,6 @@ namespace Handbrake
}
}
- /// <summary>
- /// QT control - Open the file
- /// </summary>
- [STAThread]
- private void OpenMovie()
- {
- try
- {
- if (InvokeRequired)
- {
- BeginInvoke(new OpenMovieHandler(OpenMovie));
- return;
- }
- QTControl.URL = this.currentlyPlaying;
- QTControl.SetSizing(QTSizingModeEnum.qtControlFitsMovie, true);
- QTControl.URL = this.currentlyPlaying;
- QTControl.Show();
-
- this.ClientSize = QTControl.Size;
- this.Height += toolBar.Height;
- }
- catch (COMException ex)
- {
- QTUtils qtu = new QTUtils();
- Main.ShowExceptiowWindow("Unable to open movie.", ex + Environment.NewLine + qtu.QTErrorFromErrorCode(ex.ErrorCode));
- }
- catch (Exception ex)
- {
- Main.ShowExceptiowWindow("Unable to open movie.", ex.ToString());
- }
- }
-
#endregion
/// <summary>