OSDN Git Service

WinGui:
authorsr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 19 Feb 2009 18:30:32 +0000 (18:30 +0000)
committersr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 19 Feb 2009 18:30:32 +0000 (18:30 +0000)
- Re-add all the x264 tooltips.
- Combines the 2 Preview windows for VLC and QT into one.

git-svn-id: svn://localhost/HandBrake/trunk@2167 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/C#/HandBrakeCS.csproj
win/C#/frmGenPreview.Designer.cs [deleted file]
win/C#/frmGenPreview.cs [deleted file]
win/C#/frmGenPreview.resx [deleted file]
win/C#/frmMain.Designer.cs
win/C#/frmMain.cs
win/C#/frmMain.resx
win/C#/frmPreview.Designer.cs
win/C#/frmPreview.cs

index 1137a89..7ddbeb8 100644 (file)
     <Compile Include="frmDownload.Designer.cs">\r
       <DependentUpon>frmDownload.cs</DependentUpon>\r
     </Compile>\r
-    <Compile Include="frmGenPreview.cs">\r
-      <SubType>Form</SubType>\r
-    </Compile>\r
-    <Compile Include="frmGenPreview.Designer.cs">\r
-      <DependentUpon>frmGenPreview.cs</DependentUpon>\r
-    </Compile>\r
     <Compile Include="frmMain.cs">\r
       <SubType>Form</SubType>\r
     </Compile>\r
       <SubType>Designer</SubType>\r
       <DependentUpon>frmDownload.cs</DependentUpon>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="frmGenPreview.resx">\r
-      <DependentUpon>frmGenPreview.cs</DependentUpon>\r
-      <SubType>Designer</SubType>\r
-    </EmbeddedResource>\r
     <EmbeddedResource Include="frmMain.resx">\r
       <SubType>Designer</SubType>\r
       <DependentUpon>frmMain.cs</DependentUpon>\r
diff --git a/win/C#/frmGenPreview.Designer.cs b/win/C#/frmGenPreview.Designer.cs
deleted file mode 100644 (file)
index 4aeca12..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-namespace Handbrake\r
-{\r
-    partial class frmGenPreview\r
-    {\r
-        /// <summary>\r
-        /// Required designer variable.\r
-        /// </summary>\r
-        private System.ComponentModel.IContainer components = null;\r
-\r
-        /// <summary>\r
-        /// Clean up any resources being used.\r
-        /// </summary>\r
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>\r
-        protected override void Dispose(bool disposing)\r
-        {\r
-            if (disposing && (components != null))\r
-            {\r
-                components.Dispose();\r
-            }\r
-            base.Dispose(disposing);\r
-        }\r
-\r
-        #region Windows Form Designer generated code\r
-\r
-        /// <summary>\r
-        /// Required method for Designer support - do not modify\r
-        /// the contents of this method with the code editor.\r
-        /// </summary>\r
-        private void InitializeComponent()\r
-        {\r
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmGenPreview));\r
-            this.toolBar = new System.Windows.Forms.ToolStrip();\r
-            this.btn_encode = new System.Windows.Forms.ToolStripButton();\r
-            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();\r
-            this.btn_play = new System.Windows.Forms.ToolStripButton();\r
-            this.label1 = new System.Windows.Forms.Label();\r
-            this.lbl_status = new System.Windows.Forms.Label();\r
-            this.cb_duration = new System.Windows.Forms.ComboBox();\r
-            this.label2 = new System.Windows.Forms.Label();\r
-            this.label3 = new System.Windows.Forms.Label();\r
-            this.cb_preview = new System.Windows.Forms.ComboBox();\r
-            this.toolBar.SuspendLayout();\r
-            this.SuspendLayout();\r
-            // \r
-            // toolBar\r
-            // \r
-            this.toolBar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;\r
-            this.toolBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
-            this.btn_encode,\r
-            this.toolStripSeparator1,\r
-            this.btn_play});\r
-            this.toolBar.Location = new System.Drawing.Point(0, 0);\r
-            this.toolBar.Name = "toolBar";\r
-            this.toolBar.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;\r
-            this.toolBar.Size = new System.Drawing.Size(377, 39);\r
-            this.toolBar.TabIndex = 38;\r
-            this.toolBar.Text = "toolStrip1";\r
-            // \r
-            // btn_encode\r
-            // \r
-            this.btn_encode.Image = global::Handbrake.Properties.Resources.picture;\r
-            this.btn_encode.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
-            this.btn_encode.ImageTransparentColor = System.Drawing.Color.Magenta;\r
-            this.btn_encode.Name = "btn_encode";\r
-            this.btn_encode.Size = new System.Drawing.Size(115, 36);\r
-            this.btn_encode.Text = "Encode Sample";\r
-            this.btn_encode.Click += new System.EventHandler(this.btn_encode_Click);\r
-            // \r
-            // toolStripSeparator1\r
-            // \r
-            this.toolStripSeparator1.Name = "toolStripSeparator1";\r
-            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 39);\r
-            this.toolStripSeparator1.Visible = false;\r
-            // \r
-            // btn_play\r
-            // \r
-            this.btn_play.Image = global::Handbrake.Properties.Resources.Play;\r
-            this.btn_play.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
-            this.btn_play.ImageTransparentColor = System.Drawing.Color.Magenta;\r
-            this.btn_play.Name = "btn_play";\r
-            this.btn_play.Size = new System.Drawing.Size(63, 36);\r
-            this.btn_play.Text = "Play";\r
-            this.btn_play.Visible = false;\r
-            this.btn_play.Click += new System.EventHandler(this.btn_play_Click);\r
-            // \r
-            // label1\r
-            // \r
-            this.label1.AutoSize = true;\r
-            this.label1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label1.Location = new System.Drawing.Point(12, 79);\r
-            this.label1.Name = "label1";\r
-            this.label1.Size = new System.Drawing.Size(47, 13);\r
-            this.label1.TabIndex = 39;\r
-            this.label1.Text = "Status:";\r
-            // \r
-            // lbl_status\r
-            // \r
-            this.lbl_status.AutoSize = true;\r
-            this.lbl_status.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_status.Location = new System.Drawing.Point(117, 79);\r
-            this.lbl_status.Name = "lbl_status";\r
-            this.lbl_status.Size = new System.Drawing.Size(111, 13);\r
-            this.lbl_status.TabIndex = 40;\r
-            this.lbl_status.Text = "Click \"Encode Sample\"";\r
-            // \r
-            // cb_duration\r
-            // \r
-            this.cb_duration.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
-            this.cb_duration.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.cb_duration.FormattingEnabled = true;\r
-            this.cb_duration.Items.AddRange(new object[] {\r
-            "5",\r
-            "10",\r
-            "15",\r
-            "20",\r
-            "25",\r
-            "30",\r
-            "35",\r
-            "40",\r
-            "45",\r
-            "50",\r
-            "55",\r
-            "60"});\r
-            this.cb_duration.Location = new System.Drawing.Point(304, 47);\r
-            this.cb_duration.MaxLength = 2;\r
-            this.cb_duration.Name = "cb_duration";\r
-            this.cb_duration.Size = new System.Drawing.Size(46, 21);\r
-            this.cb_duration.TabIndex = 41;\r
-            // \r
-            // label2\r
-            // \r
-            this.label2.AutoSize = true;\r
-            this.label2.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label2.Location = new System.Drawing.Point(180, 50);\r
-            this.label2.Name = "label2";\r
-            this.label2.Size = new System.Drawing.Size(118, 13);\r
-            this.label2.TabIndex = 42;\r
-            this.label2.Text = "Duration (seconds):";\r
-            this.label2.TextAlign = System.Drawing.ContentAlignment.TopCenter;\r
-            // \r
-            // label3\r
-            // \r
-            this.label3.AutoSize = true;\r
-            this.label3.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label3.Location = new System.Drawing.Point(12, 50);\r
-            this.label3.Name = "label3";\r
-            this.label3.Size = new System.Drawing.Size(102, 13);\r
-            this.label3.TabIndex = 44;\r
-            this.label3.Text = "Start at preview:";\r
-            this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;\r
-            // \r
-            // cb_preview\r
-            // \r
-            this.cb_preview.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
-            this.cb_preview.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.cb_preview.FormattingEnabled = true;\r
-            this.cb_preview.Items.AddRange(new object[] {\r
-            "1",\r
-            "2",\r
-            "3",\r
-            "4",\r
-            "5",\r
-            "6",\r
-            "7",\r
-            "8",\r
-            "9",\r
-            "10"});\r
-            this.cb_preview.Location = new System.Drawing.Point(120, 47);\r
-            this.cb_preview.MaxLength = 2;\r
-            this.cb_preview.Name = "cb_preview";\r
-            this.cb_preview.Size = new System.Drawing.Size(46, 21);\r
-            this.cb_preview.TabIndex = 43;\r
-            // \r
-            // frmGenPreview\r
-            // \r
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
-            this.ClientSize = new System.Drawing.Size(377, 104);\r
-            this.Controls.Add(this.label3);\r
-            this.Controls.Add(this.cb_preview);\r
-            this.Controls.Add(this.label2);\r
-            this.Controls.Add(this.cb_duration);\r
-            this.Controls.Add(this.lbl_status);\r
-            this.Controls.Add(this.label1);\r
-            this.Controls.Add(this.toolBar);\r
-            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));\r
-            this.Name = "frmGenPreview";\r
-            this.Text = "Live Preview";\r
-            this.toolBar.ResumeLayout(false);\r
-            this.toolBar.PerformLayout();\r
-            this.ResumeLayout(false);\r
-            this.PerformLayout();\r
-\r
-        }\r
-\r
-        #endregion\r
-\r
-        private System.Windows.Forms.ToolStrip toolBar;\r
-        private System.Windows.Forms.ToolStripButton btn_encode;\r
-        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;\r
-        private System.Windows.Forms.ToolStripButton btn_play;\r
-        private System.Windows.Forms.Label label1;\r
-        private System.Windows.Forms.Label lbl_status;\r
-        private System.Windows.Forms.Label label2;\r
-        private System.Windows.Forms.ComboBox cb_duration;\r
-        private System.Windows.Forms.Label label3;\r
-        private System.Windows.Forms.ComboBox cb_preview;\r
-    }\r
-}
\ No newline at end of file
diff --git a/win/C#/frmGenPreview.cs b/win/C#/frmGenPreview.cs
deleted file mode 100644 (file)
index 29a6213..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-using System;\r
-using System.Windows.Forms;\r
-using System.Threading;\r
-using System.Diagnostics;\r
-using System.IO;\r
-\r
-namespace Handbrake\r
-{\r
-    public partial class frmGenPreview : Form\r
-    {\r
-        private delegate void UpdateHandler();\r
-        QueryGenerator queryGen = new QueryGenerator();\r
-        Functions.Encode process = new Functions.Encode();\r
-        Process hbProc;\r
-        frmMain mainWindow;\r
-\r
-        public frmGenPreview(frmMain mw)\r
-        {\r
-            InitializeComponent();\r
-            this.mainWindow = mw;\r
-            cb_duration.SelectedIndex = 0;\r
-            cb_preview.SelectedIndex = 0;\r
-        }\r
-\r
-        private void btn_play_Click(object sender, EventArgs e)\r
-        {\r
-            // Get the Destination of the sample video.\r
-             String currently_playing = "";\r
-            if (mainWindow.text_destination.Text != "")\r
-                currently_playing = mainWindow.text_destination.Text.Replace(".m", "_sample.m").Replace(".avi", "_sample.avi").Replace(".ogm", "_sample.ogm");\r
-\r
-            // Launch VLC and play video.\r
-            if (currently_playing != "")\r
-            {\r
-                if (File.Exists(currently_playing))\r
-                {\r
-                    if (File.Exists(Properties.Settings.Default.VLC_Path))\r
-                    {\r
-                        String args = "\"" + currently_playing + "\"";\r
-                        ProcessStartInfo vlc = new ProcessStartInfo(Properties.Settings.Default.VLC_Path, args);\r
-                        Process.Start(vlc);\r
-                        lbl_status.Text = "VLC will now launch.";\r
-                    }\r
-                    else\r
-                        MessageBox.Show("Unable to detect VLC Player. \nPlease make sure VLC is installed and the directory specified in the program options is correct.", "VLC", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
-                } else\r
-                    MessageBox.Show("Unable to find the preview file. Either the file was deleted or the encode failed. Check the activity log for details.", "VLC", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
-            }\r
-        }\r
-\r
-        private void btn_encode_Click(object sender, EventArgs e)\r
-        {\r
-            String query = queryGen.GeneratePreviewQuery(mainWindow, cb_duration.Text, cb_preview.Text);\r
-            ThreadPool.QueueUserWorkItem(procMonitor, query);\r
-        }\r
-        private void procMonitor(object state)\r
-        {\r
-            // Make sure we are not already encoding and if we are then display an error.\r
-            if (hbProc != null)\r
-                MessageBox.Show("Handbrake is already encoding a video!", "Status", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
-            else\r
-            {\r
-                encodingMessage();\r
-                hbProc = process.runCli(this, (string)state);\r
-                hbProc.WaitForExit();\r
-                hbProc = null;\r
-                updateUIElements();\r
-            }\r
-        }\r
-        // Update the UI now that the encode has finished.\r
-        private void encodingMessage()\r
-        {\r
-            try\r
-            {\r
-                if (InvokeRequired)\r
-                {\r
-                    BeginInvoke(new UpdateHandler(encodingMessage));\r
-                    return;\r
-                }\r
-                lbl_status.Text = "Encoding, Please wait ...";\r
-            }\r
-            catch (Exception exc)\r
-            {\r
-                MessageBox.Show(exc.ToString());\r
-            }\r
-        }\r
-\r
-        // Update the UI now that the encode has finished.\r
-        private void updateUIElements()\r
-        {\r
-            try\r
-            {\r
-                if (InvokeRequired)\r
-                {\r
-                    BeginInvoke(new UpdateHandler(updateUIElements));\r
-                    return;\r
-                }\r
-\r
-                btn_play.Visible = true;\r
-                toolStripSeparator1.Visible = true;\r
-                lbl_status.Text = "Your sample is ready to play.";\r
-            }\r
-            catch (Exception exc)\r
-            {\r
-                MessageBox.Show(exc.ToString());\r
-            }\r
-        }\r
-\r
-\r
-    }\r
-}\r
diff --git a/win/C#/frmGenPreview.resx b/win/C#/frmGenPreview.resx
deleted file mode 100644 (file)
index b5b3bab..0000000
+++ /dev/null
@@ -1,503 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<root>\r
-  <!-- \r
-    Microsoft ResX Schema \r
-    \r
-    Version 2.0\r
-    \r
-    The primary goals of this format is to allow a simple XML format \r
-    that is mostly human readable. The generation and parsing of the \r
-    various data types are done through the TypeConverter classes \r
-    associated with the data types.\r
-    \r
-    Example:\r
-    \r
-    ... ado.net/XML headers & schema ...\r
-    <resheader name="resmimetype">text/microsoft-resx</resheader>\r
-    <resheader name="version">2.0</resheader>\r
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>\r
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>\r
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">\r
-        <value>[base64 mime encoded serialized .NET Framework object]</value>\r
-    </data>\r
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r
-        <comment>This is a comment</comment>\r
-    </data>\r
-                \r
-    There are any number of "resheader" rows that contain simple \r
-    name/value pairs.\r
-    \r
-    Each data row contains a name, and value. The row also contains a \r
-    type or mimetype. Type corresponds to a .NET class that support \r
-    text/value conversion through the TypeConverter architecture. \r
-    Classes that don't support this are serialized and stored with the \r
-    mimetype set.\r
-    \r
-    The mimetype is used for serialized objects, and tells the \r
-    ResXResourceReader how to depersist the object. This is currently not \r
-    extensible. For a given mimetype the value must be set accordingly:\r
-    \r
-    Note - application/x-microsoft.net.object.binary.base64 is the format \r
-    that the ResXResourceWriter will generate, however the reader can \r
-    read any of the formats listed below.\r
-    \r
-    mimetype: application/x-microsoft.net.object.binary.base64\r
-    value   : The object must be serialized with \r
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r
-            : and then encoded with base64 encoding.\r
-    \r
-    mimetype: application/x-microsoft.net.object.soap.base64\r
-    value   : The object must be serialized with \r
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r
-            : and then encoded with base64 encoding.\r
-\r
-    mimetype: application/x-microsoft.net.object.bytearray.base64\r
-    value   : The object must be serialized into a byte array \r
-            : using a System.ComponentModel.TypeConverter\r
-            : and then encoded with base64 encoding.\r
-    -->\r
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">\r
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />\r
-    <xsd:element name="root" msdata:IsDataSet="true">\r
-      <xsd:complexType>\r
-        <xsd:choice maxOccurs="unbounded">\r
-          <xsd:element name="metadata">\r
-            <xsd:complexType>\r
-              <xsd:sequence>\r
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />\r
-              </xsd:sequence>\r
-              <xsd:attribute name="name" use="required" type="xsd:string" />\r
-              <xsd:attribute name="type" type="xsd:string" />\r
-              <xsd:attribute name="mimetype" type="xsd:string" />\r
-              <xsd:attribute ref="xml:space" />\r
-            </xsd:complexType>\r
-          </xsd:element>\r
-          <xsd:element name="assembly">\r
-            <xsd:complexType>\r
-              <xsd:attribute name="alias" type="xsd:string" />\r
-              <xsd:attribute name="name" type="xsd:string" />\r
-            </xsd:complexType>\r
-          </xsd:element>\r
-          <xsd:element name="data">\r
-            <xsd:complexType>\r
-              <xsd:sequence>\r
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />\r
-              </xsd:sequence>\r
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />\r
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />\r
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />\r
-              <xsd:attribute ref="xml:space" />\r
-            </xsd:complexType>\r
-          </xsd:element>\r
-          <xsd:element name="resheader">\r
-            <xsd:complexType>\r
-              <xsd:sequence>\r
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
-              </xsd:sequence>\r
-              <xsd:attribute name="name" type="xsd:string" use="required" />\r
-            </xsd:complexType>\r
-          </xsd:element>\r
-        </xsd:choice>\r
-      </xsd:complexType>\r
-    </xsd:element>\r
-  </xsd:schema>\r
-  <resheader name="resmimetype">\r
-    <value>text/microsoft-resx</value>\r
-  </resheader>\r
-  <resheader name="version">\r
-    <value>2.0</value>\r
-  </resheader>\r
-  <resheader name="reader">\r
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
-  </resheader>\r
-  <resheader name="writer">\r
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
-  </resheader>\r
-  <metadata name="toolBar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
-    <value>17, 17</value>\r
-  </metadata>\r
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />\r
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
-    <value>\r
-        AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA\r
-        IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA\r
-        AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAD///8A/wAAAAD/AAAAAIAAgICAAICAAAAAgAAAAICAAIAA\r
-        AACAAIAAgP//ACAgIADg4OAAIAAAAAAgAABg4CAAQOBAAGBgYAAgYAAAQKDgAAAAIABAwCAAIEAAAECg\r
-        AABg4AAAIGCAAECAoABgoMAAYECgAGDAAABgICAAoKCgAOAAAAAgIAAAAGAAAEDgAABgAAAAIAAgAEAg\r
-        IAAgQGAAIIDAAADg4ABgAGAAgOD/ACCA/wCgAAAAQGAAACCAAAAAoAAAYCAAAAAgIAAgIEAAYGBAAEBg\r
-        YAAAIIAAAGCAAGCAgABAAKAAAICgAACgoACAoKAAIKDAAECgwAAAAOAAQADgAADA4ABgwOAAIODgAADg\r
-        AADA4AAAAEAgAKDgIAAA4EAAYABAAABAYACAAGAAgCBgAGAggABA4KAAAECgAGBAwADgIOAAIEDgAACA\r
-        4ADgoOAAYAD/ACBg/wAAoP8A4KD/AGD//wAICAgACAAAAAgIAAAAAJgACAAIAAAACAAACAAACBAQACA4\r
-        SAAgYIgAOHCIADhw+AAIGAAAEBAIACg4QAAwYHgAAACIACA4QAAoQFAAKFh4AHh4eAAwaIAAIGiQADh4\r
-        mAAACAgAEAgIABAYGAAgGBgASEhIABhIYAAoUGAAIFBoAChQaAAoWGgAMFhoAChoiAAweJgAKHioACiA\r
-        sAAIEAAACAgQAAgQGAAQGCAAGCAoABhAUAAoSFgAaGhoABhQcAAgWHAAKFhwADhgcAAYWIAAOGiAAIiI\r
-        iAAoaJAAKHCYACh4oAA4gKAAMICoAKioqAAwmNAAEDgAAChYAAAweAAAMIgQAAgYGAAYGBgACBggABAg\r
-        KAAgKCgAKCgoACAwOAA4ODgAKDhIADBQWABYWFgAGEhoADBYcAAYUHgAGFh4ACBYeAAoYHgAKGCAABhY\r
-        iAAgaJgAKICoACiIuAC4uLgAMJDIADiw6AAQCAAAABgAAAggAAAAOAAAMGgAABgQCAAwgAgAEAgQABgQ\r
-        EAAwmBgAGBggAAgYKAAAICgACCAoABgoMAAgKDAAGDBAABg4QAAYOFAAEEBYACBIWAAwSFgAOEhYACBI\r
-        YAAQSGgAOFhoABhIcAAoUHAAQFhwACBgeABAaIAAIGiIADBwiABAcIgAGGCQADhwkABYeJAACBCgAChw\r
-        oAAweKAAKIC4ACiQwAAwmMgAOKjgADBg6ABAsOgAELD4AAgoAAAIMAAAGDAAABhIAAAYUAAAKHgAAACY\r
-        AAAwmAAAAMgAABAACAAIEAgAEBgIABA4CAAYOAgAMHgIABAYEAAYGBAAIBgQACh4EAAwmBAAEBAYABgg\r
-        GAAoIBgAGCAgAAgIKAAgICgAGAgwAAggMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r
-        AAAAAAAAAAAAAAAAAAAAAAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r
-        AAAAAAAAAAAAAAAAAAAAAAAAn2KfdXV1XAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoo2+QIJCJb28Sd3em\r
-        nQAAAFuKqW0aqsd6Y5/DXAAAAAAAAAAAAAAAAAAAAAAAAAB3kAWQkG8SpqaJb28gsncAbIeSroyii21x\r
-        kczIwwAAAAAAAAAAAAAAAAAAAAAAAABoo4mJkLKylm9vb5BvdwwAcZO/fox7z2NjqsOss2MAWwAAAAAA\r
-        AAAAAAAAAAAAAAAAvaGmo5ANlgUFEiBvo1xjq3p6qMTJroBkxXt9cGzFnAAAAAAAAAAAAAAAAAAAAAAA\r
-        AAAAAL2ylgV3vQAAAGOvxMXXq41uh6yVjxqp1YhknwAAAAAAAAAAAAAAAAAAAAAAAAAAAABvsolbAAAA\r
-        +5KneouS2Kx4pZF9ndywsXuvkocAAAAAAAAAAAAAAAAAAAAAAAAAAAB3sncAAAAAdayHca95bH9+cKmv\r
-        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\r
-        eAAoaIgAMICoAChggAAACAgAEAgIABgYGAAoUGgAKFhwAChwkAAIGAgACBAQABAgKAAQKDgAIEhgACBQ\r
-        aAAAAHgAIFh4AChgeAAAeHgAeHh4AChogAAwaIAAIGCIADBoiAA4cIgAIGiQADhwkAAoeKgAKICwAAgQ\r
-        AAAIIAAACAAIABhICAAICBAAMIgQABAYGAAYICgAGCgwAEhISAAwSFgAGFBoAChYaAAICHgAOGiAACh4\r
-        oAAweKAAGAAAAAAIAAAAGAAACBgAABAoAAAYUAAAKGAAAChoAAAAeAAAAAAIAAgQCAAQEAgAGP8IACAY\r
-        EAAIEBgAMJAYABggIAAAACgACBAoACgwMAAAKDgAEDA4ADg4OAAoOEAAGDhIACA4SAAAQEgAMEBIAEhQ\r
-        UAAISFgAIEhYAChIWAAwUFgAIEhoAEhYaAAYUHAAMFhwABhYeAAoWHgAIFiAAEhwgACIiIgAGGCQAAAA\r
-        mAAgcJgAKHCYADB4mACYmJgAACjIAEBw+ACo//8ASAAAAFgAAABoAAAAeAAAABAIAABICAAAGCgAAAA4\r
-        AAAYOAAACEAAAAhIAAAoUAAAAFgAACBYAAAAaAAAIGgAADB4AAAAiAAAMIgAAGiIAACAmAAAGAAIADAI\r
-        CABgCAgAEBgIAAggCAAQIAgAECgIAAgwCAAQMAgAODAIABA4CAAYOAgAEEAIABhACAAgQAgAIFAIAChg\r
-        CAAwgAgAMJAIADCoCAAACBAAGBAQABggEAAoIBAAKGAQAChoEAAgeBAAKHgQAEh4EAAY+BAACAAYAAAI\r
-        GAAICBgAEAgYAAAQGAAQEBgAABgYAAgYGAAYMBgAKHgYADCYGAAwoBgAMKgYAGj/GABgCCAACBAgAAgY\r
-        IAAQGCAAGBggACggIABIcCAACAAoABAAKAAAECgAEBAoAAggKAAACDAASAgwAAgQMAAIKDAAECgwAAAA\r
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r
-        AAAAAAAAAAAARxBSUlJHAAAAAABYWFlY8kYAAAAAAAAAAAAAAAAAAJFgqqRLSzAwBXMAkKJbW1pdSVmE\r
-        AAAAAAAAAAAAAAAAEJdLqhpgYKQFkf9NmVRanHVJVZRQAAAAAAAAAAAAAAAAUY6RO6qXMHNYW5MxdFpm\r
-        TVtPSpAAAAAAAAAAAAAAAAAAAAAFpIYAAFSeW09PU15KU05MaEkAAAAAAAAAAAAAAAAAAEtgAAAAk55j\r
-        ml5Mp2haXUqpW3IAAAAAAAAAAAAAAAAAS0sAAEpJoE5PpZpMZVWnMZyZVQAAAAAAAAAAAAAAAABLMAAA\r
-        cqCeSnppZGZKWzFNaV2ecAAAAAAAAAAAAAAAAEtLAACLVF6iZHROp2eiW1paeWnxAAAAAAAAAAAAAABI\r
-        GmAAAElJSmh6SWNVSk5hZqJ1VXUAAAAAAAAAAAAAlpmjeJAAk12eZXZ5p3WndnZpaUlbZgAAAAAAAAAA\r
-        m2lFRTw8PDZeWV1OlE0xeWlNeVVdZmmZUAAAAAAAjzYKRaysRUVFRa02SXSnYaFNTUxpTFSoTmKTAAAA\r
-        AI8KOkSrrKysrKxErDullF6fVWhiVakLaVWbVZoAAAAAqK2sRKZEqyCsRKummKBZT0xPTHppZVMLqVN4\r
-        cQAAAAA6O6sYGKYYGKsYphgELjejY09KTTZNaWdMNpkAAAAA+zc6XFxcd3d3XASmXEw6PZZiZ6g2ZUw2\r
-        T2QLnwAAAAAdoTtcLcV3pndfLi2jraMtcmNkT05np0xnaXhUAAAAAAD5NKL87xgYd1+eLZ06+1wAVE6o\r
-        p2cKZ2WjjgAAAAAAAAAQo67EcuZuj5jkACue9gAAkTEKeJfbioptRgAAAAAAAACIr0dLVwBXmEeL5Qg4\r
-        AAAAAOnqwNbVb9O5AAAAAAAAAP38RmDae3tfkDqIX0UAAABq3W9v6+2BtssAAAAAAAD9q6v7AFl1dV9f\r
-        mpgIXwAAAABrtG9v7O2BagAAAACSF52fL/AAAAAAAHUAAAAAAAAAAACC1NS+3s/ZzAAAAJ03MjqjdJ0A\r
-        AAC3FIMUtwAAAAAAzr27goK5awAAAAAAWaNgGho3dAAAyr+/v4ODtQAAAMmAAM+2zxMTawAAAAAAAK6z\r
-        kZ1xAAC1un3HVwAAAAAAAAAAawB/ftAAAAAAAABCNUIAAAAAAAAAAF8AAAAAAAAAAEcAAGpGAAAAAAAA\r
-        AEKsEQAAAAAAAAAAlZUAAAAAAAAAAAAAAEgAAAAAAAAAAC3hAAAAAAAAAAAAAAAAAAAAAAAAAAAARgAA\r
-        AAD///////////4BwH/8AAAf/AAAD/4AAA//xgAP/84AB//MAAf/zAAD/8wAA/+MAAP/BAAD/AAAAfAA\r
-        AAHgAAAB4AAAAeAAAAPAAAADwAAAA+AAIAfgADAD8AA8A/gAOAPwgDwDwPv+AcBwfAfAYDkD8GD/Q+P9\r
-        /s/j/P/v8///7ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////AFEl\r
-        swBJDW0ABEMwAAJHSQAFDwIAXl9ZAHJtagBwfYQAQVNqAAFtAAAAZgAAAz0CABQ/AQAXQwAAGkAAAA8g\r
-        AQAhSJQAM1SRABw6fgAFVk0ADE48AAplaQAgWgIAMYcMACl7CwAOJwMAAAMtABwPNwAhIQAABxACAA9S\r
-        UAAnQUgAAISfACRoDAAxmwQAK4MHABMpAAA8P1kATBMbACQSVwAKL1EADS5CADFMVQABIF4AJ3CGADB2\r
-        kAAzdlEAMnY1ABMnEwBARooAVVq5ABgATwAWBn0ABh56AAULaQBOeKYAT3WSACpNZwAucpgAMHifADFx\r
-        nwA1b5YAMF93AEBalgBvjecADCLAAAkPpQAbJr4AFiLGAAAJjgAzbIEANGh8AClhgAAzfKEAMHWWADJz\r
-        kwAsW3MAQ4mvADyY9AAtgf8AIpr/ACuk/wBdk9UAG0tkACladQAqbI4AK3GUAC5vjwArbpEALWJ7ACdl\r
-        aAAOaoQAJJ20ABx0gQAeTF8AJ116ACViggAgZosAJmeJAChvlAAhZIgAH1ZyAHVmYwAaPVMAJ19+ACto\r
-        hgAmaIwAKGB9ACFdfAAgY4YAGU5qAFtgYQAYQVgAIVx7ACtrjgAtZYIAJmKAACNhgQAmX3wAIUpdAHp6\r
-        ewARN0wAH1R0ACdXcgApXnoAJ2B+ACligQAdSmAAKiopAGZlZQCRkZEAbm9vAFFSUwAWO08AJFRuACFP\r
-        agAhUm0AHD9RAAMKDgA3NjUAWlpaADk5OQA3NzcAPDk3AAYSGQAVNUgAFjFAAA8jLwABAgQAVQAAAP//\r
-        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\r
-</value>\r
-  </data>\r
-</root>
\ No newline at end of file
index 75dc6f8..f1b024c 100644 (file)
@@ -37,7 +37,7 @@ namespace Handbrake
             this.components = new System.ComponentModel.Container();\r
             System.Windows.Forms.ContextMenuStrip notifyIconMenu;\r
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));\r
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();\r
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();\r
             this.btn_restore = new System.Windows.Forms.ToolStripMenuItem();\r
             this.DVD_Save = new System.Windows.Forms.SaveFileDialog();\r
             this.File_Save = new System.Windows.Forms.SaveFileDialog();\r
@@ -215,13 +215,11 @@ namespace Handbrake
             this.btn_add2Queue = new System.Windows.Forms.ToolStripButton();\r
             this.btn_showQueue = new System.Windows.Forms.ToolStripButton();\r
             this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();\r
-            this.tb_preview = new System.Windows.Forms.ToolStripDropDownButton();\r
-            this.mnu_qtpreview = new System.Windows.Forms.ToolStripMenuItem();\r
-            this.mnu_vlcpreview = new System.Windows.Forms.ToolStripMenuItem();\r
             this.btn_ActivityWindow = new System.Windows.Forms.ToolStripButton();\r
             this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);\r
             this.StatusStrip = new System.Windows.Forms.StatusStrip();\r
             this.lbl_encode = new System.Windows.Forms.ToolStripStatusLabel();\r
+            this.tb_preview = new System.Windows.Forms.ToolStripButton();\r
             notifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components);\r
             notifyIconMenu.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.slider_videoQuality)).BeginInit();\r
@@ -606,9 +604,9 @@ namespace Handbrake
             // \r
             // number\r
             // \r
-            dataGridViewCellStyle3.Format = "N0";\r
-            dataGridViewCellStyle3.NullValue = null;\r
-            this.number.DefaultCellStyle = dataGridViewCellStyle3;\r
+            dataGridViewCellStyle1.Format = "N0";\r
+            dataGridViewCellStyle1.NullValue = null;\r
+            this.number.DefaultCellStyle = dataGridViewCellStyle1;\r
             this.number.HeaderText = "Chapter Number";\r
             this.number.MaxInputLength = 3;\r
             this.number.Name = "number";\r
@@ -2244,32 +2242,6 @@ namespace Handbrake
             this.toolStripSeparator4.Name = "toolStripSeparator4";\r
             this.toolStripSeparator4.Size = new System.Drawing.Size(6, 39);\r
             // \r
-            // tb_preview\r
-            // \r
-            this.tb_preview.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
-            this.mnu_qtpreview,\r
-            this.mnu_vlcpreview});\r
-            this.tb_preview.Image = global::Handbrake.Properties.Resources.picture;\r
-            this.tb_preview.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
-            this.tb_preview.ImageTransparentColor = System.Drawing.Color.Magenta;\r
-            this.tb_preview.Name = "tb_preview";\r
-            this.tb_preview.Size = new System.Drawing.Size(95, 36);\r
-            this.tb_preview.Text = "Preview";\r
-            // \r
-            // mnu_qtpreview\r
-            // \r
-            this.mnu_qtpreview.Name = "mnu_qtpreview";\r
-            this.mnu_qtpreview.Size = new System.Drawing.Size(203, 22);\r
-            this.mnu_qtpreview.Text = "Preview in QuickTime";\r
-            this.mnu_qtpreview.Click += new System.EventHandler(this.mnu_qtpreview_Click);\r
-            // \r
-            // mnu_vlcpreview\r
-            // \r
-            this.mnu_vlcpreview.Name = "mnu_vlcpreview";\r
-            this.mnu_vlcpreview.Size = new System.Drawing.Size(203, 22);\r
-            this.mnu_vlcpreview.Text = "Preview in VLC";\r
-            this.mnu_vlcpreview.Click += new System.EventHandler(this.mnu_vlcpreview_Click);\r
-            // \r
             // btn_ActivityWindow\r
             // \r
             this.btn_ActivityWindow.Image = global::Handbrake.Properties.Resources.ActivityWindow;\r
@@ -2309,6 +2281,16 @@ namespace Handbrake
             this.lbl_encode.Size = new System.Drawing.Size(31, 17);\r
             this.lbl_encode.Text = "{0}";\r
             // \r
+            // tb_preview\r
+            // \r
+            this.tb_preview.Image = global::Handbrake.Properties.Resources.picture;\r
+            this.tb_preview.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+            this.tb_preview.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+            this.tb_preview.Name = "tb_preview";\r
+            this.tb_preview.Size = new System.Drawing.Size(86, 36);\r
+            this.tb_preview.Text = "Preview";\r
+            this.tb_preview.Click += new System.EventHandler(this.tb_preview_Click);\r
+            // \r
             // frmMain\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
@@ -2542,9 +2524,6 @@ namespace Handbrake
         private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;\r
         private System.Windows.Forms.ToolStripMenuItem audioList_remove;\r
         private System.Windows.Forms.ImageList AudioMenuRowHeightHack;\r
-        private System.Windows.Forms.ToolStripDropDownButton tb_preview;\r
-        private System.Windows.Forms.ToolStripMenuItem mnu_qtpreview;\r
-        private System.Windows.Forms.ToolStripMenuItem mnu_vlcpreview;\r
         private System.Windows.Forms.ToolStripMenuItem pmnu_saveChanges;\r
         private System.Windows.Forms.ToolStripMenuItem mnu_killCLI;\r
         private System.Windows.Forms.DataGridViewTextBoxColumn number;\r
@@ -2560,6 +2539,7 @@ namespace Handbrake
         internal System.Windows.Forms.RadioButton radio_avgBitrate;\r
         internal System.Windows.Forms.RadioButton radio_targetFilesize;\r
         internal Handbrake.Controls.x264Panel x264Panel;\r
+        private System.Windows.Forms.ToolStripButton tb_preview;\r
 \r
     }\r
 }
\ No newline at end of file
index 2629456..c6b29fc 100644 (file)
@@ -33,7 +33,6 @@ namespace Handbrake
 \r
         // Globals: Mainly used for tracking.\r
         private frmQueue queueWindow;\r
-        private frmGenPreview vlcpreview;\r
         private frmPreview qtpreview;\r
         private string lastAction;\r
         public int maxWidth;\r
@@ -120,7 +119,10 @@ namespace Handbrake
 \r
             // Enabled GUI tooltip's if Required\r
             if (Properties.Settings.Default.tooltipEnable == "Checked")\r
+            {\r
+                x264Panel.setToolTipActive(true);\r
                 ToolTip.Active = true;\r
+            }\r
 \r
             //Finished Loading\r
             lblStatus.Text = "Loading Complete!";\r
@@ -635,27 +637,7 @@ namespace Handbrake
             queueWindow.setQueue();\r
             queueWindow.Show();\r
         }\r
-        private void mnu_vlcpreview_Click(object sender, EventArgs e)\r
-        {\r
-            if (text_source.Text == "" || text_source.Text == "Click 'Source' to continue" || text_destination.Text == "")\r
-                MessageBox.Show("No source OR destination selected.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
-            else\r
-            {\r
-                if (vlcpreview == null)\r
-                {\r
-                    vlcpreview = new frmGenPreview(this);\r
-                    vlcpreview.Show();\r
-                }\r
-                else if (vlcpreview.IsDisposed)\r
-                {\r
-                    vlcpreview = new frmGenPreview(this);\r
-                    vlcpreview.Show();\r
-                }\r
-                else\r
-                    MessageBox.Show("The preview window is already open!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
-            }\r
-        }\r
-        private void mnu_qtpreview_Click(object sender, EventArgs e)\r
+        private void tb_preview_Click(object sender, EventArgs e)\r
         {\r
             if (text_source.Text == "" || text_source.Text == "Click 'Source' to continue" || text_destination.Text == "")\r
                 MessageBox.Show("No source OR destination selected.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
@@ -1446,7 +1428,6 @@ namespace Handbrake
             }\r
 \r
         }\r
-\r
         private void audioList_remove_Click(object sender, EventArgs e)\r
         {\r
             removeAudioTrack();\r
@@ -1473,7 +1454,6 @@ namespace Handbrake
                 }\r
             }\r
         }\r
-\r
         private void lv_audioList_SelectedIndexChanged(object sender, EventArgs e)\r
         {\r
             // Set the dropdown controls based on the selected item in the Audio List.\r
index 9b96457..77037cb 100644 (file)
@@ -152,12 +152,6 @@ Make sure you have selected a "Title" from the "Source" box above otherwise
 the list will not be populated with the correct amount of chapters.\r
 Note: Do not change any of the chapter numbers!</value>\r
   </data>\r
-  <metadata name="number.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
-    <value>True</value>\r
-  </metadata>\r
-  <metadata name="name.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
-    <value>True</value>\r
-  </metadata>\r
   <metadata name="DVD_Open.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
     <value>232, 15</value>\r
   </metadata>\r
index 8ecd53e..0beebf6 100644 (file)
             this.cb_preview = new System.Windows.Forms.ToolStripComboBox();\r
             this.toolStripLabel2 = new System.Windows.Forms.ToolStripLabel();\r
             this.cb_duration = new System.Windows.Forms.ToolStripComboBox();\r
-            this.btn_encode = new System.Windows.Forms.ToolStripButton();\r
+            this.btn_playQT = new System.Windows.Forms.ToolStripButton();\r
+            this.btn_playVLC = new System.Windows.Forms.ToolStripButton();\r
             this.statusStrip = new System.Windows.Forms.StatusStrip();\r
+            this.lbl_status = new System.Windows.Forms.ToolStripStatusLabel();\r
             this.QTControl = new AxQTOControlLib.AxQTControl();\r
-            this.lbl_encode = new System.Windows.Forms.ToolStripStatusLabel();\r
             this.toolBar.SuspendLayout();\r
             this.statusStrip.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.QTControl)).BeginInit();\r
@@ -54,7 +55,8 @@
             this.cb_preview,\r
             this.toolStripLabel2,\r
             this.cb_duration,\r
-            this.btn_encode});\r
+            this.btn_playQT,\r
+            this.btn_playVLC});\r
             this.toolBar.Location = new System.Drawing.Point(0, 0);\r
             this.toolBar.Name = "toolBar";\r
             this.toolBar.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;\r
@@ -66,7 +68,7 @@
             // \r
             this.lbl_preview.BackColor = System.Drawing.Color.Transparent;\r
             this.lbl_preview.Name = "lbl_preview";\r
-            this.lbl_preview.Size = new System.Drawing.Size(89, 36);\r
+            this.lbl_preview.Size = new System.Drawing.Size(100, 36);\r
             this.lbl_preview.Text = "Start at Preview:";\r
             // \r
             // cb_preview\r
@@ -92,7 +94,7 @@
             // \r
             this.toolStripLabel2.BackColor = System.Drawing.Color.Transparent;\r
             this.toolStripLabel2.Name = "toolStripLabel2";\r
-            this.toolStripLabel2.Size = new System.Drawing.Size(98, 36);\r
+            this.toolStripLabel2.Size = new System.Drawing.Size(111, 36);\r
             this.toolStripLabel2.Text = "Duration (seconds)";\r
             // \r
             // cb_duration\r
             this.cb_duration.Name = "cb_duration";\r
             this.cb_duration.Size = new System.Drawing.Size(75, 39);\r
             // \r
-            // btn_encode\r
+            // btn_playQT\r
             // \r
-            this.btn_encode.Image = global::Handbrake.Properties.Resources.Play;\r
-            this.btn_encode.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
-            this.btn_encode.ImageTransparentColor = System.Drawing.Color.Magenta;\r
-            this.btn_encode.Name = "btn_encode";\r
-            this.btn_encode.Size = new System.Drawing.Size(159, 36);\r
-            this.btn_encode.Text = "Encode and Play Sample";\r
-            this.btn_encode.Click += new System.EventHandler(this.btn_encode_Click);\r
+            this.btn_playQT.Image = global::Handbrake.Properties.Resources.Play;\r
+            this.btn_playQT.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+            this.btn_playQT.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+            this.btn_playQT.Name = "btn_playQT";\r
+            this.btn_playQT.Size = new System.Drawing.Size(113, 36);\r
+            this.btn_playQT.Text = "Play with QT";\r
+            this.btn_playQT.Click += new System.EventHandler(this.btn_playQT_Click);\r
+            // \r
+            // btn_playVLC\r
+            // \r
+            this.btn_playVLC.Image = global::Handbrake.Properties.Resources.Play;\r
+            this.btn_playVLC.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+            this.btn_playVLC.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+            this.btn_playVLC.Name = "btn_playVLC";\r
+            this.btn_playVLC.Size = new System.Drawing.Size(117, 36);\r
+            this.btn_playVLC.Text = "Play with VLC";\r
+            this.btn_playVLC.Click += new System.EventHandler(this.btn_playVLC_Click);\r
             // \r
             // statusStrip\r
             // \r
             this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
-            this.lbl_encode});\r
+            this.lbl_status});\r
             this.statusStrip.Location = new System.Drawing.Point(0, 486);\r
             this.statusStrip.Name = "statusStrip";\r
             this.statusStrip.Size = new System.Drawing.Size(774, 22);\r
             this.statusStrip.TabIndex = 38;\r
             this.statusStrip.Text = "statusStrip1";\r
             // \r
+            // lbl_status\r
+            // \r
+            this.lbl_status.BackColor = System.Drawing.Color.Transparent;\r
+            this.lbl_status.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.lbl_status.Name = "lbl_status";\r
+            this.lbl_status.Size = new System.Drawing.Size(31, 17);\r
+            this.lbl_status.Text = "{0}";\r
+            // \r
             // QTControl\r
             // \r
             this.QTControl.Enabled = true;\r
             this.QTControl.TabIndex = 39;\r
             this.QTControl.Visible = false;\r
             // \r
-            // lbl_encode\r
-            // \r
-            this.lbl_encode.BackColor = System.Drawing.Color.Transparent;\r
-            this.lbl_encode.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_encode.Name = "lbl_encode";\r
-            this.lbl_encode.Size = new System.Drawing.Size(31, 17);\r
-            this.lbl_encode.Text = "{0}";\r
-            // \r
             // frmPreview\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
         #endregion\r
 \r
         private System.Windows.Forms.ToolStrip toolBar;\r
-        private System.Windows.Forms.ToolStripButton btn_encode;\r
+        private System.Windows.Forms.ToolStripButton btn_playQT;\r
         private System.Windows.Forms.StatusStrip statusStrip;\r
         private AxQTOControlLib.AxQTControl QTControl;\r
         private System.Windows.Forms.ToolStripComboBox cb_preview;\r
         private System.Windows.Forms.ToolStripLabel lbl_preview;\r
         private System.Windows.Forms.ToolStripLabel toolStripLabel2;\r
         private System.Windows.Forms.ToolStripComboBox cb_duration;\r
-        private System.Windows.Forms.ToolStripStatusLabel lbl_encode;\r
+        private System.Windows.Forms.ToolStripStatusLabel lbl_status;\r
+        private System.Windows.Forms.ToolStripButton btn_playVLC;\r
     }\r
 }
\ No newline at end of file
index 029ac85..dabde2b 100644 (file)
@@ -3,6 +3,7 @@ using System.Windows.Forms;
 using System.Threading;\r
 using System.Diagnostics;\r
 using System.Runtime.InteropServices;\r
+using System.IO;\r
 using QTOLibrary;\r
 \r
 namespace Handbrake\r
@@ -14,7 +15,7 @@ namespace Handbrake
         Functions.Encode process = new Functions.Encode();\r
         private delegate void UpdateUIHandler();\r
         String currently_playing = "";\r
-        frmMain mainWindow;\r
+        readonly frmMain mainWindow;\r
         private Process hbProc;\r
         private Thread player;\r
 \r
@@ -25,52 +26,21 @@ namespace Handbrake
             cb_preview.SelectedIndex = 0;\r
             cb_duration.SelectedIndex = 1;\r
         }\r
-\r
-        private void play()\r
-        {\r
-            player = new Thread(OpenMovie) {IsBackground = true};\r
-            player.Start();\r
-        }\r
-\r
-        [STAThread]\r
-        private void OpenMovie()\r
-        {\r
-            try\r
-            {\r
-                if (InvokeRequired)\r
-                {\r
-                    BeginInvoke(new UpdateUIHandler(OpenMovie));\r
-                    return;\r
-                }\r
-                QTControl.URL = currently_playing;\r
-                QTControl.Width = QTControl.Movie.Width;\r
-                QTControl.Height = QTControl.Movie.Height;\r
-                // The initial control size is 64,64. If we do not reload the clip here\r
-                // it'll scale the video from 64,64. \r
-                // Unsure why as it correctly resizes the control to the movies actual size.\r
-                QTControl.URL = currently_playing; \r
-                QTControl.SetScale(0);\r
-                QTControl.Show();\r
-\r
-                this.Width = QTControl.Width + 5;\r
-                this.Height = QTControl.Height + 90;\r
-            }\r
-            catch (COMException ex)\r
-            {\r
-                QTUtils qtu = new QTUtils();\r
-                MessageBox.Show("Unable to open movie:\n\nError Code: " + ex.ErrorCode.ToString("X") + "\nQT Error code : " + qtu.QTErrorFromErrorCode(ex.ErrorCode));\r
-            }\r
-            catch (Exception ex)\r
-            {\r
-                MessageBox.Show("Unable to open movie:\n\n" + ex);\r
-            }\r
-        }\r
  \r
         #region Encode Sample\r
-        private void btn_encode_Click(object sender, EventArgs e)\r
+        private void btn_playVLC_Click(object sender, EventArgs e)\r
         {\r
-            btn_encode.Enabled = false;\r
-            lbl_encode.Text = "Encoding Sample ...";\r
+            btn_playQT.Enabled = false;\r
+            btn_playVLC.Enabled = false;\r
+            lbl_status.Text = "Encoding Sample for (VLC) ...";\r
+            String query = hb_common_func.GeneratePreviewQuery(mainWindow, cb_duration.Text, cb_preview.Text);\r
+            ThreadPool.QueueUserWorkItem(procMonitor, query);  \r
+        }\r
+        private void btn_playQT_Click(object sender, EventArgs e)\r
+        {\r
+            btn_playQT.Enabled = false;\r
+            btn_playVLC.Enabled = false;\r
+            lbl_status.Text = "Encoding Sample for (QT) ...";\r
             String query = hb_common_func.GeneratePreviewQuery(mainWindow, cb_duration.Text, cb_preview.Text);\r
             ThreadPool.QueueUserWorkItem(procMonitor, query);\r
         }\r
@@ -96,14 +66,25 @@ namespace Handbrake
                     BeginInvoke(new UpdateUIHandler(encodeCompleted));\r
                     return;\r
                 }\r
-                btn_encode.Enabled = true;\r
-                lbl_encode.Text = "Loading Clip ...";\r
+                btn_playQT.Enabled = true;\r
+                btn_playVLC.Enabled = true;\r
+\r
+                // Decide which player to use.\r
+                String playerSelection = lbl_status.Text.Contains("QT") ? "QT" : "VLC";\r
+\r
+                lbl_status.Text = "Loading Clip ...";\r
 \r
+                // Get the sample filename\r
                 if (mainWindow.text_destination.Text != "")\r
-                    currently_playing = mainWindow.text_destination.Text.Replace(".m", "_sample.m").Replace(".avi", "_sample.avi").Replace(".ogm", "_sample.ogm");\r
+                    currently_playing = mainWindow.text_destination.Text.Replace(".mp4", "_sample.mp4").Replace(".m4v", "_sample.m4v").Replace(".avi", "_sample.avi").Replace(".ogm", "_sample.ogm");\r
 \r
-                play();\r
-                lbl_encode.Text = "";\r
+                // Play back in QT or VLC\r
+                if (playerSelection == "QT")\r
+                    play();\r
+                else \r
+                    playVLC();\r
+                \r
+                lbl_status.Text = "";\r
             }\r
             catch (Exception exc)\r
             {\r
@@ -112,5 +93,78 @@ namespace Handbrake
         }\r
         #endregion\r
 \r
+        #region Playback\r
+\r
+        /// <summary>\r
+        /// Play the video back in the QuickTime control\r
+        /// </summary>\r
+        private void play()\r
+        {\r
+            player = new Thread(OpenMovie) { IsBackground = true };\r
+            player.Start();\r
+        }\r
+\r
+        /// <summary>\r
+        /// Play the video back in an external VLC player\r
+        /// </summary>\r
+        private void playVLC()\r
+        {\r
+            // Launch VLC and play video.\r
+            if (currently_playing != "")\r
+            {\r
+                if (File.Exists(currently_playing))\r
+                {\r
+                    if (File.Exists(Properties.Settings.Default.VLC_Path))\r
+                    {\r
+                        String args = "\"" + currently_playing + "\"";\r
+                        ProcessStartInfo vlc = new ProcessStartInfo(Properties.Settings.Default.VLC_Path, args);\r
+                        Process.Start(vlc);\r
+                        lbl_status.Text = "VLC will now launch.";\r
+                    }\r
+                    else\r
+                        MessageBox.Show("Unable to detect VLC Player. \nPlease make sure VLC is installed and the directory specified in the program options is correct.", "VLC", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+                }\r
+                else\r
+                    MessageBox.Show("Unable to find the preview file. Either the file was deleted or the encode failed. Check the activity log for details.", "VLC", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// QT control - Open the file\r
+        /// </summary>\r
+        [STAThread]\r
+        private void OpenMovie()\r
+        {\r
+            try\r
+            {\r
+                if (InvokeRequired)\r
+                {\r
+                    BeginInvoke(new UpdateUIHandler(OpenMovie));\r
+                    return;\r
+                }\r
+                QTControl.URL = currently_playing;\r
+                QTControl.Width = QTControl.Movie.Width;\r
+                QTControl.Height = QTControl.Movie.Height;\r
+                // The initial control size is 64,64. If we do not reload the clip here\r
+                // it'll scale the video from 64,64. \r
+                // Unsure why as it correctly resizes the control to the movies actual size.\r
+                QTControl.URL = currently_playing;\r
+                QTControl.SetScale(0);\r
+                QTControl.Show();\r
+\r
+                this.Width = QTControl.Width + 5;\r
+                this.Height = QTControl.Height + 90;\r
+            }\r
+            catch (COMException ex)\r
+            {\r
+                QTUtils qtu = new QTUtils();\r
+                MessageBox.Show("Unable to open movie:\n\nError Code: " + ex.ErrorCode.ToString("X") + "\nQT Error code : " + qtu.QTErrorFromErrorCode(ex.ErrorCode));\r
+            }\r
+            catch (Exception ex)\r
+            {\r
+                MessageBox.Show("Unable to open movie:\n\n" + ex);\r
+            }\r
+        }\r
+        #endregion\r
     }\r
 }
\ No newline at end of file