OSDN Git Service

WinGui:
authorsr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 5 Feb 2009 21:52:07 +0000 (21:52 +0000)
committersr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 5 Feb 2009 21:52:07 +0000 (21:52 +0000)
- 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://localhost/HandBrake/trunk@2121 b64f7644-9d1e-0410-96f1-a4d463321fa5

20 files changed:
win/C#/Controls/Decomb.Designer.cs [new file with mode: 0644]
win/C#/Controls/Decomb.cs [new file with mode: 0644]
win/C#/Controls/Decomb.resx [new file with mode: 0644]
win/C#/Controls/Deinterlace.Designer.cs [new file with mode: 0644]
win/C#/Controls/Deinterlace.cs [new file with mode: 0644]
win/C#/Controls/Deinterlace.resx [new file with mode: 0644]
win/C#/Controls/Denoise.Designer.cs [new file with mode: 0644]
win/C#/Controls/Denoise.cs [new file with mode: 0644]
win/C#/Controls/Denoise.resx [new file with mode: 0644]
win/C#/Controls/Detelecine.Designer.cs [new file with mode: 0644]
win/C#/Controls/Detelecine.cs [new file with mode: 0644]
win/C#/Controls/Detelecine.resx [new file with mode: 0644]
win/C#/Functions/QueryParser.cs
win/C#/HandBrakeCS.csproj
win/C#/Queue/QueueHandler.cs
win/C#/frmMain.Designer.cs
win/C#/frmMain.cs
win/C#/frmMain.resx
win/C#/frmMain/PresetLoader.cs
win/C#/frmMain/QueryGenerator.cs

diff --git a/win/C#/Controls/Decomb.Designer.cs b/win/C#/Controls/Decomb.Designer.cs
new file mode 100644 (file)
index 0000000..7826c27
--- /dev/null
@@ -0,0 +1,97 @@
+/*  Decomb.designer.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+namespace Handbrake\r
+{\r
+    partial class Decomb\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 Component 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
+            this.label18 = new System.Windows.Forms.Label();\r
+            this.drop_decomb = new System.Windows.Forms.ComboBox();\r
+            this.text_custom = new System.Windows.Forms.TextBox();\r
+            this.SuspendLayout();\r
+            // \r
+            // label18\r
+            // \r
+            this.label18.AutoSize = true;\r
+            this.label18.BackColor = System.Drawing.Color.Transparent;\r
+            this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.label18.Location = new System.Drawing.Point(3, 7);\r
+            this.label18.Name = "label18";\r
+            this.label18.Size = new System.Drawing.Size(59, 13);\r
+            this.label18.TabIndex = 43;\r
+            this.label18.Text = "Decomb:";\r
+            // \r
+            // drop_decomb\r
+            // \r
+            this.drop_decomb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
+            this.drop_decomb.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.drop_decomb.FormattingEnabled = true;\r
+            this.drop_decomb.Items.AddRange(new object[] {\r
+            "Off",\r
+            "Default",\r
+            "Custom"});\r
+            this.drop_decomb.Location = new System.Drawing.Point(111, 4);\r
+            this.drop_decomb.Name = "drop_decomb";\r
+            this.drop_decomb.Size = new System.Drawing.Size(161, 21);\r
+            this.drop_decomb.TabIndex = 42;\r
+            this.drop_decomb.SelectedIndexChanged += new System.EventHandler(this.drop_decomb_SelectedIndexChanged);\r
+            // \r
+            // text_custom\r
+            // \r
+            this.text_custom.Location = new System.Drawing.Point(278, 4);\r
+            this.text_custom.Name = "text_custom";\r
+            this.text_custom.Size = new System.Drawing.Size(115, 20);\r
+            this.text_custom.TabIndex = 44;\r
+            this.text_custom.Visible = false;\r
+            // \r
+            // Decomb\r
+            // \r
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;\r
+            this.AutoSize = true;\r
+            this.Controls.Add(this.text_custom);\r
+            this.Controls.Add(this.label18);\r
+            this.Controls.Add(this.drop_decomb);\r
+            this.Margin = new System.Windows.Forms.Padding(0);\r
+            this.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.Name = "Decomb";\r
+            this.Size = new System.Drawing.Size(400, 30);\r
+            this.ResumeLayout(false);\r
+            this.PerformLayout();\r
+\r
+        }\r
+\r
+        #endregion\r
+\r
+        internal System.Windows.Forms.Label label18;\r
+        internal System.Windows.Forms.ComboBox drop_decomb;\r
+        private System.Windows.Forms.TextBox text_custom;\r
+    }\r
+}\r
diff --git a/win/C#/Controls/Decomb.cs b/win/C#/Controls/Decomb.cs
new file mode 100644 (file)
index 0000000..6762bfb
--- /dev/null
@@ -0,0 +1,92 @@
+/*  Decomb.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+\r
+using System;\r
+using System.Windows.Forms;\r
+\r
+namespace Handbrake\r
+{\r
+    public partial class Decomb : UserControl\r
+    {\r
+        public Decomb()\r
+        {\r
+            InitializeComponent();\r
+            drop_decomb.SelectedIndex = 0;\r
+        }\r
+\r
+        private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            if (drop_decomb.Text == "Custom")\r
+                text_custom.Visible = true;\r
+            else\r
+                text_custom.Visible = false;\r
+\r
+            valueChanged(null);\r
+        }\r
+\r
+        public string getDropValue\r
+        {\r
+            get { return drop_decomb.Text; }\r
+        }\r
+\r
+        public string getCustomValue\r
+        {\r
+            get { return text_custom.Text; }\r
+        }\r
+\r
+        public string getCLIQuery\r
+        {\r
+            get\r
+            {\r
+                string query;\r
+                switch (drop_decomb.Text)\r
+                {\r
+                    case "Off":\r
+                        query = "";\r
+                        break;\r
+                    case "Default":\r
+                        query = " --decomb";\r
+                        break;\r
+                    case "Custom":\r
+                        query = " --decomb=\"" + text_custom.Text + "\"";\r
+                        break;\r
+                    default:\r
+                        query = "";\r
+                        break;\r
+                }\r
+                return query;\r
+            }\r
+        }\r
+\r
+        public void setOption(string value)\r
+        {\r
+            text_custom.Text = "";\r
+            text_custom.Visible = false;\r
+            switch (value)\r
+            {\r
+                case "Off":\r
+                    drop_decomb.SelectedIndex = 0;\r
+                    break;\r
+                case "Default":\r
+                    drop_decomb.SelectedIndex = 1;\r
+                    break;\r
+                default:\r
+                    drop_decomb.SelectedIndex = 2;\r
+                    text_custom.Text = value;\r
+                    text_custom.Visible = true;\r
+                    break;\r
+            }\r
+        }\r
+\r
+        public event EventHandler onChange;\r
+        protected virtual void valueChanged(EventArgs e)\r
+        {\r
+            if (onChange != null)\r
+                onChange(this, e);\r
+        }\r
+\r
+    }\r
+}\r
diff --git a/win/C#/Controls/Decomb.resx b/win/C#/Controls/Decomb.resx
new file mode 100644 (file)
index 0000000..ff31a6d
--- /dev/null
@@ -0,0 +1,120 @@
+<?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
+</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 (file)
index 0000000..3792cc3
--- /dev/null
@@ -0,0 +1,99 @@
+/*  Deinterlace.designer.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+namespace Handbrake\r
+{\r
+    partial class Deinterlace\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 Component 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
+            this.label18 = new System.Windows.Forms.Label();\r
+            this.drop_deinterlace = new System.Windows.Forms.ComboBox();\r
+            this.text_custom = new System.Windows.Forms.TextBox();\r
+            this.SuspendLayout();\r
+            // \r
+            // label18\r
+            // \r
+            this.label18.AutoSize = true;\r
+            this.label18.BackColor = System.Drawing.Color.Transparent;\r
+            this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.label18.Location = new System.Drawing.Point(3, 7);\r
+            this.label18.Name = "label18";\r
+            this.label18.Size = new System.Drawing.Size(72, 13);\r
+            this.label18.TabIndex = 43;\r
+            this.label18.Text = "Deinterlace:";\r
+            // \r
+            // drop_deinterlace\r
+            // \r
+            this.drop_deinterlace.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
+            this.drop_deinterlace.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.drop_deinterlace.FormattingEnabled = true;\r
+            this.drop_deinterlace.Items.AddRange(new object[] {\r
+            "None",\r
+            "Fast",\r
+            "Slow",\r
+            "Slower",\r
+            "Custom"});\r
+            this.drop_deinterlace.Location = new System.Drawing.Point(111, 4);\r
+            this.drop_deinterlace.Name = "drop_deinterlace";\r
+            this.drop_deinterlace.Size = new System.Drawing.Size(161, 21);\r
+            this.drop_deinterlace.TabIndex = 42;\r
+            this.drop_deinterlace.SelectedIndexChanged += new System.EventHandler(this.drop_detelecine_SelectedIndexChanged);\r
+            // \r
+            // text_custom\r
+            // \r
+            this.text_custom.Location = new System.Drawing.Point(278, 4);\r
+            this.text_custom.Name = "text_custom";\r
+            this.text_custom.Size = new System.Drawing.Size(115, 20);\r
+            this.text_custom.TabIndex = 44;\r
+            this.text_custom.Visible = false;\r
+            // \r
+            // Deinterlace\r
+            // \r
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;\r
+            this.AutoSize = true;\r
+            this.Controls.Add(this.text_custom);\r
+            this.Controls.Add(this.label18);\r
+            this.Controls.Add(this.drop_deinterlace);\r
+            this.Margin = new System.Windows.Forms.Padding(0);\r
+            this.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.Name = "Deinterlace";\r
+            this.Size = new System.Drawing.Size(400, 30);\r
+            this.ResumeLayout(false);\r
+            this.PerformLayout();\r
+\r
+        }\r
+\r
+        #endregion\r
+\r
+        internal System.Windows.Forms.Label label18;\r
+        internal System.Windows.Forms.ComboBox drop_deinterlace;\r
+        private System.Windows.Forms.TextBox text_custom;\r
+    }\r
+}\r
diff --git a/win/C#/Controls/Deinterlace.cs b/win/C#/Controls/Deinterlace.cs
new file mode 100644 (file)
index 0000000..7acfed8
--- /dev/null
@@ -0,0 +1,105 @@
+/*  Deinterlace.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+using System;\r
+using System.Windows.Forms;\r
+\r
+namespace Handbrake\r
+{\r
+    public partial class Deinterlace : UserControl\r
+    {\r
+        public Deinterlace()\r
+        {\r
+            InitializeComponent();\r
+            drop_deinterlace.SelectedIndex = 0;\r
+        }\r
+\r
+        private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            if (drop_deinterlace.Text == "Custom")\r
+                text_custom.Visible = true;\r
+            else\r
+                text_custom.Visible = false;\r
+\r
+            valueChanged(null);\r
+        }\r
+\r
+        public string getDropValue\r
+        {\r
+            get { return drop_deinterlace.Text; }\r
+        }\r
+\r
+        public string getCustomValue\r
+        {\r
+            get { return text_custom.Text; }\r
+        }\r
+\r
+        public string getCLIQuery\r
+        {\r
+            get\r
+            {\r
+                string query;\r
+                switch (drop_deinterlace.Text)\r
+                {\r
+                    case "None":\r
+                        query = "";\r
+                        break;\r
+                    case "Fast":\r
+                        query = " --deinterlace=\"fast\"";\r
+                        break;\r
+                    case "Slow":\r
+                        query = " --deinterlace=\"slow\"";\r
+                        break;\r
+                    case "Slower":\r
+                        query = " --deinterlace=\"slower\"";\r
+                        break;\r
+                    case "Custom":\r
+                        query = " --deinterlace=\"" + text_custom.Text + "\"";\r
+                        break;\r
+                    default:\r
+                        query = "";\r
+                        break;\r
+                }\r
+                return query;\r
+            }\r
+        }\r
+\r
+        public void setOption(string value)\r
+        {\r
+            text_custom.Text = "";\r
+            text_custom.Visible = false;\r
+            switch (value)\r
+            {\r
+\r
+                case "None":\r
+                    drop_deinterlace.SelectedIndex = 0;\r
+                    break;\r
+                case "Fast":\r
+                    drop_deinterlace.SelectedIndex = 1;\r
+                    break;\r
+                case "Slow":\r
+                    drop_deinterlace.SelectedIndex = 2;\r
+                    break;\r
+                case "Slower":\r
+                    drop_deinterlace.SelectedIndex = 3;\r
+\r
+                    break;\r
+                default:\r
+                    drop_deinterlace.SelectedIndex = 4;\r
+                    text_custom.Text = value;\r
+                    text_custom.Visible = true;\r
+                    break;\r
+            }\r
+        }\r
+\r
+        public event EventHandler onChange;\r
+        protected virtual void valueChanged(EventArgs e)\r
+        {\r
+            if (onChange != null)\r
+                onChange(this, e);\r
+        }\r
+\r
+    }\r
+}\r
diff --git a/win/C#/Controls/Deinterlace.resx b/win/C#/Controls/Deinterlace.resx
new file mode 100644 (file)
index 0000000..ff31a6d
--- /dev/null
@@ -0,0 +1,120 @@
+<?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
+</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 (file)
index 0000000..e4b9621
--- /dev/null
@@ -0,0 +1,99 @@
+/*  Denoise.designer.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+namespace Handbrake\r
+{\r
+    partial class Denoise\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 Component 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
+            this.label18 = new System.Windows.Forms.Label();\r
+            this.drop_denoise = new System.Windows.Forms.ComboBox();\r
+            this.text_custom = new System.Windows.Forms.TextBox();\r
+            this.SuspendLayout();\r
+            // \r
+            // label18\r
+            // \r
+            this.label18.AutoSize = true;\r
+            this.label18.BackColor = System.Drawing.Color.Transparent;\r
+            this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.label18.Location = new System.Drawing.Point(3, 7);\r
+            this.label18.Name = "label18";\r
+            this.label18.Size = new System.Drawing.Size(58, 13);\r
+            this.label18.TabIndex = 43;\r
+            this.label18.Text = "Denoise:";\r
+            // \r
+            // drop_denoise\r
+            // \r
+            this.drop_denoise.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
+            this.drop_denoise.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.drop_denoise.FormattingEnabled = true;\r
+            this.drop_denoise.Items.AddRange(new object[] {\r
+            "None",\r
+            "Weak",\r
+            "Medium",\r
+            "Strong",\r
+            "Custom"});\r
+            this.drop_denoise.Location = new System.Drawing.Point(111, 4);\r
+            this.drop_denoise.Name = "drop_denoise";\r
+            this.drop_denoise.Size = new System.Drawing.Size(161, 21);\r
+            this.drop_denoise.TabIndex = 42;\r
+            this.drop_denoise.SelectedIndexChanged += new System.EventHandler(this.drop_decomb_SelectedIndexChanged);\r
+            // \r
+            // text_custom\r
+            // \r
+            this.text_custom.Location = new System.Drawing.Point(278, 4);\r
+            this.text_custom.Name = "text_custom";\r
+            this.text_custom.Size = new System.Drawing.Size(115, 20);\r
+            this.text_custom.TabIndex = 44;\r
+            this.text_custom.Visible = false;\r
+            // \r
+            // Denoise\r
+            // \r
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;\r
+            this.AutoSize = true;\r
+            this.Controls.Add(this.text_custom);\r
+            this.Controls.Add(this.label18);\r
+            this.Controls.Add(this.drop_denoise);\r
+            this.Margin = new System.Windows.Forms.Padding(0);\r
+            this.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.Name = "Denoise";\r
+            this.Size = new System.Drawing.Size(400, 30);\r
+            this.ResumeLayout(false);\r
+            this.PerformLayout();\r
+\r
+        }\r
+\r
+        #endregion\r
+\r
+        internal System.Windows.Forms.Label label18;\r
+        internal System.Windows.Forms.ComboBox drop_denoise;\r
+        private System.Windows.Forms.TextBox text_custom;\r
+    }\r
+}\r
diff --git a/win/C#/Controls/Denoise.cs b/win/C#/Controls/Denoise.cs
new file mode 100644 (file)
index 0000000..d8b7e91
--- /dev/null
@@ -0,0 +1,94 @@
+/*  DeNoise.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+using System;\r
+using System.Windows.Forms;\r
+\r
+namespace Handbrake\r
+{\r
+    public partial class Denoise : UserControl\r
+    {\r
+        public Denoise()\r
+        {\r
+            InitializeComponent();\r
+            drop_denoise.SelectedIndex = 0;\r
+        }\r
+\r
+        private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            if (drop_denoise.Text == "Custom")\r
+                text_custom.Visible = true;\r
+            else\r
+                text_custom.Visible = false;\r
+        }\r
+\r
+        public string getDropValue\r
+        {\r
+            get { return drop_denoise.Text; }\r
+        }\r
+\r
+        public string getCustomValue\r
+        {\r
+            get { return text_custom.Text; }\r
+        }\r
+\r
+        public string getCLIQuery\r
+        {\r
+            get\r
+            {\r
+                string query;\r
+                switch (drop_denoise.Text)\r
+                {\r
+                    case "None":\r
+                        query = "";\r
+                        break;\r
+                    case "Weak":\r
+                        query = " --denoise=\"weak\"";\r
+                        break;\r
+                    case "Medium":\r
+                        query = " --denoise=\"medium\"";\r
+                        break;\r
+                    case "Strong":\r
+                        query = " --denoise=\"strong\"";\r
+                        break;\r
+                    case "Custom":\r
+                        query = " --denoise=\"" + text_custom.Text + "\"";\r
+                        break;\r
+                    default:\r
+                        query = "";\r
+                        break;\r
+                }\r
+                return query;\r
+            }\r
+        }\r
+\r
+        public void setOption(string value)\r
+        {\r
+            text_custom.Text = "";\r
+            text_custom.Visible = false;\r
+            switch (value)\r
+            {\r
+                case "None":\r
+                    drop_denoise.SelectedIndex = 0;\r
+                    break;\r
+                case "Weak":\r
+                    drop_denoise.SelectedIndex = 1;\r
+                    break;\r
+                case "Medium":\r
+                    drop_denoise.SelectedIndex = 2;\r
+                    break;\r
+                case "Strong":\r
+                    drop_denoise.SelectedIndex = 3;\r
+                    break;\r
+                default:\r
+                    drop_denoise.SelectedIndex = 4;\r
+                    text_custom.Text = value;\r
+                    text_custom.Visible = true;\r
+                    break;\r
+            }\r
+        }\r
+\r
+    }\r
+}\r
diff --git a/win/C#/Controls/Denoise.resx b/win/C#/Controls/Denoise.resx
new file mode 100644 (file)
index 0000000..ff31a6d
--- /dev/null
@@ -0,0 +1,120 @@
+<?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
+</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 (file)
index 0000000..71983b3
--- /dev/null
@@ -0,0 +1,97 @@
+/*  Detelecine.Designer.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+namespace Handbrake\r
+{\r
+    partial class Detelecine\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 Component 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
+            this.label18 = new System.Windows.Forms.Label();\r
+            this.drop_detelecine = new System.Windows.Forms.ComboBox();\r
+            this.text_custom = new System.Windows.Forms.TextBox();\r
+            this.SuspendLayout();\r
+            // \r
+            // label18\r
+            // \r
+            this.label18.AutoSize = true;\r
+            this.label18.BackColor = System.Drawing.Color.Transparent;\r
+            this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.label18.Location = new System.Drawing.Point(3, 7);\r
+            this.label18.Name = "label18";\r
+            this.label18.Size = new System.Drawing.Size(72, 13);\r
+            this.label18.TabIndex = 43;\r
+            this.label18.Text = "Detelecine:";\r
+            // \r
+            // drop_detelecine\r
+            // \r
+            this.drop_detelecine.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
+            this.drop_detelecine.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.drop_detelecine.FormattingEnabled = true;\r
+            this.drop_detelecine.Items.AddRange(new object[] {\r
+            "Off",\r
+            "Default",\r
+            "Custom"});\r
+            this.drop_detelecine.Location = new System.Drawing.Point(111, 4);\r
+            this.drop_detelecine.Name = "drop_detelecine";\r
+            this.drop_detelecine.Size = new System.Drawing.Size(161, 21);\r
+            this.drop_detelecine.TabIndex = 42;\r
+            this.drop_detelecine.SelectedIndexChanged += new System.EventHandler(this.drop_detelecine_SelectedIndexChanged);\r
+            // \r
+            // text_custom\r
+            // \r
+            this.text_custom.Location = new System.Drawing.Point(278, 4);\r
+            this.text_custom.Name = "text_custom";\r
+            this.text_custom.Size = new System.Drawing.Size(115, 20);\r
+            this.text_custom.TabIndex = 44;\r
+            this.text_custom.Visible = false;\r
+            // \r
+            // Detelecine\r
+            // \r
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;\r
+            this.AutoSize = true;\r
+            this.Controls.Add(this.text_custom);\r
+            this.Controls.Add(this.label18);\r
+            this.Controls.Add(this.drop_detelecine);\r
+            this.Margin = new System.Windows.Forms.Padding(0);\r
+            this.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.Name = "Detelecine";\r
+            this.Size = new System.Drawing.Size(400, 30);\r
+            this.ResumeLayout(false);\r
+            this.PerformLayout();\r
+\r
+        }\r
+\r
+        #endregion\r
+\r
+        internal System.Windows.Forms.ComboBox drop_detelecine;\r
+        private System.Windows.Forms.TextBox text_custom;\r
+        private System.Windows.Forms.Label label18;\r
+    }\r
+}\r
diff --git a/win/C#/Controls/Detelecine.cs b/win/C#/Controls/Detelecine.cs
new file mode 100644 (file)
index 0000000..6eaf462
--- /dev/null
@@ -0,0 +1,83 @@
+/*  Detelecine.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+\r
+using System;\r
+using System.Windows.Forms;\r
+\r
+namespace Handbrake\r
+{\r
+    public partial class Detelecine : UserControl\r
+    {\r
+        public Detelecine()\r
+        {\r
+            InitializeComponent();\r
+            drop_detelecine.SelectedIndex = 0;\r
+        }\r
+\r
+        private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            if (drop_detelecine.Text == "Custom")\r
+                text_custom.Visible = true;\r
+            else\r
+                text_custom.Visible = false;\r
+        }\r
+\r
+        public string getDropValue\r
+        {\r
+            get { return drop_detelecine.Text; }\r
+        }\r
+\r
+        public string getCustomValue\r
+        {\r
+            get { return text_custom.Text; }\r
+        }\r
+\r
+        public string getCLIQuery\r
+        {\r
+            get\r
+            {\r
+                string query;\r
+                switch (drop_detelecine.Text)\r
+                {\r
+                    case "Off":\r
+                        query = "";\r
+                        break;\r
+                    case "Default":\r
+                        query = " --detelecine";\r
+                        break;\r
+                    case "Custom":\r
+                        query = " --detelecine=\"" + text_custom.Text + "\"";\r
+                        break;\r
+                    default:\r
+                        query = "";\r
+                        break;\r
+                }\r
+                return query;\r
+            }\r
+        }\r
+\r
+        public void setOption(string value)\r
+        {\r
+            text_custom.Text = "";\r
+            text_custom.Visible = false;\r
+            switch (value)\r
+            {\r
+                case "Off":\r
+                    drop_detelecine.SelectedIndex = 0;\r
+                    break;\r
+                case "Default":\r
+                    drop_detelecine.SelectedIndex = 1;\r
+                    break;\r
+                default:\r
+                    drop_detelecine.SelectedIndex = 2;\r
+                    text_custom.Text = value;\r
+                    text_custom.Visible = true;\r
+                    break;\r
+            }\r
+        }\r
+\r
+    }\r
+}\r
diff --git a/win/C#/Controls/Detelecine.resx b/win/C#/Controls/Detelecine.resx
new file mode 100644 (file)
index 0000000..ff31a6d
--- /dev/null
@@ -0,0 +1,120 @@
+<?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
+</root>
\ No newline at end of file
index c255e6d..68bcac0 100644 (file)
@@ -774,15 +774,15 @@ namespace Handbrake.Functions
 \r
                 #endregion\r
 \r
-                #region Picture Tab - Filters\r
+                #region Filters\r
 \r
+                thisQuery.q_decomb = "Off";\r
                 if (decomb.Success)\r
                 {\r
-                    thisQuery.q_decomb = "True";\r
+                    thisQuery.q_decomb = "Default";\r
                     if (decombValue.Success)\r
                         thisQuery.q_decomb = decombValue.ToString().Replace("--decomb=", "").Replace("\"", "");\r
-                } else\r
-                    thisQuery.q_decomb = "False";\r
+                }\r
 \r
                 thisQuery.q_deinterlace = "None";\r
                 if (deinterlace.Success)\r
@@ -806,14 +806,14 @@ namespace Handbrake.Functions
                 if (deblockValue != "")\r
                     int.TryParse(deblockValue, out thisQuery.q_deBlock);\r
 \r
+                thisQuery.q_detelecine = "Off";\r
                 if (detelecine.Success)\r
                 {\r
-                    thisQuery.q_detelecine = "True";\r
+                    thisQuery.q_detelecine = "Default";\r
                     if (detelecineValue.Success)\r
                         thisQuery.q_detelecine = detelecineValue.ToString().Replace("--detelecine=", "").Replace("\"", "");\r
                 }\r
-                else\r
-                    thisQuery.q_detelecine = "False";\r
+\r
                 #endregion\r
 \r
                 #region Video Settings Tab\r
index 7f8e9a6..88b0e3a 100644 (file)
     <Reference Include="System.XML" />\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <Compile Include="Controls\Denoise.cs">\r
+      <SubType>UserControl</SubType>\r
+    </Compile>\r
+    <Compile Include="Controls\Denoise.Designer.cs">\r
+      <DependentUpon>Denoise.cs</DependentUpon>\r
+    </Compile>\r
+    <Compile Include="Controls\Decomb.cs">\r
+      <SubType>UserControl</SubType>\r
+    </Compile>\r
+    <Compile Include="Controls\Decomb.Designer.cs">\r
+      <DependentUpon>Decomb.cs</DependentUpon>\r
+    </Compile>\r
+    <Compile Include="Controls\Detelecine.cs">\r
+      <SubType>UserControl</SubType>\r
+    </Compile>\r
+    <Compile Include="Controls\Detelecine.Designer.cs">\r
+      <DependentUpon>Detelecine.cs</DependentUpon>\r
+    </Compile>\r
+    <Compile Include="Controls\Deinterlace.cs">\r
+      <SubType>UserControl</SubType>\r
+    </Compile>\r
+    <Compile Include="Controls\Deinterlace.Designer.cs">\r
+      <DependentUpon>Deinterlace.cs</DependentUpon>\r
+    </Compile>\r
     <Compile Include="frmPreview.cs">\r
       <SubType>Form</SubType>\r
     </Compile>\r
     <Compile Include="Parsing\Title.cs" />\r
     <Compile Include="Program.cs" />\r
     <Compile Include="Properties\AssemblyInfo.cs" />\r
+    <EmbeddedResource Include="Controls\Denoise.resx">\r
+      <DependentUpon>Denoise.cs</DependentUpon>\r
+      <SubType>Designer</SubType>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Controls\Decomb.resx">\r
+      <DependentUpon>Decomb.cs</DependentUpon>\r
+      <SubType>Designer</SubType>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Controls\Detelecine.resx">\r
+      <DependentUpon>Detelecine.cs</DependentUpon>\r
+      <SubType>Designer</SubType>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Controls\Deinterlace.resx">\r
+      <DependentUpon>Deinterlace.cs</DependentUpon>\r
+      <SubType>Designer</SubType>\r
+    </EmbeddedResource>\r
     <EmbeddedResource Include="frmPreview.resx">\r
       <DependentUpon>frmPreview.cs</DependentUpon>\r
       <SubType>Designer</SubType>\r
index 3317fb8..2b36a97 100644 (file)
@@ -1,4 +1,10 @@
-using System;\r
+/*  QueueHandler.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+\r
+using System;\r
 using System.Collections.Generic;\r
 using System.IO;\r
 using System.Windows.Forms;\r
index 63674ea..1dc67cf 100644 (file)
@@ -121,6 +121,8 @@ namespace Handbrake
             this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();\r
             this.mnu_about = new System.Windows.Forms.ToolStripMenuItem();\r
             this.frmMainMenu = new System.Windows.Forms.MenuStrip();\r
+            this.debugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
+            this.mnu_qptest = new System.Windows.Forms.ToolStripMenuItem();\r
             this.gb_source = new System.Windows.Forms.GroupBox();\r
             this.Label13 = new System.Windows.Forms.Label();\r
             this.Label17 = new System.Windows.Forms.Label();\r
@@ -163,7 +165,6 @@ namespace Handbrake
             this.drp_track1Audio = new System.Windows.Forms.ComboBox();\r
             this.TabPage3 = new System.Windows.Forms.TabPage();\r
             this.label25 = new System.Windows.Forms.Label();\r
-            this.check_grayscale = new System.Windows.Forms.CheckBox();\r
             this.Label22 = new System.Windows.Forms.Label();\r
             this.check_2PassEncode = new System.Windows.Forms.CheckBox();\r
             this.Label2 = new System.Windows.Forms.Label();\r
@@ -171,11 +172,8 @@ namespace Handbrake
             this.SliderValue = new System.Windows.Forms.Label();\r
             this.Label46 = new System.Windows.Forms.Label();\r
             this.Label40 = new System.Windows.Forms.Label();\r
+            this.check_grayscale = new System.Windows.Forms.CheckBox();\r
             this.TabPage1 = new System.Windows.Forms.TabPage();\r
-            this.slider_deblock = new System.Windows.Forms.TrackBar();\r
-            this.label8 = new System.Windows.Forms.Label();\r
-            this.lbl_deblockVal = new System.Windows.Forms.Label();\r
-            this.check_decomb = new System.Windows.Forms.CheckBox();\r
             this.label6 = new System.Windows.Forms.Label();\r
             this.drp_anamorphic = new System.Windows.Forms.ComboBox();\r
             this.text_bottom = new System.Windows.Forms.NumericUpDown();\r
@@ -187,19 +185,22 @@ namespace Handbrake
             this.lbl_Aspect = new System.Windows.Forms.Label();\r
             this.Label91 = new System.Windows.Forms.Label();\r
             this.Label55 = new System.Windows.Forms.Label();\r
-            this.label24 = new System.Windows.Forms.Label();\r
-            this.drp_deNoise = new System.Windows.Forms.ComboBox();\r
-            this.label11 = new System.Windows.Forms.Label();\r
-            this.check_detelecine = new System.Windows.Forms.CheckBox();\r
-            this.label4 = new System.Windows.Forms.Label();\r
-            this.drp_deInterlace_option = new System.Windows.Forms.ComboBox();\r
             this.Label1 = new System.Windows.Forms.Label();\r
             this.Label53 = new System.Windows.Forms.Label();\r
             this.Label52 = new System.Windows.Forms.Label();\r
             this.Label51 = new System.Windows.Forms.Label();\r
             this.Label15 = new System.Windows.Forms.Label();\r
+            this.slider_deblock = new System.Windows.Forms.TrackBar();\r
+            this.label8 = new System.Windows.Forms.Label();\r
+            this.lbl_deblockVal = new System.Windows.Forms.Label();\r
+            this.label24 = new System.Windows.Forms.Label();\r
             this.Check_ChapterMarkers = new System.Windows.Forms.CheckBox();\r
             this.tabs_panel = new System.Windows.Forms.TabControl();\r
+            this.tab_Filters = new System.Windows.Forms.TabPage();\r
+            this.ctl_deinterlace = new Handbrake.Deinterlace();\r
+            this.ctl_denoise = new Handbrake.Denoise();\r
+            this.ctl_decomb = new Handbrake.Decomb();\r
+            this.ctl_detelecine = new Handbrake.Detelecine();\r
             this.tab_chapters = new System.Windows.Forms.TabPage();\r
             this.label31 = new System.Windows.Forms.Label();\r
             this.h264Tab = new System.Windows.Forms.TabPage();\r
@@ -253,8 +254,6 @@ namespace Handbrake
             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.debugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
-            this.mnu_qptest = new System.Windows.Forms.ToolStripMenuItem();\r
             Label38 = new System.Windows.Forms.Label();\r
             notifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components);\r
             notifyIconMenu.SuspendLayout();\r
@@ -268,12 +267,13 @@ namespace Handbrake
             ((System.ComponentModel.ISupportInitialize)(this.tb_drc)).BeginInit();\r
             this.TabPage3.SuspendLayout();\r
             this.TabPage1.SuspendLayout();\r
-            ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).BeginInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.text_bottom)).BeginInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.text_top)).BeginInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.text_left)).BeginInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.text_right)).BeginInit();\r
+            ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).BeginInit();\r
             this.tabs_panel.SuspendLayout();\r
+            this.tab_Filters.SuspendLayout();\r
             this.tab_chapters.SuspendLayout();\r
             this.h264Tab.SuspendLayout();\r
             this.tab_query.SuspendLayout();\r
@@ -470,7 +470,7 @@ namespace Handbrake
             this.check_turbo.BackColor = System.Drawing.Color.Transparent;\r
             this.check_turbo.Enabled = false;\r
             this.check_turbo.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.check_turbo.Location = new System.Drawing.Point(37, 184);\r
+            this.check_turbo.Location = new System.Drawing.Point(37, 168);\r
             this.check_turbo.Name = "check_turbo";\r
             this.check_turbo.Size = new System.Drawing.Size(115, 17);\r
             this.check_turbo.TabIndex = 7;\r
@@ -1412,10 +1412,25 @@ namespace Handbrake
             this.frmMainMenu.Location = new System.Drawing.Point(0, 0);\r
             this.frmMainMenu.Name = "frmMainMenu";\r
             this.frmMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;\r
-            this.frmMainMenu.Size = new System.Drawing.Size(992, 24);\r
+            this.frmMainMenu.Size = new System.Drawing.Size(995, 24);\r
             this.frmMainMenu.TabIndex = 0;\r
             this.frmMainMenu.Text = "MenuStrip";\r
             // \r
+            // debugToolStripMenuItem\r
+            // \r
+            this.debugToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
+            this.mnu_qptest});\r
+            this.debugToolStripMenuItem.Name = "debugToolStripMenuItem";\r
+            this.debugToolStripMenuItem.Size = new System.Drawing.Size(56, 20);\r
+            this.debugToolStripMenuItem.Text = "Debug";\r
+            // \r
+            // mnu_qptest\r
+            // \r
+            this.mnu_qptest.Name = "mnu_qptest";\r
+            this.mnu_qptest.Size = new System.Drawing.Size(201, 22);\r
+            this.mnu_qptest.Text = "Query Parser Tester";\r
+            this.mnu_qptest.Click += new System.EventHandler(this.mnu_qptest_Click);\r
+            // \r
             // gb_source\r
             // \r
             this.gb_source.Controls.Add(this.lbl_duration);\r
@@ -1561,6 +1576,7 @@ namespace Handbrake
             this.TabPage2.Size = new System.Drawing.Size(713, 316);\r
             this.TabPage2.TabIndex = 3;\r
             this.TabPage2.Text = "Audio && Subtitles";\r
+            this.TabPage2.UseVisualStyleBackColor = true;\r
             // \r
             // lv_audioList\r
             // \r
@@ -1853,7 +1869,6 @@ namespace Handbrake
             this.TabPage3.Controls.Add(this.drp_videoEncoder);\r
             this.TabPage3.Controls.Add(this.Label47);\r
             this.TabPage3.Controls.Add(this.label25);\r
-            this.TabPage3.Controls.Add(this.check_grayscale);\r
             this.TabPage3.Controls.Add(this.check_turbo);\r
             this.TabPage3.Controls.Add(this.Label22);\r
             this.TabPage3.Controls.Add(this.check_2PassEncode);\r
@@ -1873,6 +1888,7 @@ namespace Handbrake
             this.TabPage3.Size = new System.Drawing.Size(713, 316);\r
             this.TabPage3.TabIndex = 2;\r
             this.TabPage3.Text = "Video";\r
+            this.TabPage3.UseVisualStyleBackColor = true;\r
             // \r
             // label25\r
             // \r
@@ -1885,18 +1901,6 @@ namespace Handbrake
             this.label25.TabIndex = 0;\r
             this.label25.Text = "Video";\r
             // \r
-            // check_grayscale\r
-            // \r
-            this.check_grayscale.AutoSize = true;\r
-            this.check_grayscale.BackColor = System.Drawing.Color.Transparent;\r
-            this.check_grayscale.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.check_grayscale.Location = new System.Drawing.Point(16, 138);\r
-            this.check_grayscale.Name = "check_grayscale";\r
-            this.check_grayscale.Size = new System.Drawing.Size(138, 17);\r
-            this.check_grayscale.TabIndex = 5;\r
-            this.check_grayscale.Text = "Grayscale Encoding";\r
-            this.check_grayscale.UseVisualStyleBackColor = false;\r
-            // \r
             // Label22\r
             // \r
             this.Label22.AutoSize = true;\r
@@ -1913,7 +1917,7 @@ namespace Handbrake
             this.check_2PassEncode.AutoSize = true;\r
             this.check_2PassEncode.BackColor = System.Drawing.Color.Transparent;\r
             this.check_2PassEncode.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.check_2PassEncode.Location = new System.Drawing.Point(16, 161);\r
+            this.check_2PassEncode.Location = new System.Drawing.Point(16, 145);\r
             this.check_2PassEncode.Name = "check_2PassEncode";\r
             this.check_2PassEncode.Size = new System.Drawing.Size(119, 17);\r
             this.check_2PassEncode.TabIndex = 6;\r
@@ -1976,15 +1980,23 @@ namespace Handbrake
             this.Label40.TabIndex = 13;\r
             this.Label40.Text = "Constant Quality:";\r
             // \r
+            // check_grayscale\r
+            // \r
+            this.check_grayscale.AutoSize = true;\r
+            this.check_grayscale.BackColor = System.Drawing.Color.Transparent;\r
+            this.check_grayscale.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.check_grayscale.Location = new System.Drawing.Point(25, 210);\r
+            this.check_grayscale.Name = "check_grayscale";\r
+            this.check_grayscale.Size = new System.Drawing.Size(138, 17);\r
+            this.check_grayscale.TabIndex = 5;\r
+            this.check_grayscale.Text = "Grayscale Encoding";\r
+            this.check_grayscale.UseVisualStyleBackColor = false;\r
+            // \r
             // TabPage1\r
             // \r
             this.TabPage1.BackColor = System.Drawing.Color.Transparent;\r
-            this.TabPage1.Controls.Add(this.slider_deblock);\r
-            this.TabPage1.Controls.Add(this.label8);\r
-            this.TabPage1.Controls.Add(this.lbl_deblockVal);\r
             this.TabPage1.Controls.Add(this.check_customCrop);\r
             this.TabPage1.Controls.Add(this.check_autoCrop);\r
-            this.TabPage1.Controls.Add(this.check_decomb);\r
             this.TabPage1.Controls.Add(this.lbl_src_res);\r
             this.TabPage1.Controls.Add(this.label7);\r
             this.TabPage1.Controls.Add(this.label6);\r
@@ -2000,12 +2012,6 @@ namespace Handbrake
             this.TabPage1.Controls.Add(this.text_height);\r
             this.TabPage1.Controls.Add(this.Label55);\r
             this.TabPage1.Controls.Add(this.text_width);\r
-            this.TabPage1.Controls.Add(this.label24);\r
-            this.TabPage1.Controls.Add(this.drp_deNoise);\r
-            this.TabPage1.Controls.Add(this.label11);\r
-            this.TabPage1.Controls.Add(this.check_detelecine);\r
-            this.TabPage1.Controls.Add(this.label4);\r
-            this.TabPage1.Controls.Add(this.drp_deInterlace_option);\r
             this.TabPage1.Controls.Add(this.Label1);\r
             this.TabPage1.Controls.Add(this.Label53);\r
             this.TabPage1.Controls.Add(this.Label52);\r
@@ -2017,51 +2023,7 @@ namespace Handbrake
             this.TabPage1.Size = new System.Drawing.Size(713, 316);\r
             this.TabPage1.TabIndex = 0;\r
             this.TabPage1.Text = "Picture Settings";\r
-            // \r
-            // slider_deblock\r
-            // \r
-            this.slider_deblock.Location = new System.Drawing.Point(407, 264);\r
-            this.slider_deblock.Maximum = 15;\r
-            this.slider_deblock.Minimum = 4;\r
-            this.slider_deblock.Name = "slider_deblock";\r
-            this.slider_deblock.Size = new System.Drawing.Size(174, 42);\r
-            this.slider_deblock.TabIndex = 35;\r
-            this.slider_deblock.Value = 4;\r
-            this.slider_deblock.Scroll += new System.EventHandler(this.slider_deblock_Scroll);\r
-            // \r
-            // label8\r
-            // \r
-            this.label8.AutoSize = true;\r
-            this.label8.BackColor = System.Drawing.Color.Transparent;\r
-            this.label8.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label8.Location = new System.Drawing.Point(311, 269);\r
-            this.label8.Name = "label8";\r
-            this.label8.Size = new System.Drawing.Size(58, 13);\r
-            this.label8.TabIndex = 37;\r
-            this.label8.Text = "Deblock:";\r
-            // \r
-            // lbl_deblockVal\r
-            // \r
-            this.lbl_deblockVal.AutoSize = true;\r
-            this.lbl_deblockVal.BackColor = System.Drawing.Color.Transparent;\r
-            this.lbl_deblockVal.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_deblockVal.Location = new System.Drawing.Point(585, 269);\r
-            this.lbl_deblockVal.Name = "lbl_deblockVal";\r
-            this.lbl_deblockVal.Size = new System.Drawing.Size(24, 13);\r
-            this.lbl_deblockVal.TabIndex = 36;\r
-            this.lbl_deblockVal.Text = "Off";\r
-            // \r
-            // check_decomb\r
-            // \r
-            this.check_decomb.AutoSize = true;\r
-            this.check_decomb.BackColor = System.Drawing.Color.Transparent;\r
-            this.check_decomb.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.check_decomb.Location = new System.Drawing.Point(314, 188);\r
-            this.check_decomb.Name = "check_decomb";\r
-            this.check_decomb.Size = new System.Drawing.Size(73, 17);\r
-            this.check_decomb.TabIndex = 32;\r
-            this.check_decomb.Text = "Decomb";\r
-            this.check_decomb.UseVisualStyleBackColor = false;\r
+            this.TabPage1.UseVisualStyleBackColor = true;\r
             // \r
             // label6\r
             // \r
@@ -2198,81 +2160,6 @@ namespace Handbrake
             this.Label55.TabIndex = 16;\r
             this.Label55.Text = "Width/Height:";\r
             // \r
-            // label24\r
-            // \r
-            this.label24.AutoSize = true;\r
-            this.label24.BackColor = System.Drawing.Color.Transparent;\r
-            this.label24.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label24.Location = new System.Drawing.Point(311, 142);\r
-            this.label24.Name = "label24";\r
-            this.label24.Size = new System.Drawing.Size(49, 13);\r
-            this.label24.TabIndex = 22;\r
-            this.label24.Text = "Filters";\r
-            // \r
-            // drp_deNoise\r
-            // \r
-            this.drp_deNoise.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
-            this.drp_deNoise.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_deNoise.FormattingEnabled = true;\r
-            this.drp_deNoise.Items.AddRange(new object[] {\r
-            "None",\r
-            "Weak",\r
-            "Medium",\r
-            "Strong"});\r
-            this.drp_deNoise.Location = new System.Drawing.Point(413, 237);\r
-            this.drp_deNoise.Name = "drp_deNoise";\r
-            this.drp_deNoise.Size = new System.Drawing.Size(161, 21);\r
-            this.drp_deNoise.TabIndex = 29;\r
-            // \r
-            // label11\r
-            // \r
-            this.label11.AutoSize = true;\r
-            this.label11.BackColor = System.Drawing.Color.Transparent;\r
-            this.label11.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label11.Location = new System.Drawing.Point(311, 240);\r
-            this.label11.Name = "label11";\r
-            this.label11.Size = new System.Drawing.Size(58, 13);\r
-            this.label11.TabIndex = 28;\r
-            this.label11.Text = "Denoise:";\r
-            // \r
-            // check_detelecine\r
-            // \r
-            this.check_detelecine.AutoSize = true;\r
-            this.check_detelecine.BackColor = System.Drawing.Color.Transparent;\r
-            this.check_detelecine.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.check_detelecine.Location = new System.Drawing.Point(314, 165);\r
-            this.check_detelecine.Name = "check_detelecine";\r
-            this.check_detelecine.Size = new System.Drawing.Size(86, 17);\r
-            this.check_detelecine.TabIndex = 23;\r
-            this.check_detelecine.Text = "Detelecine";\r
-            this.check_detelecine.UseVisualStyleBackColor = false;\r
-            // \r
-            // label4\r
-            // \r
-            this.label4.AutoSize = true;\r
-            this.label4.BackColor = System.Drawing.Color.Transparent;\r
-            this.label4.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label4.Location = new System.Drawing.Point(311, 212);\r
-            this.label4.Name = "label4";\r
-            this.label4.Size = new System.Drawing.Size(77, 13);\r
-            this.label4.TabIndex = 26;\r
-            this.label4.Text = "Deinterlace:";\r
-            // \r
-            // drp_deInterlace_option\r
-            // \r
-            this.drp_deInterlace_option.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
-            this.drp_deInterlace_option.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_deInterlace_option.FormattingEnabled = true;\r
-            this.drp_deInterlace_option.Items.AddRange(new object[] {\r
-            "None",\r
-            "Fast",\r
-            "Slow",\r
-            "Slower"});\r
-            this.drp_deInterlace_option.Location = new System.Drawing.Point(413, 209);\r
-            this.drp_deInterlace_option.Name = "drp_deInterlace_option";\r
-            this.drp_deInterlace_option.Size = new System.Drawing.Size(161, 21);\r
-            this.drp_deInterlace_option.TabIndex = 27;\r
-            // \r
             // Label1\r
             // \r
             this.Label1.AutoSize = true;\r
@@ -2328,6 +2215,50 @@ namespace Handbrake
             this.Label15.TabIndex = 3;\r
             this.Label15.Text = "Left";\r
             // \r
+            // slider_deblock\r
+            // \r
+            this.slider_deblock.Location = new System.Drawing.Point(118, 162);\r
+            this.slider_deblock.Maximum = 15;\r
+            this.slider_deblock.Minimum = 4;\r
+            this.slider_deblock.Name = "slider_deblock";\r
+            this.slider_deblock.Size = new System.Drawing.Size(174, 42);\r
+            this.slider_deblock.TabIndex = 35;\r
+            this.slider_deblock.Value = 4;\r
+            this.slider_deblock.Scroll += new System.EventHandler(this.slider_deblock_Scroll);\r
+            // \r
+            // label8\r
+            // \r
+            this.label8.AutoSize = true;\r
+            this.label8.BackColor = System.Drawing.Color.Transparent;\r
+            this.label8.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.label8.Location = new System.Drawing.Point(22, 167);\r
+            this.label8.Name = "label8";\r
+            this.label8.Size = new System.Drawing.Size(58, 13);\r
+            this.label8.TabIndex = 37;\r
+            this.label8.Text = "Deblock:";\r
+            // \r
+            // lbl_deblockVal\r
+            // \r
+            this.lbl_deblockVal.AutoSize = true;\r
+            this.lbl_deblockVal.BackColor = System.Drawing.Color.Transparent;\r
+            this.lbl_deblockVal.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.lbl_deblockVal.Location = new System.Drawing.Point(296, 167);\r
+            this.lbl_deblockVal.Name = "lbl_deblockVal";\r
+            this.lbl_deblockVal.Size = new System.Drawing.Size(24, 13);\r
+            this.lbl_deblockVal.TabIndex = 36;\r
+            this.lbl_deblockVal.Text = "Off";\r
+            // \r
+            // label24\r
+            // \r
+            this.label24.AutoSize = true;\r
+            this.label24.BackColor = System.Drawing.Color.Transparent;\r
+            this.label24.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.label24.Location = new System.Drawing.Point(16, 11);\r
+            this.label24.Name = "label24";\r
+            this.label24.Size = new System.Drawing.Size(49, 13);\r
+            this.label24.TabIndex = 22;\r
+            this.label24.Text = "Filters";\r
+            // \r
             // Check_ChapterMarkers\r
             // \r
             this.Check_ChapterMarkers.AutoSize = true;\r
@@ -2344,6 +2275,7 @@ namespace Handbrake
             // tabs_panel\r
             // \r
             this.tabs_panel.Controls.Add(this.TabPage1);\r
+            this.tabs_panel.Controls.Add(this.tab_Filters);\r
             this.tabs_panel.Controls.Add(this.TabPage3);\r
             this.tabs_panel.Controls.Add(this.TabPage2);\r
             this.tabs_panel.Controls.Add(this.tab_chapters);\r
@@ -2357,6 +2289,66 @@ namespace Handbrake
             this.tabs_panel.TabIndex = 5;\r
             this.tabs_panel.TabStop = false;\r
             // \r
+            // tab_Filters\r
+            // \r
+            this.tab_Filters.Controls.Add(this.ctl_deinterlace);\r
+            this.tab_Filters.Controls.Add(this.ctl_denoise);\r
+            this.tab_Filters.Controls.Add(this.ctl_decomb);\r
+            this.tab_Filters.Controls.Add(this.ctl_detelecine);\r
+            this.tab_Filters.Controls.Add(this.slider_deblock);\r
+            this.tab_Filters.Controls.Add(this.label24);\r
+            this.tab_Filters.Controls.Add(this.check_grayscale);\r
+            this.tab_Filters.Controls.Add(this.label8);\r
+            this.tab_Filters.Controls.Add(this.lbl_deblockVal);\r
+            this.tab_Filters.Location = new System.Drawing.Point(4, 22);\r
+            this.tab_Filters.Name = "tab_Filters";\r
+            this.tab_Filters.Size = new System.Drawing.Size(713, 316);\r
+            this.tab_Filters.TabIndex = 9;\r
+            this.tab_Filters.Text = "Picture Filters";\r
+            this.tab_Filters.UseVisualStyleBackColor = true;\r
+            // \r
+            // ctl_deinterlace\r
+            // \r
+            this.ctl_deinterlace.AutoSize = true;\r
+            this.ctl_deinterlace.Location = new System.Drawing.Point(19, 95);\r
+            this.ctl_deinterlace.Margin = new System.Windows.Forms.Padding(0);\r
+            this.ctl_deinterlace.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.ctl_deinterlace.Name = "ctl_deinterlace";\r
+            this.ctl_deinterlace.Size = new System.Drawing.Size(275, 28);\r
+            this.ctl_deinterlace.TabIndex = 41;\r
+            this.ctl_deinterlace.onChange += new System.EventHandler(this.ctl_deinterlace_changed);\r
+            // \r
+            // ctl_denoise\r
+            // \r
+            this.ctl_denoise.AutoSize = true;\r
+            this.ctl_denoise.Location = new System.Drawing.Point(19, 123);\r
+            this.ctl_denoise.Margin = new System.Windows.Forms.Padding(0);\r
+            this.ctl_denoise.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.ctl_denoise.Name = "ctl_denoise";\r
+            this.ctl_denoise.Size = new System.Drawing.Size(275, 28);\r
+            this.ctl_denoise.TabIndex = 40;\r
+            // \r
+            // ctl_decomb\r
+            // \r
+            this.ctl_decomb.AutoSize = true;\r
+            this.ctl_decomb.Location = new System.Drawing.Point(19, 66);\r
+            this.ctl_decomb.Margin = new System.Windows.Forms.Padding(0);\r
+            this.ctl_decomb.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.ctl_decomb.Name = "ctl_decomb";\r
+            this.ctl_decomb.Size = new System.Drawing.Size(275, 28);\r
+            this.ctl_decomb.TabIndex = 39;\r
+            this.ctl_decomb.onChange += new System.EventHandler(this.ctl_decomb_changed);\r
+            // \r
+            // ctl_detelecine\r
+            // \r
+            this.ctl_detelecine.AutoSize = true;\r
+            this.ctl_detelecine.Location = new System.Drawing.Point(19, 38);\r
+            this.ctl_detelecine.Margin = new System.Windows.Forms.Padding(0);\r
+            this.ctl_detelecine.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.ctl_detelecine.Name = "ctl_detelecine";\r
+            this.ctl_detelecine.Size = new System.Drawing.Size(275, 28);\r
+            this.ctl_detelecine.TabIndex = 38;\r
+            // \r
             // tab_chapters\r
             // \r
             this.tab_chapters.BackColor = System.Drawing.Color.Transparent;\r
@@ -2368,6 +2360,7 @@ namespace Handbrake
             this.tab_chapters.Size = new System.Drawing.Size(713, 316);\r
             this.tab_chapters.TabIndex = 6;\r
             this.tab_chapters.Text = "Chapters";\r
+            this.tab_chapters.UseVisualStyleBackColor = true;\r
             // \r
             // label31\r
             // \r
@@ -2422,6 +2415,7 @@ namespace Handbrake
             this.h264Tab.Size = new System.Drawing.Size(713, 316);\r
             this.h264Tab.TabIndex = 8;\r
             this.h264Tab.Text = "Advanced";\r
+            this.h264Tab.UseVisualStyleBackColor = true;\r
             // \r
             // label43\r
             // \r
@@ -2584,6 +2578,7 @@ namespace Handbrake
             this.tab_query.Size = new System.Drawing.Size(713, 316);\r
             this.tab_query.TabIndex = 7;\r
             this.tab_query.Text = "Query Editor";\r
+            this.tab_query.UseVisualStyleBackColor = true;\r
             // \r
             // btn_clear\r
             // \r
@@ -2776,7 +2771,7 @@ namespace Handbrake
             this.toolStrip1.Location = new System.Drawing.Point(0, 24);\r
             this.toolStrip1.Name = "toolStrip1";\r
             this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;\r
-            this.toolStrip1.Size = new System.Drawing.Size(992, 39);\r
+            this.toolStrip1.Size = new System.Drawing.Size(995, 39);\r
             this.toolStrip1.TabIndex = 1;\r
             this.toolStrip1.Text = "toolStrip1";\r
             // \r
@@ -2924,7 +2919,7 @@ namespace Handbrake
             this.lbl_encode});\r
             this.StatusStrip.Location = new System.Drawing.Point(0, 627);\r
             this.StatusStrip.Name = "StatusStrip";\r
-            this.StatusStrip.Size = new System.Drawing.Size(992, 22);\r
+            this.StatusStrip.Size = new System.Drawing.Size(995, 22);\r
             this.StatusStrip.TabIndex = 7;\r
             this.StatusStrip.Text = "statusStrip1";\r
             // \r
@@ -2935,27 +2930,12 @@ namespace Handbrake
             this.lbl_encode.Size = new System.Drawing.Size(31, 17);\r
             this.lbl_encode.Text = "{0}";\r
             // \r
-            // debugToolStripMenuItem\r
-            // \r
-            this.debugToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
-            this.mnu_qptest});\r
-            this.debugToolStripMenuItem.Name = "debugToolStripMenuItem";\r
-            this.debugToolStripMenuItem.Size = new System.Drawing.Size(56, 20);\r
-            this.debugToolStripMenuItem.Text = "Debug";\r
-            // \r
-            // mnu_qptest\r
-            // \r
-            this.mnu_qptest.Name = "mnu_qptest";\r
-            this.mnu_qptest.Size = new System.Drawing.Size(201, 22);\r
-            this.mnu_qptest.Text = "Query Parser Tester";\r
-            this.mnu_qptest.Click += new System.EventHandler(this.mnu_qptest_Click);\r
-            // \r
             // frmMain\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
             this.AutoScroll = true;\r
-            this.ClientSize = new System.Drawing.Size(992, 649);\r
+            this.ClientSize = new System.Drawing.Size(995, 649);\r
             this.Controls.Add(this.gb_source);\r
             this.Controls.Add(this.groupBox_dest);\r
             this.Controls.Add(this.groupBox_output);\r
@@ -2986,12 +2966,14 @@ namespace Handbrake
             this.TabPage3.PerformLayout();\r
             this.TabPage1.ResumeLayout(false);\r
             this.TabPage1.PerformLayout();\r
-            ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).EndInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.text_bottom)).EndInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.text_top)).EndInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.text_left)).EndInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.text_right)).EndInit();\r
+            ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).EndInit();\r
             this.tabs_panel.ResumeLayout(false);\r
+            this.tab_Filters.ResumeLayout(false);\r
+            this.tab_Filters.PerformLayout();\r
             this.tab_chapters.ResumeLayout(false);\r
             this.tab_chapters.PerformLayout();\r
             this.h264Tab.ResumeLayout(false);\r
@@ -3078,10 +3060,6 @@ namespace Handbrake
         internal System.Windows.Forms.Label Label20;\r
         internal System.Windows.Forms.CheckBox check_grayscale;\r
         internal System.Windows.Forms.Label label24;\r
-        internal System.Windows.Forms.Label label11;\r
-        internal System.Windows.Forms.CheckBox check_detelecine;\r
-        internal System.Windows.Forms.Label label4;\r
-        internal System.Windows.Forms.ComboBox drp_deInterlace_option;\r
         private System.Windows.Forms.GroupBox groupBox2;\r
         internal System.Windows.Forms.Button btn_setDefault;\r
         private System.Windows.Forms.ToolStripMenuItem mnu_SelectDefault;\r
@@ -3192,12 +3170,10 @@ namespace Handbrake
         internal System.Windows.Forms.ToolStripMenuItem mnu_encodeLog;\r
         private System.Windows.Forms.StatusStrip StatusStrip;\r
         private System.Windows.Forms.ToolStripStatusLabel lbl_encode;\r
-        internal System.Windows.Forms.CheckBox check_decomb;\r
         internal System.Windows.Forms.RadioButton check_customCrop;\r
         internal System.Windows.Forms.RadioButton check_autoCrop;\r
         internal System.Windows.Forms.Label lbl_deblockVal;\r
         internal System.Windows.Forms.TrackBar slider_deblock;\r
-        internal System.Windows.Forms.ComboBox drp_deNoise;\r
         internal System.Windows.Forms.Label label8;\r
         internal System.Windows.Forms.OpenFileDialog ISO_Open;\r
         internal System.Windows.Forms.FolderBrowserDialog DVD_Open;\r
@@ -3232,6 +3208,11 @@ namespace Handbrake
         private System.Windows.Forms.DataGridViewTextBoxColumn name;\r
         private System.Windows.Forms.ToolStripMenuItem debugToolStripMenuItem;\r
         private System.Windows.Forms.ToolStripMenuItem mnu_qptest;\r
+        private System.Windows.Forms.TabPage tab_Filters;\r
+        internal Deinterlace ctl_deinterlace;\r
+        internal Denoise ctl_denoise;\r
+        internal Decomb ctl_decomb;\r
+        internal Detelecine ctl_detelecine;\r
 \r
     }\r
 }
\ No newline at end of file
index 4cad195..3c77a8d 100644 (file)
@@ -20,8 +20,8 @@ namespace Handbrake
     {\r
         // Objects which may be used by one or more other objects\r
         private delegate void UpdateWindowHandler();\r
-        Functions.Main hb_common_func = new Functions.Main();\r
-        Functions.Encode encodeHandler = new Functions.Encode();\r
+        Main hb_common_func = new Main();\r
+        Encode encodeHandler = new Encode();\r
         Queue.QueueHandler encodeQueue = new Queue.QueueHandler();\r
         Presets.PresetsHandler presetHandler = new Presets.PresetsHandler();\r
         Parsing.Title selectedTitle;\r
@@ -39,8 +39,6 @@ namespace Handbrake
         private string lastAction;\r
         public int maxWidth;\r
         public int maxHeight;\r
-\r
-\r
         Process hbproc;\r
 \r
         // Applicaiton Startup ************************************************\r
@@ -326,6 +324,14 @@ namespace Handbrake
         }\r
         #endregion\r
 \r
+        #region Debug Menu\r
+        private void mnu_qptest_Click(object sender, EventArgs e)\r
+        {\r
+            QueryParserTester qptest = new QueryParserTester();\r
+            qptest.Show();\r
+        }\r
+        #endregion\r
+\r
         #region Preset Bar\r
         // Right Click Menu Code\r
         private void pmnu_expandAll_Click(object sender, EventArgs e)\r
@@ -1172,6 +1178,20 @@ namespace Handbrake
                 text_width.Enabled = true;\r
             }\r
         }\r
+        \r
+        // Filter Tab\r
+        private void ctl_decomb_changed(object sender, EventArgs e)\r
+        {\r
+            if (ctl_decomb.getDropValue != "Off")\r
+                if (ctl_deinterlace.getDropValue != "None")\r
+                    ctl_deinterlace.setOption("None");\r
+        }\r
+        private void ctl_deinterlace_changed(object sender, EventArgs e)\r
+        {\r
+            if (ctl_detelecine.getDropValue != "None")\r
+                if (ctl_decomb.getDropValue != "Off")\r
+                    ctl_decomb.setOption("Off");\r
+        }\r
         private void slider_deblock_Scroll(object sender, EventArgs e)\r
         {\r
             lbl_deblockVal.Text = slider_deblock.Value == 4 ? "Off" : slider_deblock.Value.ToString();\r
@@ -2071,13 +2091,6 @@ namespace Handbrake
 \r
         #endregion\r
 \r
-        private void mnu_qptest_Click(object sender, EventArgs e)\r
-        {\r
-            QueryParserTester qptest = new QueryParserTester();\r
-            qptest.Show();\r
-\r
-        }\r
-\r
         // This is the END of the road ------------------------------------------------------------------------------\r
     }\r
 }
\ No newline at end of file
index d6bf08e..dddbeb3 100644 (file)
@@ -670,7 +670,7 @@ If you're going to choose between spatial and temporal, spatial is usually bette
     <value>1113, 15</value>\r
   </metadata>\r
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
-    <value>56</value>\r
+    <value>75</value>\r
   </metadata>\r
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
     <value>\r
index 7080f92..1d74723 100644 (file)
@@ -107,30 +107,6 @@ namespace Handbrake
                     mainWindow.text_height.Text = presetQuery.Height.ToString();\r
             }\r
 \r
-            mainWindow.drp_deInterlace_option.Text = presetQuery.DeInterlace;\r
-            mainWindow.drp_deNoise.Text = presetQuery.DeNoise;\r
-\r
-            if (presetQuery.Decomb != "False")\r
-                mainWindow.check_decomb.CheckState = CheckState.Checked;\r
-            else\r
-                mainWindow.check_decomb.CheckState = CheckState.Unchecked;\r
-\r
-            if (presetQuery.DeTelecine != "False")\r
-                mainWindow.check_detelecine.CheckState = CheckState.Checked;\r
-            else\r
-                mainWindow.check_detelecine.CheckState = CheckState.Unchecked;\r
-\r
-            if (presetQuery.DeBlock != 0)\r
-            {\r
-                mainWindow.slider_deblock.Value = presetQuery.DeBlock;\r
-                mainWindow.lbl_deblockVal.Text = presetQuery.DeBlock.ToString();\r
-            }\r
-            else\r
-            {\r
-                mainWindow.slider_deblock.Value = 4;\r
-                mainWindow.lbl_deblockVal.Text = "Off";\r
-            }\r
-\r
             if (presetQuery.Anamorphic)\r
                 mainWindow.drp_anamorphic.SelectedIndex = 1;\r
             else\r
@@ -161,6 +137,31 @@ namespace Handbrake
 \r
             #endregion\r
 \r
+            // Filters Tab\r
+            #region Filters\r
+\r
+            mainWindow.ctl_decomb.setOption(presetQuery.Decomb);\r
+\r
+            if (mainWindow.ctl_decomb.getDropValue == "Off")\r
+                mainWindow.ctl_deinterlace.setOption(presetQuery.DeInterlace);\r
+            else \r
+                mainWindow.ctl_deinterlace.setOption("None"); // Don't want decomb and deinterlace on at the same time\r
+\r
+            mainWindow.ctl_denoise.setOption(presetQuery.DeNoise);\r
+            mainWindow.ctl_detelecine.setOption(presetQuery.DeTelecine);\r
+            \r
+            if (presetQuery.DeBlock != 0)\r
+            {\r
+                mainWindow.slider_deblock.Value = presetQuery.DeBlock;\r
+                mainWindow.lbl_deblockVal.Text = presetQuery.DeBlock.ToString();\r
+            }\r
+            else\r
+            {\r
+                mainWindow.slider_deblock.Value = 4;\r
+                mainWindow.lbl_deblockVal.Text = "Off";\r
+            }\r
+            #endregion\r
+\r
             // Video Settings Tab\r
             #region video\r
             mainWindow.text_bitrate.Text = presetQuery.AverageVideoBitrate;\r
index 8117836..8d77dfc 100644 (file)
@@ -1,4 +1,10 @@
-using System;\r
+/*  QueryGenerator.cs $\r
+       \r
+          This file is part of the HandBrake source code.\r
+          Homepage: <http://handbrake.fr/>.\r
+          It may be used under the terms of the GNU General Public License. */\r
+\r
+using System;\r
 using System.Text;\r
 using System.Windows.Forms;\r
 using System.Globalization;\r
@@ -88,7 +94,6 @@ namespace Handbrake
         {\r
             string query = "";\r
 \r
-            // The Output Settings box above the tabbed section.\r
             #region Output Settings Box\r
             query += " -f " + mainWindow.drop_format.Text.ToLower().Replace(" file", "");\r
 \r
@@ -103,7 +108,6 @@ namespace Handbrake
                 query += " -O ";\r
             #endregion\r
 \r
-            // Picture Settings Tab\r
             #region Picture Settings Tab\r
 \r
             // Use MaxWidth for built-in presets and width for user settings.\r
@@ -150,37 +154,6 @@ namespace Handbrake
                 query += " --crop " + cropTop + ":" + cropBottom + ":" + cropLeft + ":" + cropRight;\r
             }\r
 \r
-            switch (mainWindow.drp_deInterlace_option.Text)\r
-            {\r
-                case "None":\r
-                    query += "";\r
-                    break;\r
-                case "Fast":\r
-                    query += " --deinterlace=\"fast\"";\r
-                    break;\r
-                case "Slow":\r
-                    query += " --deinterlace=\"slow\"";\r
-                    break;\r
-                case "Slower":\r
-                    query += " --deinterlace=\"slower\"";\r
-                    break;\r
-                case "Slowest":\r
-                    query += " --deinterlace=\"slowest\"";\r
-                    break;\r
-                default:\r
-                    query += "";\r
-                    break;\r
-            }\r
-\r
-            if (mainWindow.check_decomb.Checked)\r
-            {\r
-                string decombValue = Properties.Settings.Default.decomb;\r
-                if (decombValue != "" && decombValue != Properties.Settings.Default.default_decomb)\r
-                    query += " --decomb=\"" + decombValue + "\"";\r
-                else\r
-                    query += " --decomb ";\r
-            }\r
-\r
             if (mainWindow.drp_anamorphic.SelectedIndex == 1)\r
                 query += " -p ";\r
             else if (mainWindow.drp_anamorphic.SelectedIndex == 2)\r
@@ -189,11 +162,16 @@ namespace Handbrake
             if (mainWindow.slider_deblock.Value != 4)\r
                 query += " --deblock=" + mainWindow.slider_deblock.Value;\r
 \r
-            if (mainWindow.check_detelecine.Checked)\r
-                query += " --detelecine";\r
+            \r
+            #endregion\r
+\r
+            #region Filters\r
+            query += mainWindow.ctl_detelecine.getCLIQuery;\r
+            query += mainWindow.ctl_decomb.getCLIQuery;\r
+            query += mainWindow.ctl_deinterlace.getCLIQuery;\r
+            query += mainWindow.ctl_denoise.getCLIQuery;\r
             #endregion\r
 \r
-            // Video Settings Tab\r
             #region Video Settings Tab\r
 \r
             switch (mainWindow.drp_videoEncoder.Text)\r
@@ -241,28 +219,8 @@ namespace Handbrake
 \r
             if (mainWindow.drp_videoFramerate.Text != "Same as source")\r
                 query += " -r " + mainWindow.drp_videoFramerate.Text;\r
-\r
-            switch (mainWindow.drp_deNoise.Text)\r
-            {\r
-                case "None":\r
-                    query += "";\r
-                    break;\r
-                case "Weak":\r
-                    query += " --denoise=\"weak\"";\r
-                    break;\r
-                case "Medium":\r
-                    query += " --denoise=\"medium\"";\r
-                    break;\r
-                case "Strong":\r
-                    query += " --denoise=\"strong\"";\r
-                    break;\r
-                default:\r
-                    query += "";\r
-                    break;\r
-            }\r
             #endregion\r
 \r
-            // Audio Settings Tab\r
             #region Audio Settings Tab\r
 \r
             ListView audioTracks = mainWindow.lv_audioList;\r
@@ -407,7 +365,6 @@ namespace Handbrake
 \r
             #endregion\r
 \r
-            // Chapter Markers Tab\r
             #region Chapter Markers\r
 \r
             // Attach Source name and dvd title to the start of the chapters.csv filename.\r
@@ -441,13 +398,11 @@ namespace Handbrake
             }\r
             #endregion\r
 \r
-            // H264 Tab\r
             #region  H264 Tab\r
             if (mainWindow.rtf_x264Query.Text != "")\r
                 query += " -x " + mainWindow.rtf_x264Query.Text;\r
             #endregion\r
 \r
-            // Other\r
             #region Processors / Other\r
             string processors = Properties.Settings.Default.Processors;\r
             if (processors != "Automatic")\r