summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorsr55 <[email protected]>2009-02-05 21:52:07 +0000
committersr55 <[email protected]>2009-02-05 21:52:07 +0000
commitadaec0754c7c57be772c4deb070d337c12b2454d (patch)
tree583a122fe31acd0f818fb617fec893423e184b8f /win
parentb10c9cec2dd0426e6df05894d7888c0cea874a89 (diff)
WinGui:
- Picture filters now have their own tab. - Deinterlace, Decomb, Denoise and Detelecine are now custom controls with optional passthru string values - Preset system updated to handle new controls and custom string values for filters. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2121 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win')
-rw-r--r--win/C#/Controls/Decomb.Designer.cs97
-rw-r--r--win/C#/Controls/Decomb.cs92
-rw-r--r--win/C#/Controls/Decomb.resx120
-rw-r--r--win/C#/Controls/Deinterlace.Designer.cs99
-rw-r--r--win/C#/Controls/Deinterlace.cs105
-rw-r--r--win/C#/Controls/Deinterlace.resx120
-rw-r--r--win/C#/Controls/Denoise.Designer.cs99
-rw-r--r--win/C#/Controls/Denoise.cs94
-rw-r--r--win/C#/Controls/Denoise.resx120
-rw-r--r--win/C#/Controls/Detelecine.Designer.cs97
-rw-r--r--win/C#/Controls/Detelecine.cs83
-rw-r--r--win/C#/Controls/Detelecine.resx120
-rw-r--r--win/C#/Functions/QueryParser.cs14
-rw-r--r--win/C#/HandBrakeCS.csproj40
-rw-r--r--win/C#/Queue/QueueHandler.cs8
-rw-r--r--win/C#/frmMain.Designer.cs351
-rw-r--r--win/C#/frmMain.cs35
-rw-r--r--win/C#/frmMain.resx2
-rw-r--r--win/C#/frmMain/PresetLoader.cs49
-rw-r--r--win/C#/frmMain/QueryGenerator.cs75
20 files changed, 1531 insertions, 289 deletions
diff --git a/win/C#/Controls/Decomb.Designer.cs b/win/C#/Controls/Decomb.Designer.cs
new file mode 100644
index 000000000..7826c27e3
--- /dev/null
+++ b/win/C#/Controls/Decomb.Designer.cs
@@ -0,0 +1,97 @@
+/* Decomb.designer.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+namespace Handbrake
+{
+ partial class Decomb
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.label18 = new System.Windows.Forms.Label();
+ this.drop_decomb = new System.Windows.Forms.ComboBox();
+ this.text_custom = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // label18
+ //
+ this.label18.AutoSize = true;
+ this.label18.BackColor = System.Drawing.Color.Transparent;
+ this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label18.Location = new System.Drawing.Point(3, 7);
+ this.label18.Name = "label18";
+ this.label18.Size = new System.Drawing.Size(59, 13);
+ this.label18.TabIndex = 43;
+ this.label18.Text = "Decomb:";
+ //
+ // drop_decomb
+ //
+ this.drop_decomb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.drop_decomb.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.drop_decomb.FormattingEnabled = true;
+ this.drop_decomb.Items.AddRange(new object[] {
+ "Off",
+ "Default",
+ "Custom"});
+ this.drop_decomb.Location = new System.Drawing.Point(111, 4);
+ this.drop_decomb.Name = "drop_decomb";
+ this.drop_decomb.Size = new System.Drawing.Size(161, 21);
+ this.drop_decomb.TabIndex = 42;
+ this.drop_decomb.SelectedIndexChanged += new System.EventHandler(this.drop_decomb_SelectedIndexChanged);
+ //
+ // text_custom
+ //
+ this.text_custom.Location = new System.Drawing.Point(278, 4);
+ this.text_custom.Name = "text_custom";
+ this.text_custom.Size = new System.Drawing.Size(115, 20);
+ this.text_custom.TabIndex = 44;
+ this.text_custom.Visible = false;
+ //
+ // Decomb
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.AutoSize = true;
+ this.Controls.Add(this.text_custom);
+ this.Controls.Add(this.label18);
+ this.Controls.Add(this.drop_decomb);
+ this.Margin = new System.Windows.Forms.Padding(0);
+ this.MaximumSize = new System.Drawing.Size(400, 30);
+ this.Name = "Decomb";
+ this.Size = new System.Drawing.Size(400, 30);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ internal System.Windows.Forms.Label label18;
+ internal System.Windows.Forms.ComboBox drop_decomb;
+ private System.Windows.Forms.TextBox text_custom;
+ }
+}
diff --git a/win/C#/Controls/Decomb.cs b/win/C#/Controls/Decomb.cs
new file mode 100644
index 000000000..6762bfb8b
--- /dev/null
+++ b/win/C#/Controls/Decomb.cs
@@ -0,0 +1,92 @@
+/* Decomb.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+
+using System;
+using System.Windows.Forms;
+
+namespace Handbrake
+{
+ public partial class Decomb : UserControl
+ {
+ public Decomb()
+ {
+ InitializeComponent();
+ drop_decomb.SelectedIndex = 0;
+ }
+
+ private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (drop_decomb.Text == "Custom")
+ text_custom.Visible = true;
+ else
+ text_custom.Visible = false;
+
+ valueChanged(null);
+ }
+
+ public string getDropValue
+ {
+ get { return drop_decomb.Text; }
+ }
+
+ public string getCustomValue
+ {
+ get { return text_custom.Text; }
+ }
+
+ public string getCLIQuery
+ {
+ get
+ {
+ string query;
+ switch (drop_decomb.Text)
+ {
+ case "Off":
+ query = "";
+ break;
+ case "Default":
+ query = " --decomb";
+ break;
+ case "Custom":
+ query = " --decomb=\"" + text_custom.Text + "\"";
+ break;
+ default:
+ query = "";
+ break;
+ }
+ return query;
+ }
+ }
+
+ public void setOption(string value)
+ {
+ text_custom.Text = "";
+ text_custom.Visible = false;
+ switch (value)
+ {
+ case "Off":
+ drop_decomb.SelectedIndex = 0;
+ break;
+ case "Default":
+ drop_decomb.SelectedIndex = 1;
+ break;
+ default:
+ drop_decomb.SelectedIndex = 2;
+ text_custom.Text = value;
+ text_custom.Visible = true;
+ break;
+ }
+ }
+
+ public event EventHandler onChange;
+ protected virtual void valueChanged(EventArgs e)
+ {
+ if (onChange != null)
+ onChange(this, e);
+ }
+
+ }
+}
diff --git a/win/C#/Controls/Decomb.resx b/win/C#/Controls/Decomb.resx
new file mode 100644
index 000000000..ff31a6db5
--- /dev/null
+++ b/win/C#/Controls/Decomb.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/win/C#/Controls/Deinterlace.Designer.cs b/win/C#/Controls/Deinterlace.Designer.cs
new file mode 100644
index 000000000..3792cc308
--- /dev/null
+++ b/win/C#/Controls/Deinterlace.Designer.cs
@@ -0,0 +1,99 @@
+/* Deinterlace.designer.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+namespace Handbrake
+{
+ partial class Deinterlace
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.label18 = new System.Windows.Forms.Label();
+ this.drop_deinterlace = new System.Windows.Forms.ComboBox();
+ this.text_custom = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // label18
+ //
+ this.label18.AutoSize = true;
+ this.label18.BackColor = System.Drawing.Color.Transparent;
+ this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label18.Location = new System.Drawing.Point(3, 7);
+ this.label18.Name = "label18";
+ this.label18.Size = new System.Drawing.Size(72, 13);
+ this.label18.TabIndex = 43;
+ this.label18.Text = "Deinterlace:";
+ //
+ // drop_deinterlace
+ //
+ this.drop_deinterlace.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.drop_deinterlace.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.drop_deinterlace.FormattingEnabled = true;
+ this.drop_deinterlace.Items.AddRange(new object[] {
+ "None",
+ "Fast",
+ "Slow",
+ "Slower",
+ "Custom"});
+ this.drop_deinterlace.Location = new System.Drawing.Point(111, 4);
+ this.drop_deinterlace.Name = "drop_deinterlace";
+ this.drop_deinterlace.Size = new System.Drawing.Size(161, 21);
+ this.drop_deinterlace.TabIndex = 42;
+ this.drop_deinterlace.SelectedIndexChanged += new System.EventHandler(this.drop_detelecine_SelectedIndexChanged);
+ //
+ // text_custom
+ //
+ this.text_custom.Location = new System.Drawing.Point(278, 4);
+ this.text_custom.Name = "text_custom";
+ this.text_custom.Size = new System.Drawing.Size(115, 20);
+ this.text_custom.TabIndex = 44;
+ this.text_custom.Visible = false;
+ //
+ // Deinterlace
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.AutoSize = true;
+ this.Controls.Add(this.text_custom);
+ this.Controls.Add(this.label18);
+ this.Controls.Add(this.drop_deinterlace);
+ this.Margin = new System.Windows.Forms.Padding(0);
+ this.MaximumSize = new System.Drawing.Size(400, 30);
+ this.Name = "Deinterlace";
+ this.Size = new System.Drawing.Size(400, 30);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ internal System.Windows.Forms.Label label18;
+ internal System.Windows.Forms.ComboBox drop_deinterlace;
+ private System.Windows.Forms.TextBox text_custom;
+ }
+}
diff --git a/win/C#/Controls/Deinterlace.cs b/win/C#/Controls/Deinterlace.cs
new file mode 100644
index 000000000..7acfed826
--- /dev/null
+++ b/win/C#/Controls/Deinterlace.cs
@@ -0,0 +1,105 @@
+/* Deinterlace.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+using System;
+using System.Windows.Forms;
+
+namespace Handbrake
+{
+ public partial class Deinterlace : UserControl
+ {
+ public Deinterlace()
+ {
+ InitializeComponent();
+ drop_deinterlace.SelectedIndex = 0;
+ }
+
+ private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (drop_deinterlace.Text == "Custom")
+ text_custom.Visible = true;
+ else
+ text_custom.Visible = false;
+
+ valueChanged(null);
+ }
+
+ public string getDropValue
+ {
+ get { return drop_deinterlace.Text; }
+ }
+
+ public string getCustomValue
+ {
+ get { return text_custom.Text; }
+ }
+
+ public string getCLIQuery
+ {
+ get
+ {
+ string query;
+ switch (drop_deinterlace.Text)
+ {
+ case "None":
+ query = "";
+ break;
+ case "Fast":
+ query = " --deinterlace=\"fast\"";
+ break;
+ case "Slow":
+ query = " --deinterlace=\"slow\"";
+ break;
+ case "Slower":
+ query = " --deinterlace=\"slower\"";
+ break;
+ case "Custom":
+ query = " --deinterlace=\"" + text_custom.Text + "\"";
+ break;
+ default:
+ query = "";
+ break;
+ }
+ return query;
+ }
+ }
+
+ public void setOption(string value)
+ {
+ text_custom.Text = "";
+ text_custom.Visible = false;
+ switch (value)
+ {
+
+ case "None":
+ drop_deinterlace.SelectedIndex = 0;
+ break;
+ case "Fast":
+ drop_deinterlace.SelectedIndex = 1;
+ break;
+ case "Slow":
+ drop_deinterlace.SelectedIndex = 2;
+ break;
+ case "Slower":
+ drop_deinterlace.SelectedIndex = 3;
+
+ break;
+ default:
+ drop_deinterlace.SelectedIndex = 4;
+ text_custom.Text = value;
+ text_custom.Visible = true;
+ break;
+ }
+ }
+
+ public event EventHandler onChange;
+ protected virtual void valueChanged(EventArgs e)
+ {
+ if (onChange != null)
+ onChange(this, e);
+ }
+
+ }
+}
diff --git a/win/C#/Controls/Deinterlace.resx b/win/C#/Controls/Deinterlace.resx
new file mode 100644
index 000000000..ff31a6db5
--- /dev/null
+++ b/win/C#/Controls/Deinterlace.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/win/C#/Controls/Denoise.Designer.cs b/win/C#/Controls/Denoise.Designer.cs
new file mode 100644
index 000000000..e4b96219e
--- /dev/null
+++ b/win/C#/Controls/Denoise.Designer.cs
@@ -0,0 +1,99 @@
+/* Denoise.designer.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+namespace Handbrake
+{
+ partial class Denoise
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.label18 = new System.Windows.Forms.Label();
+ this.drop_denoise = new System.Windows.Forms.ComboBox();
+ this.text_custom = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // label18
+ //
+ this.label18.AutoSize = true;
+ this.label18.BackColor = System.Drawing.Color.Transparent;
+ this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label18.Location = new System.Drawing.Point(3, 7);
+ this.label18.Name = "label18";
+ this.label18.Size = new System.Drawing.Size(58, 13);
+ this.label18.TabIndex = 43;
+ this.label18.Text = "Denoise:";
+ //
+ // drop_denoise
+ //
+ this.drop_denoise.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.drop_denoise.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.drop_denoise.FormattingEnabled = true;
+ this.drop_denoise.Items.AddRange(new object[] {
+ "None",
+ "Weak",
+ "Medium",
+ "Strong",
+ "Custom"});
+ this.drop_denoise.Location = new System.Drawing.Point(111, 4);
+ this.drop_denoise.Name = "drop_denoise";
+ this.drop_denoise.Size = new System.Drawing.Size(161, 21);
+ this.drop_denoise.TabIndex = 42;
+ this.drop_denoise.SelectedIndexChanged += new System.EventHandler(this.drop_decomb_SelectedIndexChanged);
+ //
+ // text_custom
+ //
+ this.text_custom.Location = new System.Drawing.Point(278, 4);
+ this.text_custom.Name = "text_custom";
+ this.text_custom.Size = new System.Drawing.Size(115, 20);
+ this.text_custom.TabIndex = 44;
+ this.text_custom.Visible = false;
+ //
+ // Denoise
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.AutoSize = true;
+ this.Controls.Add(this.text_custom);
+ this.Controls.Add(this.label18);
+ this.Controls.Add(this.drop_denoise);
+ this.Margin = new System.Windows.Forms.Padding(0);
+ this.MaximumSize = new System.Drawing.Size(400, 30);
+ this.Name = "Denoise";
+ this.Size = new System.Drawing.Size(400, 30);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ internal System.Windows.Forms.Label label18;
+ internal System.Windows.Forms.ComboBox drop_denoise;
+ private System.Windows.Forms.TextBox text_custom;
+ }
+}
diff --git a/win/C#/Controls/Denoise.cs b/win/C#/Controls/Denoise.cs
new file mode 100644
index 000000000..d8b7e9162
--- /dev/null
+++ b/win/C#/Controls/Denoise.cs
@@ -0,0 +1,94 @@
+/* DeNoise.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+using System;
+using System.Windows.Forms;
+
+namespace Handbrake
+{
+ public partial class Denoise : UserControl
+ {
+ public Denoise()
+ {
+ InitializeComponent();
+ drop_denoise.SelectedIndex = 0;
+ }
+
+ private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (drop_denoise.Text == "Custom")
+ text_custom.Visible = true;
+ else
+ text_custom.Visible = false;
+ }
+
+ public string getDropValue
+ {
+ get { return drop_denoise.Text; }
+ }
+
+ public string getCustomValue
+ {
+ get { return text_custom.Text; }
+ }
+
+ public string getCLIQuery
+ {
+ get
+ {
+ string query;
+ switch (drop_denoise.Text)
+ {
+ case "None":
+ query = "";
+ break;
+ case "Weak":
+ query = " --denoise=\"weak\"";
+ break;
+ case "Medium":
+ query = " --denoise=\"medium\"";
+ break;
+ case "Strong":
+ query = " --denoise=\"strong\"";
+ break;
+ case "Custom":
+ query = " --denoise=\"" + text_custom.Text + "\"";
+ break;
+ default:
+ query = "";
+ break;
+ }
+ return query;
+ }
+ }
+
+ public void setOption(string value)
+ {
+ text_custom.Text = "";
+ text_custom.Visible = false;
+ switch (value)
+ {
+ case "None":
+ drop_denoise.SelectedIndex = 0;
+ break;
+ case "Weak":
+ drop_denoise.SelectedIndex = 1;
+ break;
+ case "Medium":
+ drop_denoise.SelectedIndex = 2;
+ break;
+ case "Strong":
+ drop_denoise.SelectedIndex = 3;
+ break;
+ default:
+ drop_denoise.SelectedIndex = 4;
+ text_custom.Text = value;
+ text_custom.Visible = true;
+ break;
+ }
+ }
+
+ }
+}
diff --git a/win/C#/Controls/Denoise.resx b/win/C#/Controls/Denoise.resx
new file mode 100644
index 000000000..ff31a6db5
--- /dev/null
+++ b/win/C#/Controls/Denoise.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/win/C#/Controls/Detelecine.Designer.cs b/win/C#/Controls/Detelecine.Designer.cs
new file mode 100644
index 000000000..71983b32d
--- /dev/null
+++ b/win/C#/Controls/Detelecine.Designer.cs
@@ -0,0 +1,97 @@
+/* Detelecine.Designer.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+namespace Handbrake
+{
+ partial class Detelecine
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.label18 = new System.Windows.Forms.Label();
+ this.drop_detelecine = new System.Windows.Forms.ComboBox();
+ this.text_custom = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // label18
+ //
+ this.label18.AutoSize = true;
+ this.label18.BackColor = System.Drawing.Color.Transparent;
+ this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label18.Location = new System.Drawing.Point(3, 7);
+ this.label18.Name = "label18";
+ this.label18.Size = new System.Drawing.Size(72, 13);
+ this.label18.TabIndex = 43;
+ this.label18.Text = "Detelecine:";
+ //
+ // drop_detelecine
+ //
+ this.drop_detelecine.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.drop_detelecine.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.drop_detelecine.FormattingEnabled = true;
+ this.drop_detelecine.Items.AddRange(new object[] {
+ "Off",
+ "Default",
+ "Custom"});
+ this.drop_detelecine.Location = new System.Drawing.Point(111, 4);
+ this.drop_detelecine.Name = "drop_detelecine";
+ this.drop_detelecine.Size = new System.Drawing.Size(161, 21);
+ this.drop_detelecine.TabIndex = 42;
+ this.drop_detelecine.SelectedIndexChanged += new System.EventHandler(this.drop_detelecine_SelectedIndexChanged);
+ //
+ // text_custom
+ //
+ this.text_custom.Location = new System.Drawing.Point(278, 4);
+ this.text_custom.Name = "text_custom";
+ this.text_custom.Size = new System.Drawing.Size(115, 20);
+ this.text_custom.TabIndex = 44;
+ this.text_custom.Visible = false;
+ //
+ // Detelecine
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.AutoSize = true;
+ this.Controls.Add(this.text_custom);
+ this.Controls.Add(this.label18);
+ this.Controls.Add(this.drop_detelecine);
+ this.Margin = new System.Windows.Forms.Padding(0);
+ this.MaximumSize = new System.Drawing.Size(400, 30);
+ this.Name = "Detelecine";
+ this.Size = new System.Drawing.Size(400, 30);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ internal System.Windows.Forms.ComboBox drop_detelecine;
+ private System.Windows.Forms.TextBox text_custom;
+ private System.Windows.Forms.Label label18;
+ }
+}
diff --git a/win/C#/Controls/Detelecine.cs b/win/C#/Controls/Detelecine.cs
new file mode 100644
index 000000000..6eaf4621b
--- /dev/null
+++ b/win/C#/Controls/Detelecine.cs
@@ -0,0 +1,83 @@
+/* Detelecine.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+
+using System;
+using System.Windows.Forms;
+
+namespace Handbrake
+{
+ public partial class Detelecine : UserControl
+ {
+ public Detelecine()
+ {
+ InitializeComponent();
+ drop_detelecine.SelectedIndex = 0;
+ }
+
+ private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (drop_detelecine.Text == "Custom")
+ text_custom.Visible = true;
+ else
+ text_custom.Visible = false;
+ }
+
+ public string getDropValue
+ {
+ get { return drop_detelecine.Text; }
+ }
+
+ public string getCustomValue
+ {
+ get { return text_custom.Text; }
+ }
+
+ public string getCLIQuery
+ {
+ get
+ {
+ string query;
+ switch (drop_detelecine.Text)
+ {
+ case "Off":
+ query = "";
+ break;
+ case "Default":
+ query = " --detelecine";
+ break;
+ case "Custom":
+ query = " --detelecine=\"" + text_custom.Text + "\"";
+ break;
+ default:
+ query = "";
+ break;
+ }
+ return query;
+ }
+ }
+
+ public void setOption(string value)
+ {
+ text_custom.Text = "";
+ text_custom.Visible = false;
+ switch (value)
+ {
+ case "Off":
+ drop_detelecine.SelectedIndex = 0;
+ break;
+ case "Default":
+ drop_detelecine.SelectedIndex = 1;
+ break;
+ default:
+ drop_detelecine.SelectedIndex = 2;
+ text_custom.Text = value;
+ text_custom.Visible = true;
+ break;
+ }
+ }
+
+ }
+}
diff --git a/win/C#/Controls/Detelecine.resx b/win/C#/Controls/Detelecine.resx
new file mode 100644
index 000000000..ff31a6db5
--- /dev/null
+++ b/win/C#/Controls/Detelecine.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/win/C#/Functions/QueryParser.cs b/win/C#/Functions/QueryParser.cs
index c255e6d6b..68bcac00f 100644
--- a/win/C#/Functions/QueryParser.cs
+++ b/win/C#/Functions/QueryParser.cs
@@ -774,15 +774,15 @@ namespace Handbrake.Functions
#endregion
- #region Picture Tab - Filters
+ #region Filters
+ thisQuery.q_decomb = "Off";
if (decomb.Success)
{
- thisQuery.q_decomb = "True";
+ thisQuery.q_decomb = "Default";
if (decombValue.Success)
thisQuery.q_decomb = decombValue.ToString().Replace("--decomb=", "").Replace("\"", "");
- } else
- thisQuery.q_decomb = "False";
+ }
thisQuery.q_deinterlace = "None";
if (deinterlace.Success)
@@ -806,14 +806,14 @@ namespace Handbrake.Functions
if (deblockValue != "")
int.TryParse(deblockValue, out thisQuery.q_deBlock);
+ thisQuery.q_detelecine = "Off";
if (detelecine.Success)
{
- thisQuery.q_detelecine = "True";
+ thisQuery.q_detelecine = "Default";
if (detelecineValue.Success)
thisQuery.q_detelecine = detelecineValue.ToString().Replace("--detelecine=", "").Replace("\"", "");
}
- else
- thisQuery.q_detelecine = "False";
+
#endregion
#region Video Settings Tab
diff --git a/win/C#/HandBrakeCS.csproj b/win/C#/HandBrakeCS.csproj
index 7f8e9a651..88b0e3a4b 100644
--- a/win/C#/HandBrakeCS.csproj
+++ b/win/C#/HandBrakeCS.csproj
@@ -100,6 +100,30 @@
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="Controls\Denoise.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="Controls\Denoise.Designer.cs">
+ <DependentUpon>Denoise.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Controls\Decomb.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="Controls\Decomb.Designer.cs">
+ <DependentUpon>Decomb.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Controls\Detelecine.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="Controls\Detelecine.Designer.cs">
+ <DependentUpon>Detelecine.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Controls\Deinterlace.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="Controls\Deinterlace.Designer.cs">
+ <DependentUpon>Deinterlace.cs</DependentUpon>
+ </Compile>
<Compile Include="frmPreview.cs">
<SubType>Form</SubType>
</Compile>
@@ -184,6 +208,22 @@
<Compile Include="Parsing\Title.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+ <EmbeddedResource Include="Controls\Denoise.resx">
+ <DependentUpon>Denoise.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Controls\Decomb.resx">
+ <DependentUpon>Decomb.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Controls\Detelecine.resx">
+ <DependentUpon>Detelecine.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Controls\Deinterlace.resx">
+ <DependentUpon>Deinterlace.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
<EmbeddedResource Include="frmPreview.resx">
<DependentUpon>frmPreview.cs</DependentUpon>
<SubType>Designer</SubType>
diff --git a/win/C#/Queue/QueueHandler.cs b/win/C#/Queue/QueueHandler.cs
index 3317fb82f..2b36a9712 100644
--- a/win/C#/Queue/QueueHandler.cs
+++ b/win/C#/Queue/QueueHandler.cs
@@ -1,4 +1,10 @@
-using System;
+/* QueueHandler.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+
+using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;
diff --git a/win/C#/frmMain.Designer.cs b/win/C#/frmMain.Designer.cs
index 63674eac3..1dc67cfbf 100644
--- a/win/C#/frmMain.Designer.cs
+++ b/win/C#/frmMain.Designer.cs
@@ -121,6 +121,8 @@ namespace Handbrake
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.mnu_about = new System.Windows.Forms.ToolStripMenuItem();
this.frmMainMenu = new System.Windows.Forms.MenuStrip();
+ this.debugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.mnu_qptest = new System.Windows.Forms.ToolStripMenuItem();
this.gb_source = new System.Windows.Forms.GroupBox();
this.Label13 = new System.Windows.Forms.Label();
this.Label17 = new System.Windows.Forms.Label();
@@ -163,7 +165,6 @@ namespace Handbrake
this.drp_track1Audio = new System.Windows.Forms.ComboBox();
this.TabPage3 = new System.Windows.Forms.TabPage();
this.label25 = new System.Windows.Forms.Label();
- this.check_grayscale = new System.Windows.Forms.CheckBox();
this.Label22 = new System.Windows.Forms.Label();
this.check_2PassEncode = new System.Windows.Forms.CheckBox();
this.Label2 = new System.Windows.Forms.Label();
@@ -171,11 +172,8 @@ namespace Handbrake
this.SliderValue = new System.Windows.Forms.Label();
this.Label46 = new System.Windows.Forms.Label();
this.Label40 = new System.Windows.Forms.Label();
+ this.check_grayscale = new System.Windows.Forms.CheckBox();
this.TabPage1 = new System.Windows.Forms.TabPage();
- this.slider_deblock = new System.Windows.Forms.TrackBar();
- this.label8 = new System.Windows.Forms.Label();
- this.lbl_deblockVal = new System.Windows.Forms.Label();
- this.check_decomb = new System.Windows.Forms.CheckBox();
this.label6 = new System.Windows.Forms.Label();
this.drp_anamorphic = new System.Windows.Forms.ComboBox();
this.text_bottom = new System.Windows.Forms.NumericUpDown();
@@ -187,19 +185,22 @@ namespace Handbrake
this.lbl_Aspect = new System.Windows.Forms.Label();
this.Label91 = new System.Windows.Forms.Label();
this.Label55 = new System.Windows.Forms.Label();
- this.label24 = new System.Windows.Forms.Label();
- this.drp_deNoise = new System.Windows.Forms.ComboBox();
- this.label11 = new System.Windows.Forms.Label();
- this.check_detelecine = new System.Windows.Forms.CheckBox();
- this.label4 = new System.Windows.Forms.Label();
- this.drp_deInterlace_option = new System.Windows.Forms.ComboBox();
this.Label1 = new System.Windows.Forms.Label();
this.Label53 = new System.Windows.Forms.Label();
this.Label52 = new System.Windows.Forms.Label();
this.Label51 = new System.Windows.Forms.Label();
this.Label15 = new System.Windows.Forms.Label();
+ this.slider_deblock = new System.Windows.Forms.TrackBar();
+ this.label8 = new System.Windows.Forms.Label();
+ this.lbl_deblockVal = new System.Windows.Forms.Label();
+ this.label24 = new System.Windows.Forms.Label();
this.Check_ChapterMarkers = new System.Windows.Forms.CheckBox();
this.tabs_panel = new System.Windows.Forms.TabControl();
+ this.tab_Filters = new System.Windows.Forms.TabPage();
+ this.ctl_deinterlace = new Handbrake.Deinterlace();
+ this.ctl_denoise = new Handbrake.Denoise();
+ this.ctl_decomb = new Handbrake.Decomb();
+ this.ctl_detelecine = new Handbrake.Detelecine();
this.tab_chapters = new System.Windows.Forms.TabPage();
this.label31 = new System.Windows.Forms.Label();
this.h264Tab = new System.Windows.Forms.TabPage();
@@ -253,8 +254,6 @@ namespace Handbrake
this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
this.StatusStrip = new System.Windows.Forms.StatusStrip();
this.lbl_encode = new System.Windows.Forms.ToolStripStatusLabel();
- this.debugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.mnu_qptest = new System.Windows.Forms.ToolStripMenuItem();
Label38 = new System.Windows.Forms.Label();
notifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
notifyIconMenu.SuspendLayout();
@@ -268,12 +267,13 @@ namespace Handbrake
((System.ComponentModel.ISupportInitialize)(this.tb_drc)).BeginInit();
this.TabPage3.SuspendLayout();
this.TabPage1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.text_bottom)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.text_top)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.text_left)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.text_right)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).BeginInit();
this.tabs_panel.SuspendLayout();
+ this.tab_Filters.SuspendLayout();
this.tab_chapters.SuspendLayout();
this.h264Tab.SuspendLayout();
this.tab_query.SuspendLayout();
@@ -470,7 +470,7 @@ namespace Handbrake
this.check_turbo.BackColor = System.Drawing.Color.Transparent;
this.check_turbo.Enabled = false;
this.check_turbo.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.check_turbo.Location = new System.Drawing.Point(37, 184);
+ this.check_turbo.Location = new System.Drawing.Point(37, 168);
this.check_turbo.Name = "check_turbo";
this.check_turbo.Size = new System.Drawing.Size(115, 17);
this.check_turbo.TabIndex = 7;
@@ -1412,10 +1412,25 @@ namespace Handbrake
this.frmMainMenu.Location = new System.Drawing.Point(0, 0);
this.frmMainMenu.Name = "frmMainMenu";
this.frmMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
- this.frmMainMenu.Size = new System.Drawing.Size(992, 24);
+ this.frmMainMenu.Size = new System.Drawing.Size(995, 24);
this.frmMainMenu.TabIndex = 0;
this.frmMainMenu.Text = "MenuStrip";
//
+ // debugToolStripMenuItem
+ //
+ this.debugToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.mnu_qptest});
+ this.debugToolStripMenuItem.Name = "debugToolStripMenuItem";
+ this.debugToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
+ this.debugToolStripMenuItem.Text = "Debug";
+ //
+ // mnu_qptest
+ //
+ this.mnu_qptest.Name = "mnu_qptest";
+ this.mnu_qptest.Size = new System.Drawing.Size(201, 22);
+ this.mnu_qptest.Text = "Query Parser Tester";
+ this.mnu_qptest.Click += new System.EventHandler(this.mnu_qptest_Click);
+ //
// gb_source
//
this.gb_source.Controls.Add(this.lbl_duration);
@@ -1561,6 +1576,7 @@ namespace Handbrake
this.TabPage2.Size = new System.Drawing.Size(713, 316);
this.TabPage2.TabIndex = 3;
this.TabPage2.Text = "Audio && Subtitles";
+ this.TabPage2.UseVisualStyleBackColor = true;
//
// lv_audioList
//
@@ -1853,7 +1869,6 @@ namespace Handbrake
this.TabPage3.Controls.Add(this.drp_videoEncoder);
this.TabPage3.Controls.Add(this.Label47);
this.TabPage3.Controls.Add(this.label25);
- this.TabPage3.Controls.Add(this.check_grayscale);
this.TabPage3.Controls.Add(this.check_turbo);
this.TabPage3.Controls.Add(this.Label22);
this.TabPage3.Controls.Add(this.check_2PassEncode);
@@ -1873,6 +1888,7 @@ namespace Handbrake
this.TabPage3.Size = new System.Drawing.Size(713, 316);
this.TabPage3.TabIndex = 2;
this.TabPage3.Text = "Video";
+ this.TabPage3.UseVisualStyleBackColor = true;
//
// label25
//
@@ -1885,18 +1901,6 @@ namespace Handbrake
this.label25.TabIndex = 0;
this.label25.Text = "Video";
//
- // check_grayscale
- //
- this.check_grayscale.AutoSize = true;
- this.check_grayscale.BackColor = System.Drawing.Color.Transparent;
- this.check_grayscale.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.check_grayscale.Location = new System.Drawing.Point(16, 138);
- this.check_grayscale.Name = "check_grayscale";
- this.check_grayscale.Size = new System.Drawing.Size(138, 17);
- this.check_grayscale.TabIndex = 5;
- this.check_grayscale.Text = "Grayscale Encoding";
- this.check_grayscale.UseVisualStyleBackColor = false;
- //
// Label22
//
this.Label22.AutoSize = true;
@@ -1913,7 +1917,7 @@ namespace Handbrake
this.check_2PassEncode.AutoSize = true;
this.check_2PassEncode.BackColor = System.Drawing.Color.Transparent;
this.check_2PassEncode.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.check_2PassEncode.Location = new System.Drawing.Point(16, 161);
+ this.check_2PassEncode.Location = new System.Drawing.Point(16, 145);
this.check_2PassEncode.Name = "check_2PassEncode";
this.check_2PassEncode.Size = new System.Drawing.Size(119, 17);
this.check_2PassEncode.TabIndex = 6;
@@ -1976,15 +1980,23 @@ namespace Handbrake
this.Label40.TabIndex = 13;
this.Label40.Text = "Constant Quality:";
//
+ // check_grayscale
+ //
+ this.check_grayscale.AutoSize = true;
+ this.check_grayscale.BackColor = System.Drawing.Color.Transparent;
+ this.check_grayscale.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.check_grayscale.Location = new System.Drawing.Point(25, 210);
+ this.check_grayscale.Name = "check_grayscale";
+ this.check_grayscale.Size = new System.Drawing.Size(138, 17);
+ this.check_grayscale.TabIndex = 5;
+ this.check_grayscale.Text = "Grayscale Encoding";
+ this.check_grayscale.UseVisualStyleBackColor = false;
+ //
// TabPage1
//
this.TabPage1.BackColor = System.Drawing.Color.Transparent;
- this.TabPage1.Controls.Add(this.slider_deblock);
- this.TabPage1.Controls.Add(this.label8);
- this.TabPage1.Controls.Add(this.lbl_deblockVal);
this.TabPage1.Controls.Add(this.check_customCrop);
this.TabPage1.Controls.Add(this.check_autoCrop);
- this.TabPage1.Controls.Add(this.check_decomb);
this.TabPage1.Controls.Add(this.lbl_src_res);
this.TabPage1.Controls.Add(this.label7);
this.TabPage1.Controls.Add(this.label6);
@@ -2000,12 +2012,6 @@ namespace Handbrake
this.TabPage1.Controls.Add(this.text_height);
this.TabPage1.Controls.Add(this.Label55);
this.TabPage1.Controls.Add(this.text_width);
- this.TabPage1.Controls.Add(this.label24);
- this.TabPage1.Controls.Add(this.drp_deNoise);
- this.TabPage1.Controls.Add(this.label11);
- this.TabPage1.Controls.Add(this.check_detelecine);
- this.TabPage1.Controls.Add(this.label4);
- this.TabPage1.Controls.Add(this.drp_deInterlace_option);
this.TabPage1.Controls.Add(this.Label1);
this.TabPage1.Controls.Add(this.Label53);
this.TabPage1.Controls.Add(this.Label52);
@@ -2017,51 +2023,7 @@ namespace Handbrake
this.TabPage1.Size = new System.Drawing.Size(713, 316);
this.TabPage1.TabIndex = 0;
this.TabPage1.Text = "Picture Settings";
- //
- // slider_deblock
- //
- this.slider_deblock.Location = new System.Drawing.Point(407, 264);
- this.slider_deblock.Maximum = 15;
- this.slider_deblock.Minimum = 4;
- this.slider_deblock.Name = "slider_deblock";
- this.slider_deblock.Size = new System.Drawing.Size(174, 42);
- this.slider_deblock.TabIndex = 35;
- this.slider_deblock.Value = 4;
- this.slider_deblock.Scroll += new System.EventHandler(this.slider_deblock_Scroll);
- //
- // label8
- //
- this.label8.AutoSize = true;
- this.label8.BackColor = System.Drawing.Color.Transparent;
- this.label8.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label8.Location = new System.Drawing.Point(311, 269);
- this.label8.Name = "label8";
- this.label8.Size = new System.Drawing.Size(58, 13);
- this.label8.TabIndex = 37;
- this.label8.Text = "Deblock:";
- //
- // lbl_deblockVal
- //
- this.lbl_deblockVal.AutoSize = true;
- this.lbl_deblockVal.BackColor = System.Drawing.Color.Transparent;
- this.lbl_deblockVal.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lbl_deblockVal.Location = new System.Drawing.Point(585, 269);
- this.lbl_deblockVal.Name = "lbl_deblockVal";
- this.lbl_deblockVal.Size = new System.Drawing.Size(24, 13);
- this.lbl_deblockVal.TabIndex = 36;
- this.lbl_deblockVal.Text = "Off";
- //
- // check_decomb
- //
- this.check_decomb.AutoSize = true;
- this.check_decomb.BackColor = System.Drawing.Color.Transparent;
- this.check_decomb.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.check_decomb.Location = new System.Drawing.Point(314, 188);
- this.check_decomb.Name = "check_decomb";
- this.check_decomb.Size = new System.Drawing.Size(73, 17);
- this.check_decomb.TabIndex = 32;
- this.check_decomb.Text = "Decomb";
- this.check_decomb.UseVisualStyleBackColor = false;
+ this.TabPage1.UseVisualStyleBackColor = true;
//
// label6
//
@@ -2198,81 +2160,6 @@ namespace Handbrake
this.Label55.TabIndex = 16;
this.Label55.Text = "Width/Height:";
//
- // label24
- //
- this.label24.AutoSize = true;
- this.label24.BackColor = System.Drawing.Color.Transparent;
- this.label24.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label24.Location = new System.Drawing.Point(311, 142);
- this.label24.Name = "label24";
- this.label24.Size = new System.Drawing.Size(49, 13);
- this.label24.TabIndex = 22;
- this.label24.Text = "Filters";
- //
- // drp_deNoise
- //
- this.drp_deNoise.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.drp_deNoise.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.drp_deNoise.FormattingEnabled = true;
- this.drp_deNoise.Items.AddRange(new object[] {
- "None",
- "Weak",
- "Medium",
- "Strong"});
- this.drp_deNoise.Location = new System.Drawing.Point(413, 237);
- this.drp_deNoise.Name = "drp_deNoise";
- this.drp_deNoise.Size = new System.Drawing.Size(161, 21);
- this.drp_deNoise.TabIndex = 29;
- //
- // label11
- //
- this.label11.AutoSize = true;
- this.label11.BackColor = System.Drawing.Color.Transparent;
- this.label11.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label11.Location = new System.Drawing.Point(311, 240);
- this.label11.Name = "label11";
- this.label11.Size = new System.Drawing.Size(58, 13);
- this.label11.TabIndex = 28;
- this.label11.Text = "Denoise:";
- //
- // check_detelecine
- //
- this.check_detelecine.AutoSize = true;
- this.check_detelecine.BackColor = System.Drawing.Color.Transparent;
- this.check_detelecine.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.check_detelecine.Location = new System.Drawing.Point(314, 165);
- this.check_detelecine.Name = "check_detelecine";
- this.check_detelecine.Size = new System.Drawing.Size(86, 17);
- this.check_detelecine.TabIndex = 23;
- this.check_detelecine.Text = "Detelecine";
- this.check_detelecine.UseVisualStyleBackColor = false;
- //
- // label4
- //
- this.label4.AutoSize = true;
- this.label4.BackColor = System.Drawing.Color.Transparent;
- this.label4.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label4.Location = new System.Drawing.Point(311, 212);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(77, 13);
- this.label4.TabIndex = 26;
- this.label4.Text = "Deinterlace:";
- //
- // drp_deInterlace_option
- //
- this.drp_deInterlace_option.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.drp_deInterlace_option.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.drp_deInterlace_option.FormattingEnabled = true;
- this.drp_deInterlace_option.Items.AddRange(new object[] {
- "None",
- "Fast",
- "Slow",
- "Slower"});
- this.drp_deInterlace_option.Location = new System.Drawing.Point(413, 209);
- this.drp_deInterlace_option.Name = "drp_deInterlace_option";
- this.drp_deInterlace_option.Size = new System.Drawing.Size(161, 21);
- this.drp_deInterlace_option.TabIndex = 27;
- //
// Label1
//
this.Label1.AutoSize = true;
@@ -2328,6 +2215,50 @@ namespace Handbrake
this.Label15.TabIndex = 3;
this.Label15.Text = "Left";
//
+ // slider_deblock
+ //
+ this.slider_deblock.Location = new System.Drawing.Point(118, 162);
+ this.slider_deblock.Maximum = 15;
+ this.slider_deblock.Minimum = 4;
+ this.slider_deblock.Name = "slider_deblock";
+ this.slider_deblock.Size = new System.Drawing.Size(174, 42);
+ this.slider_deblock.TabIndex = 35;
+ this.slider_deblock.Value = 4;
+ this.slider_deblock.Scroll += new System.EventHandler(this.slider_deblock_Scroll);
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.BackColor = System.Drawing.Color.Transparent;
+ this.label8.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label8.Location = new System.Drawing.Point(22, 167);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(58, 13);
+ this.label8.TabIndex = 37;
+ this.label8.Text = "Deblock:";
+ //
+ // lbl_deblockVal
+ //
+ this.lbl_deblockVal.AutoSize = true;
+ this.lbl_deblockVal.BackColor = System.Drawing.Color.Transparent;
+ this.lbl_deblockVal.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbl_deblockVal.Location = new System.Drawing.Point(296, 167);
+ this.lbl_deblockVal.Name = "lbl_deblockVal";
+ this.lbl_deblockVal.Size = new System.Drawing.Size(24, 13);
+ this.lbl_deblockVal.TabIndex = 36;
+ this.lbl_deblockVal.Text = "Off";
+ //
+ // label24
+ //
+ this.label24.AutoSize = true;
+ this.label24.BackColor = System.Drawing.Color.Transparent;
+ this.label24.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label24.Location = new System.Drawing.Point(16, 11);
+ this.label24.Name = "label24";
+ this.label24.Size = new System.Drawing.Size(49, 13);
+ this.label24.TabIndex = 22;
+ this.label24.Text = "Filters";
+ //
// Check_ChapterMarkers
//
this.Check_ChapterMarkers.AutoSize = true;
@@ -2344,6 +2275,7 @@ namespace Handbrake
// tabs_panel
//
this.tabs_panel.Controls.Add(this.TabPage1);
+ this.tabs_panel.Controls.Add(this.tab_Filters);
this.tabs_panel.Controls.Add(this.TabPage3);
this.tabs_panel.Controls.Add(this.TabPage2);
this.tabs_panel.Controls.Add(this.tab_chapters);
@@ -2357,6 +2289,66 @@ namespace Handbrake
this.tabs_panel.TabIndex = 5;
this.tabs_panel.TabStop = false;
//
+ // tab_Filters
+ //
+ this.tab_Filters.Controls.Add(this.ctl_deinterlace);
+ this.tab_Filters.Controls.Add(this.ctl_denoise);
+ this.tab_Filters.Controls.Add(this.ctl_decomb);
+ this.tab_Filters.Controls.Add(this.ctl_detelecine);
+ this.tab_Filters.Controls.Add(this.slider_deblock);
+ this.tab_Filters.Controls.Add(this.label24);
+ this.tab_Filters.Controls.Add(this.check_grayscale);
+ this.tab_Filters.Controls.Add(this.label8);
+ this.tab_Filters.Controls.Add(this.lbl_deblockVal);
+ this.tab_Filters.Location = new System.Drawing.Point(4, 22);
+ this.tab_Filters.Name = "tab_Filters";
+ this.tab_Filters.Size = new System.Drawing.Size(713, 316);
+ this.tab_Filters.TabIndex = 9;
+ this.tab_Filters.Text = "Picture Filters";
+ this.tab_Filters.UseVisualStyleBackColor = true;
+ //
+ // ctl_deinterlace
+ //
+ this.ctl_deinterlace.AutoSize = true;
+ this.ctl_deinterlace.Location = new System.Drawing.Point(19, 95);
+ this.ctl_deinterlace.Margin = new System.Windows.Forms.Padding(0);
+ this.ctl_deinterlace.MaximumSize = new System.Drawing.Size(400, 30);
+ this.ctl_deinterlace.Name = "ctl_deinterlace";
+ this.ctl_deinterlace.Size = new System.Drawing.Size(275, 28);
+ this.ctl_deinterlace.TabIndex = 41;
+ this.ctl_deinterlace.onChange += new System.EventHandler(this.ctl_deinterlace_changed);
+ //
+ // ctl_denoise
+ //
+ this.ctl_denoise.AutoSize = true;
+ this.ctl_denoise.Location = new System.Drawing.Point(19, 123);
+ this.ctl_denoise.Margin = new System.Windows.Forms.Padding(0);
+ this.ctl_denoise.MaximumSize = new System.Drawing.Size(400, 30);
+ this.ctl_denoise.Name = "ctl_denoise";
+ this.ctl_denoise.Size = new System.Drawing.Size(275, 28);
+ this.ctl_denoise.TabIndex = 40;
+ //
+ // ctl_decomb
+ //
+ this.ctl_decomb.AutoSize = true;
+ this.ctl_decomb.Location = new System.Drawing.Point(19, 66);
+ this.ctl_decomb.Margin = new System.Windows.Forms.Padding(0);
+ this.ctl_decomb.MaximumSize = new System.Drawing.Size(400, 30);
+ this.ctl_decomb.Name = "ctl_decomb";
+ this.ctl_decomb.Size = new System.Drawing.Size(275, 28);
+ this.ctl_decomb.TabIndex = 39;
+ this.ctl_decomb.onChange += new System.EventHandler(this.ctl_decomb_changed);
+ //
+ // ctl_detelecine
+ //
+ this.ctl_detelecine.AutoSize = true;
+ this.ctl_detelecine.Location = new System.Drawing.Point(19, 38);
+ this.ctl_detelecine.Margin = new System.Windows.Forms.Padding(0);
+ this.ctl_detelecine.MaximumSize = new System.Drawing.Size(400, 30);
+ this.ctl_detelecine.Name = "ctl_detelecine";
+ this.ctl_detelecine.Size = new System.Drawing.Size(275, 28);
+ this.ctl_detelecine.TabIndex = 38;
+ //
// tab_chapters
//
this.tab_chapters.BackColor = System.Drawing.Color.Transparent;
@@ -2368,6 +2360,7 @@ namespace Handbrake
this.tab_chapters.Size = new System.Drawing.Size(713, 316);
this.tab_chapters.TabIndex = 6;
this.tab_chapters.Text = "Chapters";
+ this.tab_chapters.UseVisualStyleBackColor = true;
//
// label31
//
@@ -2422,6 +2415,7 @@ namespace Handbrake
this.h264Tab.Size = new System.Drawing.Size(713, 316);
this.h264Tab.TabIndex = 8;
this.h264Tab.Text = "Advanced";
+ this.h264Tab.UseVisualStyleBackColor = true;
//
// label43
//
@@ -2584,6 +2578,7 @@ namespace Handbrake
this.tab_query.Size = new System.Drawing.Size(713, 316);
this.tab_query.TabIndex = 7;
this.tab_query.Text = "Query Editor";
+ this.tab_query.UseVisualStyleBackColor = true;
//
// btn_clear
//
@@ -2776,7 +2771,7 @@ namespace Handbrake
this.toolStrip1.Location = new System.Drawing.Point(0, 24);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
- this.toolStrip1.Size = new System.Drawing.Size(992, 39);
+ this.toolStrip1.Size = new System.Drawing.Size(995, 39);
this.toolStrip1.TabIndex = 1;
this.toolStrip1.Text = "toolStrip1";
//
@@ -2924,7 +2919,7 @@ namespace Handbrake
this.lbl_encode});
this.StatusStrip.Location = new System.Drawing.Point(0, 627);
this.StatusStrip.Name = "StatusStrip";
- this.StatusStrip.Size = new System.Drawing.Size(992, 22);
+ this.StatusStrip.Size = new System.Drawing.Size(995, 22);
this.StatusStrip.TabIndex = 7;
this.StatusStrip.Text = "statusStrip1";
//
@@ -2935,27 +2930,12 @@ namespace Handbrake
this.lbl_encode.Size = new System.Drawing.Size(31, 17);
this.lbl_encode.Text = "{0}";
//
- // debugToolStripMenuItem
- //
- this.debugToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.mnu_qptest});
- this.debugToolStripMenuItem.Name = "debugToolStripMenuItem";
- this.debugToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
- this.debugToolStripMenuItem.Text = "Debug";
- //
- // mnu_qptest
- //
- this.mnu_qptest.Name = "mnu_qptest";
- this.mnu_qptest.Size = new System.Drawing.Size(201, 22);
- this.mnu_qptest.Text = "Query Parser Tester";
- this.mnu_qptest.Click += new System.EventHandler(this.mnu_qptest_Click);
- //
// frmMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoScroll = true;
- this.ClientSize = new System.Drawing.Size(992, 649);
+ this.ClientSize = new System.Drawing.Size(995, 649);
this.Controls.Add(this.gb_source);
this.Controls.Add(this.groupBox_dest);
this.Controls.Add(this.groupBox_output);
@@ -2986,12 +2966,14 @@ namespace Handbrake
this.TabPage3.PerformLayout();
this.TabPage1.ResumeLayout(false);
this.TabPage1.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.text_bottom)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.text_top)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.text_left)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.text_right)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).EndInit();
this.tabs_panel.ResumeLayout(false);
+ this.tab_Filters.ResumeLayout(false);
+ this.tab_Filters.PerformLayout();
this.tab_chapters.ResumeLayout(false);
this.tab_chapters.PerformLayout();
this.h264Tab.ResumeLayout(false);
@@ -3078,10 +3060,6 @@ namespace Handbrake
internal System.Windows.Forms.Label Label20;
internal System.Windows.Forms.CheckBox check_grayscale;
internal System.Windows.Forms.Label label24;
- internal System.Windows.Forms.Label label11;
- internal System.Windows.Forms.CheckBox check_detelecine;
- internal System.Windows.Forms.Label label4;
- internal System.Windows.Forms.ComboBox drp_deInterlace_option;
private System.Windows.Forms.GroupBox groupBox2;
internal System.Windows.Forms.Button btn_setDefault;
private System.Windows.Forms.ToolStripMenuItem mnu_SelectDefault;
@@ -3192,12 +3170,10 @@ namespace Handbrake
internal System.Windows.Forms.ToolStripMenuItem mnu_encodeLog;
private System.Windows.Forms.StatusStrip StatusStrip;
private System.Windows.Forms.ToolStripStatusLabel lbl_encode;
- internal System.Windows.Forms.CheckBox check_decomb;
internal System.Windows.Forms.RadioButton check_customCrop;
internal System.Windows.Forms.RadioButton check_autoCrop;
internal System.Windows.Forms.Label lbl_deblockVal;
internal System.Windows.Forms.TrackBar slider_deblock;
- internal System.Windows.Forms.ComboBox drp_deNoise;
internal System.Windows.Forms.Label label8;
internal System.Windows.Forms.OpenFileDialog ISO_Open;
internal System.Windows.Forms.FolderBrowserDialog DVD_Open;
@@ -3232,6 +3208,11 @@ namespace Handbrake
private System.Windows.Forms.DataGridViewTextBoxColumn name;
private System.Windows.Forms.ToolStripMenuItem debugToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem mnu_qptest;
+ private System.Windows.Forms.TabPage tab_Filters;
+ internal Deinterlace ctl_deinterlace;
+ internal Denoise ctl_denoise;
+ internal Decomb ctl_decomb;
+ internal Detelecine ctl_detelecine;
}
} \ No newline at end of file
diff --git a/win/C#/frmMain.cs b/win/C#/frmMain.cs
index 4cad19528..3c77a8d1a 100644
--- a/win/C#/frmMain.cs
+++ b/win/C#/frmMain.cs
@@ -20,8 +20,8 @@ namespace Handbrake
{
// Objects which may be used by one or more other objects
private delegate void UpdateWindowHandler();
- Functions.Main hb_common_func = new Functions.Main();
- Functions.Encode encodeHandler = new Functions.Encode();
+ Main hb_common_func = new Main();
+ Encode encodeHandler = new Encode();
Queue.QueueHandler encodeQueue = new Queue.QueueHandler();
Presets.PresetsHandler presetHandler = new Presets.PresetsHandler();
Parsing.Title selectedTitle;
@@ -39,8 +39,6 @@ namespace Handbrake
private string lastAction;
public int maxWidth;
public int maxHeight;
-
-
Process hbproc;
// Applicaiton Startup ************************************************
@@ -326,6 +324,14 @@ namespace Handbrake
}
#endregion
+ #region Debug Menu
+ private void mnu_qptest_Click(object sender, EventArgs e)
+ {
+ QueryParserTester qptest = new QueryParserTester();
+ qptest.Show();
+ }
+ #endregion
+
#region Preset Bar
// Right Click Menu Code
private void pmnu_expandAll_Click(object sender, EventArgs e)
@@ -1172,6 +1178,20 @@ namespace Handbrake
text_width.Enabled = true;
}
}
+
+ // Filter Tab
+ private void ctl_decomb_changed(object sender, EventArgs e)
+ {
+ if (ctl_decomb.getDropValue != "Off")
+ if (ctl_deinterlace.getDropValue != "None")
+ ctl_deinterlace.setOption("None");
+ }
+ private void ctl_deinterlace_changed(object sender, EventArgs e)
+ {
+ if (ctl_detelecine.getDropValue != "None")
+ if (ctl_decomb.getDropValue != "Off")
+ ctl_decomb.setOption("Off");
+ }
private void slider_deblock_Scroll(object sender, EventArgs e)
{
lbl_deblockVal.Text = slider_deblock.Value == 4 ? "Off" : slider_deblock.Value.ToString();
@@ -2071,13 +2091,6 @@ namespace Handbrake
#endregion
- private void mnu_qptest_Click(object sender, EventArgs e)
- {
- QueryParserTester qptest = new QueryParserTester();
- qptest.Show();
-
- }
-
// This is the END of the road ------------------------------------------------------------------------------
}
} \ No newline at end of file
diff --git a/win/C#/frmMain.resx b/win/C#/frmMain.resx
index d6bf08e3e..dddbeb31b 100644
--- a/win/C#/frmMain.resx
+++ b/win/C#/frmMain.resx
@@ -670,7 +670,7 @@ If you're going to choose between spatial and temporal, spatial is usually bette
<value>1113, 15</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>56</value>
+ <value>75</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
diff --git a/win/C#/frmMain/PresetLoader.cs b/win/C#/frmMain/PresetLoader.cs
index 7080f92d4..1d7472358 100644
--- a/win/C#/frmMain/PresetLoader.cs
+++ b/win/C#/frmMain/PresetLoader.cs
@@ -107,30 +107,6 @@ namespace Handbrake
mainWindow.text_height.Text = presetQuery.Height.ToString();
}
- mainWindow.drp_deInterlace_option.Text = presetQuery.DeInterlace;
- mainWindow.drp_deNoise.Text = presetQuery.DeNoise;
-
- if (presetQuery.Decomb != "False")
- mainWindow.check_decomb.CheckState = CheckState.Checked;
- else
- mainWindow.check_decomb.CheckState = CheckState.Unchecked;
-
- if (presetQuery.DeTelecine != "False")
- mainWindow.check_detelecine.CheckState = CheckState.Checked;
- else
- mainWindow.check_detelecine.CheckState = CheckState.Unchecked;
-
- if (presetQuery.DeBlock != 0)
- {
- mainWindow.slider_deblock.Value = presetQuery.DeBlock;
- mainWindow.lbl_deblockVal.Text = presetQuery.DeBlock.ToString();
- }
- else
- {
- mainWindow.slider_deblock.Value = 4;
- mainWindow.lbl_deblockVal.Text = "Off";
- }
-
if (presetQuery.Anamorphic)
mainWindow.drp_anamorphic.SelectedIndex = 1;
else
@@ -161,6 +137,31 @@ namespace Handbrake
#endregion
+ // Filters Tab
+ #region Filters
+
+ mainWindow.ctl_decomb.setOption(presetQuery.Decomb);
+
+ if (mainWindow.ctl_decomb.getDropValue == "Off")
+ mainWindow.ctl_deinterlace.setOption(presetQuery.DeInterlace);
+ else
+ mainWindow.ctl_deinterlace.setOption("None"); // Don't want decomb and deinterlace on at the same time
+
+ mainWindow.ctl_denoise.setOption(presetQuery.DeNoise);
+ mainWindow.ctl_detelecine.setOption(presetQuery.DeTelecine);
+
+ if (presetQuery.DeBlock != 0)
+ {
+ mainWindow.slider_deblock.Value = presetQuery.DeBlock;
+ mainWindow.lbl_deblockVal.Text = presetQuery.DeBlock.ToString();
+ }
+ else
+ {
+ mainWindow.slider_deblock.Value = 4;
+ mainWindow.lbl_deblockVal.Text = "Off";
+ }
+ #endregion
+
// Video Settings Tab
#region video
mainWindow.text_bitrate.Text = presetQuery.AverageVideoBitrate;
diff --git a/win/C#/frmMain/QueryGenerator.cs b/win/C#/frmMain/QueryGenerator.cs
index 811783621..8d77dfcb8 100644
--- a/win/C#/frmMain/QueryGenerator.cs
+++ b/win/C#/frmMain/QueryGenerator.cs
@@ -1,4 +1,10 @@
-using System;
+/* QueryGenerator.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+
+using System;
using System.Text;
using System.Windows.Forms;
using System.Globalization;
@@ -88,7 +94,6 @@ namespace Handbrake
{
string query = "";
- // The Output Settings box above the tabbed section.
#region Output Settings Box
query += " -f " + mainWindow.drop_format.Text.ToLower().Replace(" file", "");
@@ -103,7 +108,6 @@ namespace Handbrake
query += " -O ";
#endregion
- // Picture Settings Tab
#region Picture Settings Tab
// Use MaxWidth for built-in presets and width for user settings.
@@ -150,37 +154,6 @@ namespace Handbrake
query += " --crop " + cropTop + ":" + cropBottom + ":" + cropLeft + ":" + cropRight;
}
- switch (mainWindow.drp_deInterlace_option.Text)
- {
- case "None":
- query += "";
- break;
- case "Fast":
- query += " --deinterlace=\"fast\"";
- break;
- case "Slow":
- query += " --deinterlace=\"slow\"";
- break;
- case "Slower":
- query += " --deinterlace=\"slower\"";
- break;
- case "Slowest":
- query += " --deinterlace=\"slowest\"";
- break;
- default:
- query += "";
- break;
- }
-
- if (mainWindow.check_decomb.Checked)
- {
- string decombValue = Properties.Settings.Default.decomb;
- if (decombValue != "" && decombValue != Properties.Settings.Default.default_decomb)
- query += " --decomb=\"" + decombValue + "\"";
- else
- query += " --decomb ";
- }
-
if (mainWindow.drp_anamorphic.SelectedIndex == 1)
query += " -p ";
else if (mainWindow.drp_anamorphic.SelectedIndex == 2)
@@ -189,11 +162,16 @@ namespace Handbrake
if (mainWindow.slider_deblock.Value != 4)
query += " --deblock=" + mainWindow.slider_deblock.Value;
- if (mainWindow.check_detelecine.Checked)
- query += " --detelecine";
+
+ #endregion
+
+ #region Filters
+ query += mainWindow.ctl_detelecine.getCLIQuery;
+ query += mainWindow.ctl_decomb.getCLIQuery;
+ query += mainWindow.ctl_deinterlace.getCLIQuery;
+ query += mainWindow.ctl_denoise.getCLIQuery;
#endregion
- // Video Settings Tab
#region Video Settings Tab
switch (mainWindow.drp_videoEncoder.Text)
@@ -241,28 +219,8 @@ namespace Handbrake
if (mainWindow.drp_videoFramerate.Text != "Same as source")
query += " -r " + mainWindow.drp_videoFramerate.Text;
-
- switch (mainWindow.drp_deNoise.Text)
- {
- case "None":
- query += "";
- break;
- case "Weak":
- query += " --denoise=\"weak\"";
- break;
- case "Medium":
- query += " --denoise=\"medium\"";
- break;
- case "Strong":
- query += " --denoise=\"strong\"";
- break;
- default:
- query += "";
- break;
- }
#endregion
- // Audio Settings Tab
#region Audio Settings Tab
ListView audioTracks = mainWindow.lv_audioList;
@@ -407,7 +365,6 @@ namespace Handbrake
#endregion
- // Chapter Markers Tab
#region Chapter Markers
// Attach Source name and dvd title to the start of the chapters.csv filename.
@@ -441,13 +398,11 @@ namespace Handbrake
}
#endregion
- // H264 Tab
#region H264 Tab
if (mainWindow.rtf_x264Query.Text != "")
query += " -x " + mainWindow.rtf_x264Query.Text;
#endregion
- // Other
#region Processors / Other
string processors = Properties.Settings.Default.Processors;
if (processors != "Automatic")