From adaec0754c7c57be772c4deb070d337c12b2454d Mon Sep 17 00:00:00 2001 From: sr55 Date: Thu, 5 Feb 2009 21:52:07 +0000 Subject: [PATCH] WinGui: - Picture filters now have their own tab. - Deinterlace, Decomb, Denoise and Detelecine are now custom controls with optional passthru string values - Preset system updated to handle new controls and custom string values for filters. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2121 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- win/C#/Controls/Decomb.Designer.cs | 97 +++++++ win/C#/Controls/Decomb.cs | 92 +++++++ win/C#/Controls/Decomb.resx | 120 ++++++++ win/C#/Controls/Deinterlace.Designer.cs | 99 +++++++ win/C#/Controls/Deinterlace.cs | 105 +++++++ win/C#/Controls/Deinterlace.resx | 120 ++++++++ win/C#/Controls/Denoise.Designer.cs | 99 +++++++ win/C#/Controls/Denoise.cs | 94 +++++++ win/C#/Controls/Denoise.resx | 120 ++++++++ win/C#/Controls/Detelecine.Designer.cs | 97 +++++++ win/C#/Controls/Detelecine.cs | 83 ++++++ win/C#/Controls/Detelecine.resx | 120 ++++++++ win/C#/Functions/QueryParser.cs | 14 +- win/C#/HandBrakeCS.csproj | 40 +++ win/C#/Queue/QueueHandler.cs | 8 +- win/C#/frmMain.Designer.cs | 351 +++++++++++------------- win/C#/frmMain.cs | 35 ++- win/C#/frmMain.resx | 2 +- win/C#/frmMain/PresetLoader.cs | 49 ++-- win/C#/frmMain/QueryGenerator.cs | 75 +---- 20 files changed, 1531 insertions(+), 289 deletions(-) create mode 100644 win/C#/Controls/Decomb.Designer.cs create mode 100644 win/C#/Controls/Decomb.cs create mode 100644 win/C#/Controls/Decomb.resx create mode 100644 win/C#/Controls/Deinterlace.Designer.cs create mode 100644 win/C#/Controls/Deinterlace.cs create mode 100644 win/C#/Controls/Deinterlace.resx create mode 100644 win/C#/Controls/Denoise.Designer.cs create mode 100644 win/C#/Controls/Denoise.cs create mode 100644 win/C#/Controls/Denoise.resx create mode 100644 win/C#/Controls/Detelecine.Designer.cs create mode 100644 win/C#/Controls/Detelecine.cs create mode 100644 win/C#/Controls/Detelecine.resx diff --git a/win/C#/Controls/Decomb.Designer.cs b/win/C#/Controls/Decomb.Designer.cs new file mode 100644 index 000000000..7826c27e3 --- /dev/null +++ b/win/C#/Controls/Decomb.Designer.cs @@ -0,0 +1,97 @@ +/* Decomb.designer.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ +namespace Handbrake +{ + partial class Decomb + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label18 = new System.Windows.Forms.Label(); + this.drop_decomb = new System.Windows.Forms.ComboBox(); + this.text_custom = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // label18 + // + this.label18.AutoSize = true; + this.label18.BackColor = System.Drawing.Color.Transparent; + this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label18.Location = new System.Drawing.Point(3, 7); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(59, 13); + this.label18.TabIndex = 43; + this.label18.Text = "Decomb:"; + // + // drop_decomb + // + this.drop_decomb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.drop_decomb.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.drop_decomb.FormattingEnabled = true; + this.drop_decomb.Items.AddRange(new object[] { + "Off", + "Default", + "Custom"}); + this.drop_decomb.Location = new System.Drawing.Point(111, 4); + this.drop_decomb.Name = "drop_decomb"; + this.drop_decomb.Size = new System.Drawing.Size(161, 21); + this.drop_decomb.TabIndex = 42; + this.drop_decomb.SelectedIndexChanged += new System.EventHandler(this.drop_decomb_SelectedIndexChanged); + // + // text_custom + // + this.text_custom.Location = new System.Drawing.Point(278, 4); + this.text_custom.Name = "text_custom"; + this.text_custom.Size = new System.Drawing.Size(115, 20); + this.text_custom.TabIndex = 44; + this.text_custom.Visible = false; + // + // Decomb + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.AutoSize = true; + this.Controls.Add(this.text_custom); + this.Controls.Add(this.label18); + this.Controls.Add(this.drop_decomb); + this.Margin = new System.Windows.Forms.Padding(0); + this.MaximumSize = new System.Drawing.Size(400, 30); + this.Name = "Decomb"; + this.Size = new System.Drawing.Size(400, 30); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + internal System.Windows.Forms.Label label18; + internal System.Windows.Forms.ComboBox drop_decomb; + private System.Windows.Forms.TextBox text_custom; + } +} diff --git a/win/C#/Controls/Decomb.cs b/win/C#/Controls/Decomb.cs new file mode 100644 index 000000000..6762bfb8b --- /dev/null +++ b/win/C#/Controls/Decomb.cs @@ -0,0 +1,92 @@ +/* Decomb.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ + +using System; +using System.Windows.Forms; + +namespace Handbrake +{ + public partial class Decomb : UserControl + { + public Decomb() + { + InitializeComponent(); + drop_decomb.SelectedIndex = 0; + } + + private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e) + { + if (drop_decomb.Text == "Custom") + text_custom.Visible = true; + else + text_custom.Visible = false; + + valueChanged(null); + } + + public string getDropValue + { + get { return drop_decomb.Text; } + } + + public string getCustomValue + { + get { return text_custom.Text; } + } + + public string getCLIQuery + { + get + { + string query; + switch (drop_decomb.Text) + { + case "Off": + query = ""; + break; + case "Default": + query = " --decomb"; + break; + case "Custom": + query = " --decomb=\"" + text_custom.Text + "\""; + break; + default: + query = ""; + break; + } + return query; + } + } + + public void setOption(string value) + { + text_custom.Text = ""; + text_custom.Visible = false; + switch (value) + { + case "Off": + drop_decomb.SelectedIndex = 0; + break; + case "Default": + drop_decomb.SelectedIndex = 1; + break; + default: + drop_decomb.SelectedIndex = 2; + text_custom.Text = value; + text_custom.Visible = true; + break; + } + } + + public event EventHandler onChange; + protected virtual void valueChanged(EventArgs e) + { + if (onChange != null) + onChange(this, e); + } + + } +} diff --git a/win/C#/Controls/Decomb.resx b/win/C#/Controls/Decomb.resx new file mode 100644 index 000000000..ff31a6db5 --- /dev/null +++ b/win/C#/Controls/Decomb.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/win/C#/Controls/Deinterlace.Designer.cs b/win/C#/Controls/Deinterlace.Designer.cs new file mode 100644 index 000000000..3792cc308 --- /dev/null +++ b/win/C#/Controls/Deinterlace.Designer.cs @@ -0,0 +1,99 @@ +/* Deinterlace.designer.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ +namespace Handbrake +{ + partial class Deinterlace + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label18 = new System.Windows.Forms.Label(); + this.drop_deinterlace = new System.Windows.Forms.ComboBox(); + this.text_custom = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // label18 + // + this.label18.AutoSize = true; + this.label18.BackColor = System.Drawing.Color.Transparent; + this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label18.Location = new System.Drawing.Point(3, 7); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(72, 13); + this.label18.TabIndex = 43; + this.label18.Text = "Deinterlace:"; + // + // drop_deinterlace + // + this.drop_deinterlace.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.drop_deinterlace.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.drop_deinterlace.FormattingEnabled = true; + this.drop_deinterlace.Items.AddRange(new object[] { + "None", + "Fast", + "Slow", + "Slower", + "Custom"}); + this.drop_deinterlace.Location = new System.Drawing.Point(111, 4); + this.drop_deinterlace.Name = "drop_deinterlace"; + this.drop_deinterlace.Size = new System.Drawing.Size(161, 21); + this.drop_deinterlace.TabIndex = 42; + this.drop_deinterlace.SelectedIndexChanged += new System.EventHandler(this.drop_detelecine_SelectedIndexChanged); + // + // text_custom + // + this.text_custom.Location = new System.Drawing.Point(278, 4); + this.text_custom.Name = "text_custom"; + this.text_custom.Size = new System.Drawing.Size(115, 20); + this.text_custom.TabIndex = 44; + this.text_custom.Visible = false; + // + // Deinterlace + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.AutoSize = true; + this.Controls.Add(this.text_custom); + this.Controls.Add(this.label18); + this.Controls.Add(this.drop_deinterlace); + this.Margin = new System.Windows.Forms.Padding(0); + this.MaximumSize = new System.Drawing.Size(400, 30); + this.Name = "Deinterlace"; + this.Size = new System.Drawing.Size(400, 30); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + internal System.Windows.Forms.Label label18; + internal System.Windows.Forms.ComboBox drop_deinterlace; + private System.Windows.Forms.TextBox text_custom; + } +} diff --git a/win/C#/Controls/Deinterlace.cs b/win/C#/Controls/Deinterlace.cs new file mode 100644 index 000000000..7acfed826 --- /dev/null +++ b/win/C#/Controls/Deinterlace.cs @@ -0,0 +1,105 @@ +/* Deinterlace.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ +using System; +using System.Windows.Forms; + +namespace Handbrake +{ + public partial class Deinterlace : UserControl + { + public Deinterlace() + { + InitializeComponent(); + drop_deinterlace.SelectedIndex = 0; + } + + private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e) + { + if (drop_deinterlace.Text == "Custom") + text_custom.Visible = true; + else + text_custom.Visible = false; + + valueChanged(null); + } + + public string getDropValue + { + get { return drop_deinterlace.Text; } + } + + public string getCustomValue + { + get { return text_custom.Text; } + } + + public string getCLIQuery + { + get + { + string query; + switch (drop_deinterlace.Text) + { + case "None": + query = ""; + break; + case "Fast": + query = " --deinterlace=\"fast\""; + break; + case "Slow": + query = " --deinterlace=\"slow\""; + break; + case "Slower": + query = " --deinterlace=\"slower\""; + break; + case "Custom": + query = " --deinterlace=\"" + text_custom.Text + "\""; + break; + default: + query = ""; + break; + } + return query; + } + } + + public void setOption(string value) + { + text_custom.Text = ""; + text_custom.Visible = false; + switch (value) + { + + case "None": + drop_deinterlace.SelectedIndex = 0; + break; + case "Fast": + drop_deinterlace.SelectedIndex = 1; + break; + case "Slow": + drop_deinterlace.SelectedIndex = 2; + break; + case "Slower": + drop_deinterlace.SelectedIndex = 3; + + break; + default: + drop_deinterlace.SelectedIndex = 4; + text_custom.Text = value; + text_custom.Visible = true; + break; + } + } + + public event EventHandler onChange; + protected virtual void valueChanged(EventArgs e) + { + if (onChange != null) + onChange(this, e); + } + + } +} diff --git a/win/C#/Controls/Deinterlace.resx b/win/C#/Controls/Deinterlace.resx new file mode 100644 index 000000000..ff31a6db5 --- /dev/null +++ b/win/C#/Controls/Deinterlace.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/win/C#/Controls/Denoise.Designer.cs b/win/C#/Controls/Denoise.Designer.cs new file mode 100644 index 000000000..e4b96219e --- /dev/null +++ b/win/C#/Controls/Denoise.Designer.cs @@ -0,0 +1,99 @@ +/* Denoise.designer.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ +namespace Handbrake +{ + partial class Denoise + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label18 = new System.Windows.Forms.Label(); + this.drop_denoise = new System.Windows.Forms.ComboBox(); + this.text_custom = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // label18 + // + this.label18.AutoSize = true; + this.label18.BackColor = System.Drawing.Color.Transparent; + this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label18.Location = new System.Drawing.Point(3, 7); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(58, 13); + this.label18.TabIndex = 43; + this.label18.Text = "Denoise:"; + // + // drop_denoise + // + this.drop_denoise.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.drop_denoise.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.drop_denoise.FormattingEnabled = true; + this.drop_denoise.Items.AddRange(new object[] { + "None", + "Weak", + "Medium", + "Strong", + "Custom"}); + this.drop_denoise.Location = new System.Drawing.Point(111, 4); + this.drop_denoise.Name = "drop_denoise"; + this.drop_denoise.Size = new System.Drawing.Size(161, 21); + this.drop_denoise.TabIndex = 42; + this.drop_denoise.SelectedIndexChanged += new System.EventHandler(this.drop_decomb_SelectedIndexChanged); + // + // text_custom + // + this.text_custom.Location = new System.Drawing.Point(278, 4); + this.text_custom.Name = "text_custom"; + this.text_custom.Size = new System.Drawing.Size(115, 20); + this.text_custom.TabIndex = 44; + this.text_custom.Visible = false; + // + // Denoise + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.AutoSize = true; + this.Controls.Add(this.text_custom); + this.Controls.Add(this.label18); + this.Controls.Add(this.drop_denoise); + this.Margin = new System.Windows.Forms.Padding(0); + this.MaximumSize = new System.Drawing.Size(400, 30); + this.Name = "Denoise"; + this.Size = new System.Drawing.Size(400, 30); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + internal System.Windows.Forms.Label label18; + internal System.Windows.Forms.ComboBox drop_denoise; + private System.Windows.Forms.TextBox text_custom; + } +} diff --git a/win/C#/Controls/Denoise.cs b/win/C#/Controls/Denoise.cs new file mode 100644 index 000000000..d8b7e9162 --- /dev/null +++ b/win/C#/Controls/Denoise.cs @@ -0,0 +1,94 @@ +/* DeNoise.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ +using System; +using System.Windows.Forms; + +namespace Handbrake +{ + public partial class Denoise : UserControl + { + public Denoise() + { + InitializeComponent(); + drop_denoise.SelectedIndex = 0; + } + + private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e) + { + if (drop_denoise.Text == "Custom") + text_custom.Visible = true; + else + text_custom.Visible = false; + } + + public string getDropValue + { + get { return drop_denoise.Text; } + } + + public string getCustomValue + { + get { return text_custom.Text; } + } + + public string getCLIQuery + { + get + { + string query; + switch (drop_denoise.Text) + { + case "None": + query = ""; + break; + case "Weak": + query = " --denoise=\"weak\""; + break; + case "Medium": + query = " --denoise=\"medium\""; + break; + case "Strong": + query = " --denoise=\"strong\""; + break; + case "Custom": + query = " --denoise=\"" + text_custom.Text + "\""; + break; + default: + query = ""; + break; + } + return query; + } + } + + public void setOption(string value) + { + text_custom.Text = ""; + text_custom.Visible = false; + switch (value) + { + case "None": + drop_denoise.SelectedIndex = 0; + break; + case "Weak": + drop_denoise.SelectedIndex = 1; + break; + case "Medium": + drop_denoise.SelectedIndex = 2; + break; + case "Strong": + drop_denoise.SelectedIndex = 3; + break; + default: + drop_denoise.SelectedIndex = 4; + text_custom.Text = value; + text_custom.Visible = true; + break; + } + } + + } +} diff --git a/win/C#/Controls/Denoise.resx b/win/C#/Controls/Denoise.resx new file mode 100644 index 000000000..ff31a6db5 --- /dev/null +++ b/win/C#/Controls/Denoise.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/win/C#/Controls/Detelecine.Designer.cs b/win/C#/Controls/Detelecine.Designer.cs new file mode 100644 index 000000000..71983b32d --- /dev/null +++ b/win/C#/Controls/Detelecine.Designer.cs @@ -0,0 +1,97 @@ +/* Detelecine.Designer.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ +namespace Handbrake +{ + partial class Detelecine + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label18 = new System.Windows.Forms.Label(); + this.drop_detelecine = new System.Windows.Forms.ComboBox(); + this.text_custom = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // label18 + // + this.label18.AutoSize = true; + this.label18.BackColor = System.Drawing.Color.Transparent; + this.label18.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label18.Location = new System.Drawing.Point(3, 7); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(72, 13); + this.label18.TabIndex = 43; + this.label18.Text = "Detelecine:"; + // + // drop_detelecine + // + this.drop_detelecine.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.drop_detelecine.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.drop_detelecine.FormattingEnabled = true; + this.drop_detelecine.Items.AddRange(new object[] { + "Off", + "Default", + "Custom"}); + this.drop_detelecine.Location = new System.Drawing.Point(111, 4); + this.drop_detelecine.Name = "drop_detelecine"; + this.drop_detelecine.Size = new System.Drawing.Size(161, 21); + this.drop_detelecine.TabIndex = 42; + this.drop_detelecine.SelectedIndexChanged += new System.EventHandler(this.drop_detelecine_SelectedIndexChanged); + // + // text_custom + // + this.text_custom.Location = new System.Drawing.Point(278, 4); + this.text_custom.Name = "text_custom"; + this.text_custom.Size = new System.Drawing.Size(115, 20); + this.text_custom.TabIndex = 44; + this.text_custom.Visible = false; + // + // Detelecine + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.AutoSize = true; + this.Controls.Add(this.text_custom); + this.Controls.Add(this.label18); + this.Controls.Add(this.drop_detelecine); + this.Margin = new System.Windows.Forms.Padding(0); + this.MaximumSize = new System.Drawing.Size(400, 30); + this.Name = "Detelecine"; + this.Size = new System.Drawing.Size(400, 30); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + internal System.Windows.Forms.ComboBox drop_detelecine; + private System.Windows.Forms.TextBox text_custom; + private System.Windows.Forms.Label label18; + } +} diff --git a/win/C#/Controls/Detelecine.cs b/win/C#/Controls/Detelecine.cs new file mode 100644 index 000000000..6eaf4621b --- /dev/null +++ b/win/C#/Controls/Detelecine.cs @@ -0,0 +1,83 @@ +/* Detelecine.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ + +using System; +using System.Windows.Forms; + +namespace Handbrake +{ + public partial class Detelecine : UserControl + { + public Detelecine() + { + InitializeComponent(); + drop_detelecine.SelectedIndex = 0; + } + + private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e) + { + if (drop_detelecine.Text == "Custom") + text_custom.Visible = true; + else + text_custom.Visible = false; + } + + public string getDropValue + { + get { return drop_detelecine.Text; } + } + + public string getCustomValue + { + get { return text_custom.Text; } + } + + public string getCLIQuery + { + get + { + string query; + switch (drop_detelecine.Text) + { + case "Off": + query = ""; + break; + case "Default": + query = " --detelecine"; + break; + case "Custom": + query = " --detelecine=\"" + text_custom.Text + "\""; + break; + default: + query = ""; + break; + } + return query; + } + } + + public void setOption(string value) + { + text_custom.Text = ""; + text_custom.Visible = false; + switch (value) + { + case "Off": + drop_detelecine.SelectedIndex = 0; + break; + case "Default": + drop_detelecine.SelectedIndex = 1; + break; + default: + drop_detelecine.SelectedIndex = 2; + text_custom.Text = value; + text_custom.Visible = true; + break; + } + } + + } +} diff --git a/win/C#/Controls/Detelecine.resx b/win/C#/Controls/Detelecine.resx new file mode 100644 index 000000000..ff31a6db5 --- /dev/null +++ b/win/C#/Controls/Detelecine.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/win/C#/Functions/QueryParser.cs b/win/C#/Functions/QueryParser.cs index c255e6d6b..68bcac00f 100644 --- a/win/C#/Functions/QueryParser.cs +++ b/win/C#/Functions/QueryParser.cs @@ -774,15 +774,15 @@ namespace Handbrake.Functions #endregion - #region Picture Tab - Filters + #region Filters + thisQuery.q_decomb = "Off"; if (decomb.Success) { - thisQuery.q_decomb = "True"; + thisQuery.q_decomb = "Default"; if (decombValue.Success) thisQuery.q_decomb = decombValue.ToString().Replace("--decomb=", "").Replace("\"", ""); - } else - thisQuery.q_decomb = "False"; + } thisQuery.q_deinterlace = "None"; if (deinterlace.Success) @@ -806,14 +806,14 @@ namespace Handbrake.Functions if (deblockValue != "") int.TryParse(deblockValue, out thisQuery.q_deBlock); + thisQuery.q_detelecine = "Off"; if (detelecine.Success) { - thisQuery.q_detelecine = "True"; + thisQuery.q_detelecine = "Default"; if (detelecineValue.Success) thisQuery.q_detelecine = detelecineValue.ToString().Replace("--detelecine=", "").Replace("\"", ""); } - else - thisQuery.q_detelecine = "False"; + #endregion #region Video Settings Tab diff --git a/win/C#/HandBrakeCS.csproj b/win/C#/HandBrakeCS.csproj index 7f8e9a651..88b0e3a4b 100644 --- a/win/C#/HandBrakeCS.csproj +++ b/win/C#/HandBrakeCS.csproj @@ -100,6 +100,30 @@ + + UserControl + + + Denoise.cs + + + UserControl + + + Decomb.cs + + + UserControl + + + Detelecine.cs + + + UserControl + + + Deinterlace.cs + Form @@ -184,6 +208,22 @@ + + Denoise.cs + Designer + + + Decomb.cs + Designer + + + Detelecine.cs + Designer + + + Deinterlace.cs + Designer + frmPreview.cs Designer diff --git a/win/C#/Queue/QueueHandler.cs b/win/C#/Queue/QueueHandler.cs index 3317fb82f..2b36a9712 100644 --- a/win/C#/Queue/QueueHandler.cs +++ b/win/C#/Queue/QueueHandler.cs @@ -1,4 +1,10 @@ -using System; +/* QueueHandler.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ + +using System; using System.Collections.Generic; using System.IO; using System.Windows.Forms; diff --git a/win/C#/frmMain.Designer.cs b/win/C#/frmMain.Designer.cs index 63674eac3..1dc67cfbf 100644 --- a/win/C#/frmMain.Designer.cs +++ b/win/C#/frmMain.Designer.cs @@ -121,6 +121,8 @@ namespace Handbrake this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this.mnu_about = new System.Windows.Forms.ToolStripMenuItem(); this.frmMainMenu = new System.Windows.Forms.MenuStrip(); + this.debugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.mnu_qptest = new System.Windows.Forms.ToolStripMenuItem(); this.gb_source = new System.Windows.Forms.GroupBox(); this.Label13 = new System.Windows.Forms.Label(); this.Label17 = new System.Windows.Forms.Label(); @@ -163,7 +165,6 @@ namespace Handbrake this.drp_track1Audio = new System.Windows.Forms.ComboBox(); this.TabPage3 = new System.Windows.Forms.TabPage(); this.label25 = new System.Windows.Forms.Label(); - this.check_grayscale = new System.Windows.Forms.CheckBox(); this.Label22 = new System.Windows.Forms.Label(); this.check_2PassEncode = new System.Windows.Forms.CheckBox(); this.Label2 = new System.Windows.Forms.Label(); @@ -171,11 +172,8 @@ namespace Handbrake this.SliderValue = new System.Windows.Forms.Label(); this.Label46 = new System.Windows.Forms.Label(); this.Label40 = new System.Windows.Forms.Label(); + this.check_grayscale = new System.Windows.Forms.CheckBox(); this.TabPage1 = new System.Windows.Forms.TabPage(); - this.slider_deblock = new System.Windows.Forms.TrackBar(); - this.label8 = new System.Windows.Forms.Label(); - this.lbl_deblockVal = new System.Windows.Forms.Label(); - this.check_decomb = new System.Windows.Forms.CheckBox(); this.label6 = new System.Windows.Forms.Label(); this.drp_anamorphic = new System.Windows.Forms.ComboBox(); this.text_bottom = new System.Windows.Forms.NumericUpDown(); @@ -187,19 +185,22 @@ namespace Handbrake this.lbl_Aspect = new System.Windows.Forms.Label(); this.Label91 = new System.Windows.Forms.Label(); this.Label55 = new System.Windows.Forms.Label(); - this.label24 = new System.Windows.Forms.Label(); - this.drp_deNoise = new System.Windows.Forms.ComboBox(); - this.label11 = new System.Windows.Forms.Label(); - this.check_detelecine = new System.Windows.Forms.CheckBox(); - this.label4 = new System.Windows.Forms.Label(); - this.drp_deInterlace_option = new System.Windows.Forms.ComboBox(); this.Label1 = new System.Windows.Forms.Label(); this.Label53 = new System.Windows.Forms.Label(); this.Label52 = new System.Windows.Forms.Label(); this.Label51 = new System.Windows.Forms.Label(); this.Label15 = new System.Windows.Forms.Label(); + this.slider_deblock = new System.Windows.Forms.TrackBar(); + this.label8 = new System.Windows.Forms.Label(); + this.lbl_deblockVal = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); this.Check_ChapterMarkers = new System.Windows.Forms.CheckBox(); this.tabs_panel = new System.Windows.Forms.TabControl(); + this.tab_Filters = new System.Windows.Forms.TabPage(); + this.ctl_deinterlace = new Handbrake.Deinterlace(); + this.ctl_denoise = new Handbrake.Denoise(); + this.ctl_decomb = new Handbrake.Decomb(); + this.ctl_detelecine = new Handbrake.Detelecine(); this.tab_chapters = new System.Windows.Forms.TabPage(); this.label31 = new System.Windows.Forms.Label(); this.h264Tab = new System.Windows.Forms.TabPage(); @@ -253,8 +254,6 @@ namespace Handbrake this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components); this.StatusStrip = new System.Windows.Forms.StatusStrip(); this.lbl_encode = new System.Windows.Forms.ToolStripStatusLabel(); - this.debugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.mnu_qptest = new System.Windows.Forms.ToolStripMenuItem(); Label38 = new System.Windows.Forms.Label(); notifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components); notifyIconMenu.SuspendLayout(); @@ -268,12 +267,13 @@ namespace Handbrake ((System.ComponentModel.ISupportInitialize)(this.tb_drc)).BeginInit(); this.TabPage3.SuspendLayout(); this.TabPage1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.text_bottom)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.text_top)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.text_left)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.text_right)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).BeginInit(); this.tabs_panel.SuspendLayout(); + this.tab_Filters.SuspendLayout(); this.tab_chapters.SuspendLayout(); this.h264Tab.SuspendLayout(); this.tab_query.SuspendLayout(); @@ -470,7 +470,7 @@ namespace Handbrake this.check_turbo.BackColor = System.Drawing.Color.Transparent; this.check_turbo.Enabled = false; this.check_turbo.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.check_turbo.Location = new System.Drawing.Point(37, 184); + this.check_turbo.Location = new System.Drawing.Point(37, 168); this.check_turbo.Name = "check_turbo"; this.check_turbo.Size = new System.Drawing.Size(115, 17); this.check_turbo.TabIndex = 7; @@ -1412,10 +1412,25 @@ namespace Handbrake this.frmMainMenu.Location = new System.Drawing.Point(0, 0); this.frmMainMenu.Name = "frmMainMenu"; this.frmMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; - this.frmMainMenu.Size = new System.Drawing.Size(992, 24); + this.frmMainMenu.Size = new System.Drawing.Size(995, 24); this.frmMainMenu.TabIndex = 0; this.frmMainMenu.Text = "MenuStrip"; // + // debugToolStripMenuItem + // + this.debugToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnu_qptest}); + this.debugToolStripMenuItem.Name = "debugToolStripMenuItem"; + this.debugToolStripMenuItem.Size = new System.Drawing.Size(56, 20); + this.debugToolStripMenuItem.Text = "Debug"; + // + // mnu_qptest + // + this.mnu_qptest.Name = "mnu_qptest"; + this.mnu_qptest.Size = new System.Drawing.Size(201, 22); + this.mnu_qptest.Text = "Query Parser Tester"; + this.mnu_qptest.Click += new System.EventHandler(this.mnu_qptest_Click); + // // gb_source // this.gb_source.Controls.Add(this.lbl_duration); @@ -1561,6 +1576,7 @@ namespace Handbrake this.TabPage2.Size = new System.Drawing.Size(713, 316); this.TabPage2.TabIndex = 3; this.TabPage2.Text = "Audio && Subtitles"; + this.TabPage2.UseVisualStyleBackColor = true; // // lv_audioList // @@ -1853,7 +1869,6 @@ namespace Handbrake this.TabPage3.Controls.Add(this.drp_videoEncoder); this.TabPage3.Controls.Add(this.Label47); this.TabPage3.Controls.Add(this.label25); - this.TabPage3.Controls.Add(this.check_grayscale); this.TabPage3.Controls.Add(this.check_turbo); this.TabPage3.Controls.Add(this.Label22); this.TabPage3.Controls.Add(this.check_2PassEncode); @@ -1873,6 +1888,7 @@ namespace Handbrake this.TabPage3.Size = new System.Drawing.Size(713, 316); this.TabPage3.TabIndex = 2; this.TabPage3.Text = "Video"; + this.TabPage3.UseVisualStyleBackColor = true; // // label25 // @@ -1885,18 +1901,6 @@ namespace Handbrake this.label25.TabIndex = 0; this.label25.Text = "Video"; // - // check_grayscale - // - this.check_grayscale.AutoSize = true; - this.check_grayscale.BackColor = System.Drawing.Color.Transparent; - this.check_grayscale.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.check_grayscale.Location = new System.Drawing.Point(16, 138); - this.check_grayscale.Name = "check_grayscale"; - this.check_grayscale.Size = new System.Drawing.Size(138, 17); - this.check_grayscale.TabIndex = 5; - this.check_grayscale.Text = "Grayscale Encoding"; - this.check_grayscale.UseVisualStyleBackColor = false; - // // Label22 // this.Label22.AutoSize = true; @@ -1913,7 +1917,7 @@ namespace Handbrake this.check_2PassEncode.AutoSize = true; this.check_2PassEncode.BackColor = System.Drawing.Color.Transparent; this.check_2PassEncode.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.check_2PassEncode.Location = new System.Drawing.Point(16, 161); + this.check_2PassEncode.Location = new System.Drawing.Point(16, 145); this.check_2PassEncode.Name = "check_2PassEncode"; this.check_2PassEncode.Size = new System.Drawing.Size(119, 17); this.check_2PassEncode.TabIndex = 6; @@ -1976,15 +1980,23 @@ namespace Handbrake this.Label40.TabIndex = 13; this.Label40.Text = "Constant Quality:"; // + // check_grayscale + // + this.check_grayscale.AutoSize = true; + this.check_grayscale.BackColor = System.Drawing.Color.Transparent; + this.check_grayscale.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.check_grayscale.Location = new System.Drawing.Point(25, 210); + this.check_grayscale.Name = "check_grayscale"; + this.check_grayscale.Size = new System.Drawing.Size(138, 17); + this.check_grayscale.TabIndex = 5; + this.check_grayscale.Text = "Grayscale Encoding"; + this.check_grayscale.UseVisualStyleBackColor = false; + // // TabPage1 // this.TabPage1.BackColor = System.Drawing.Color.Transparent; - this.TabPage1.Controls.Add(this.slider_deblock); - this.TabPage1.Controls.Add(this.label8); - this.TabPage1.Controls.Add(this.lbl_deblockVal); this.TabPage1.Controls.Add(this.check_customCrop); this.TabPage1.Controls.Add(this.check_autoCrop); - this.TabPage1.Controls.Add(this.check_decomb); this.TabPage1.Controls.Add(this.lbl_src_res); this.TabPage1.Controls.Add(this.label7); this.TabPage1.Controls.Add(this.label6); @@ -2000,12 +2012,6 @@ namespace Handbrake this.TabPage1.Controls.Add(this.text_height); this.TabPage1.Controls.Add(this.Label55); this.TabPage1.Controls.Add(this.text_width); - this.TabPage1.Controls.Add(this.label24); - this.TabPage1.Controls.Add(this.drp_deNoise); - this.TabPage1.Controls.Add(this.label11); - this.TabPage1.Controls.Add(this.check_detelecine); - this.TabPage1.Controls.Add(this.label4); - this.TabPage1.Controls.Add(this.drp_deInterlace_option); this.TabPage1.Controls.Add(this.Label1); this.TabPage1.Controls.Add(this.Label53); this.TabPage1.Controls.Add(this.Label52); @@ -2017,51 +2023,7 @@ namespace Handbrake this.TabPage1.Size = new System.Drawing.Size(713, 316); this.TabPage1.TabIndex = 0; this.TabPage1.Text = "Picture Settings"; - // - // slider_deblock - // - this.slider_deblock.Location = new System.Drawing.Point(407, 264); - this.slider_deblock.Maximum = 15; - this.slider_deblock.Minimum = 4; - this.slider_deblock.Name = "slider_deblock"; - this.slider_deblock.Size = new System.Drawing.Size(174, 42); - this.slider_deblock.TabIndex = 35; - this.slider_deblock.Value = 4; - this.slider_deblock.Scroll += new System.EventHandler(this.slider_deblock_Scroll); - // - // label8 - // - this.label8.AutoSize = true; - this.label8.BackColor = System.Drawing.Color.Transparent; - this.label8.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label8.Location = new System.Drawing.Point(311, 269); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(58, 13); - this.label8.TabIndex = 37; - this.label8.Text = "Deblock:"; - // - // lbl_deblockVal - // - this.lbl_deblockVal.AutoSize = true; - this.lbl_deblockVal.BackColor = System.Drawing.Color.Transparent; - this.lbl_deblockVal.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbl_deblockVal.Location = new System.Drawing.Point(585, 269); - this.lbl_deblockVal.Name = "lbl_deblockVal"; - this.lbl_deblockVal.Size = new System.Drawing.Size(24, 13); - this.lbl_deblockVal.TabIndex = 36; - this.lbl_deblockVal.Text = "Off"; - // - // check_decomb - // - this.check_decomb.AutoSize = true; - this.check_decomb.BackColor = System.Drawing.Color.Transparent; - this.check_decomb.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.check_decomb.Location = new System.Drawing.Point(314, 188); - this.check_decomb.Name = "check_decomb"; - this.check_decomb.Size = new System.Drawing.Size(73, 17); - this.check_decomb.TabIndex = 32; - this.check_decomb.Text = "Decomb"; - this.check_decomb.UseVisualStyleBackColor = false; + this.TabPage1.UseVisualStyleBackColor = true; // // label6 // @@ -2198,81 +2160,6 @@ namespace Handbrake this.Label55.TabIndex = 16; this.Label55.Text = "Width/Height:"; // - // label24 - // - this.label24.AutoSize = true; - this.label24.BackColor = System.Drawing.Color.Transparent; - this.label24.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label24.Location = new System.Drawing.Point(311, 142); - this.label24.Name = "label24"; - this.label24.Size = new System.Drawing.Size(49, 13); - this.label24.TabIndex = 22; - this.label24.Text = "Filters"; - // - // drp_deNoise - // - this.drp_deNoise.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.drp_deNoise.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.drp_deNoise.FormattingEnabled = true; - this.drp_deNoise.Items.AddRange(new object[] { - "None", - "Weak", - "Medium", - "Strong"}); - this.drp_deNoise.Location = new System.Drawing.Point(413, 237); - this.drp_deNoise.Name = "drp_deNoise"; - this.drp_deNoise.Size = new System.Drawing.Size(161, 21); - this.drp_deNoise.TabIndex = 29; - // - // label11 - // - this.label11.AutoSize = true; - this.label11.BackColor = System.Drawing.Color.Transparent; - this.label11.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label11.Location = new System.Drawing.Point(311, 240); - this.label11.Name = "label11"; - this.label11.Size = new System.Drawing.Size(58, 13); - this.label11.TabIndex = 28; - this.label11.Text = "Denoise:"; - // - // check_detelecine - // - this.check_detelecine.AutoSize = true; - this.check_detelecine.BackColor = System.Drawing.Color.Transparent; - this.check_detelecine.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.check_detelecine.Location = new System.Drawing.Point(314, 165); - this.check_detelecine.Name = "check_detelecine"; - this.check_detelecine.Size = new System.Drawing.Size(86, 17); - this.check_detelecine.TabIndex = 23; - this.check_detelecine.Text = "Detelecine"; - this.check_detelecine.UseVisualStyleBackColor = false; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.BackColor = System.Drawing.Color.Transparent; - this.label4.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label4.Location = new System.Drawing.Point(311, 212); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(77, 13); - this.label4.TabIndex = 26; - this.label4.Text = "Deinterlace:"; - // - // drp_deInterlace_option - // - this.drp_deInterlace_option.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.drp_deInterlace_option.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.drp_deInterlace_option.FormattingEnabled = true; - this.drp_deInterlace_option.Items.AddRange(new object[] { - "None", - "Fast", - "Slow", - "Slower"}); - this.drp_deInterlace_option.Location = new System.Drawing.Point(413, 209); - this.drp_deInterlace_option.Name = "drp_deInterlace_option"; - this.drp_deInterlace_option.Size = new System.Drawing.Size(161, 21); - this.drp_deInterlace_option.TabIndex = 27; - // // Label1 // this.Label1.AutoSize = true; @@ -2328,6 +2215,50 @@ namespace Handbrake this.Label15.TabIndex = 3; this.Label15.Text = "Left"; // + // slider_deblock + // + this.slider_deblock.Location = new System.Drawing.Point(118, 162); + this.slider_deblock.Maximum = 15; + this.slider_deblock.Minimum = 4; + this.slider_deblock.Name = "slider_deblock"; + this.slider_deblock.Size = new System.Drawing.Size(174, 42); + this.slider_deblock.TabIndex = 35; + this.slider_deblock.Value = 4; + this.slider_deblock.Scroll += new System.EventHandler(this.slider_deblock_Scroll); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.BackColor = System.Drawing.Color.Transparent; + this.label8.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label8.Location = new System.Drawing.Point(22, 167); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(58, 13); + this.label8.TabIndex = 37; + this.label8.Text = "Deblock:"; + // + // lbl_deblockVal + // + this.lbl_deblockVal.AutoSize = true; + this.lbl_deblockVal.BackColor = System.Drawing.Color.Transparent; + this.lbl_deblockVal.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_deblockVal.Location = new System.Drawing.Point(296, 167); + this.lbl_deblockVal.Name = "lbl_deblockVal"; + this.lbl_deblockVal.Size = new System.Drawing.Size(24, 13); + this.lbl_deblockVal.TabIndex = 36; + this.lbl_deblockVal.Text = "Off"; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.BackColor = System.Drawing.Color.Transparent; + this.label24.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label24.Location = new System.Drawing.Point(16, 11); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(49, 13); + this.label24.TabIndex = 22; + this.label24.Text = "Filters"; + // // Check_ChapterMarkers // this.Check_ChapterMarkers.AutoSize = true; @@ -2344,6 +2275,7 @@ namespace Handbrake // tabs_panel // this.tabs_panel.Controls.Add(this.TabPage1); + this.tabs_panel.Controls.Add(this.tab_Filters); this.tabs_panel.Controls.Add(this.TabPage3); this.tabs_panel.Controls.Add(this.TabPage2); this.tabs_panel.Controls.Add(this.tab_chapters); @@ -2357,6 +2289,66 @@ namespace Handbrake this.tabs_panel.TabIndex = 5; this.tabs_panel.TabStop = false; // + // tab_Filters + // + this.tab_Filters.Controls.Add(this.ctl_deinterlace); + this.tab_Filters.Controls.Add(this.ctl_denoise); + this.tab_Filters.Controls.Add(this.ctl_decomb); + this.tab_Filters.Controls.Add(this.ctl_detelecine); + this.tab_Filters.Controls.Add(this.slider_deblock); + this.tab_Filters.Controls.Add(this.label24); + this.tab_Filters.Controls.Add(this.check_grayscale); + this.tab_Filters.Controls.Add(this.label8); + this.tab_Filters.Controls.Add(this.lbl_deblockVal); + this.tab_Filters.Location = new System.Drawing.Point(4, 22); + this.tab_Filters.Name = "tab_Filters"; + this.tab_Filters.Size = new System.Drawing.Size(713, 316); + this.tab_Filters.TabIndex = 9; + this.tab_Filters.Text = "Picture Filters"; + this.tab_Filters.UseVisualStyleBackColor = true; + // + // ctl_deinterlace + // + this.ctl_deinterlace.AutoSize = true; + this.ctl_deinterlace.Location = new System.Drawing.Point(19, 95); + this.ctl_deinterlace.Margin = new System.Windows.Forms.Padding(0); + this.ctl_deinterlace.MaximumSize = new System.Drawing.Size(400, 30); + this.ctl_deinterlace.Name = "ctl_deinterlace"; + this.ctl_deinterlace.Size = new System.Drawing.Size(275, 28); + this.ctl_deinterlace.TabIndex = 41; + this.ctl_deinterlace.onChange += new System.EventHandler(this.ctl_deinterlace_changed); + // + // ctl_denoise + // + this.ctl_denoise.AutoSize = true; + this.ctl_denoise.Location = new System.Drawing.Point(19, 123); + this.ctl_denoise.Margin = new System.Windows.Forms.Padding(0); + this.ctl_denoise.MaximumSize = new System.Drawing.Size(400, 30); + this.ctl_denoise.Name = "ctl_denoise"; + this.ctl_denoise.Size = new System.Drawing.Size(275, 28); + this.ctl_denoise.TabIndex = 40; + // + // ctl_decomb + // + this.ctl_decomb.AutoSize = true; + this.ctl_decomb.Location = new System.Drawing.Point(19, 66); + this.ctl_decomb.Margin = new System.Windows.Forms.Padding(0); + this.ctl_decomb.MaximumSize = new System.Drawing.Size(400, 30); + this.ctl_decomb.Name = "ctl_decomb"; + this.ctl_decomb.Size = new System.Drawing.Size(275, 28); + this.ctl_decomb.TabIndex = 39; + this.ctl_decomb.onChange += new System.EventHandler(this.ctl_decomb_changed); + // + // ctl_detelecine + // + this.ctl_detelecine.AutoSize = true; + this.ctl_detelecine.Location = new System.Drawing.Point(19, 38); + this.ctl_detelecine.Margin = new System.Windows.Forms.Padding(0); + this.ctl_detelecine.MaximumSize = new System.Drawing.Size(400, 30); + this.ctl_detelecine.Name = "ctl_detelecine"; + this.ctl_detelecine.Size = new System.Drawing.Size(275, 28); + this.ctl_detelecine.TabIndex = 38; + // // tab_chapters // this.tab_chapters.BackColor = System.Drawing.Color.Transparent; @@ -2368,6 +2360,7 @@ namespace Handbrake this.tab_chapters.Size = new System.Drawing.Size(713, 316); this.tab_chapters.TabIndex = 6; this.tab_chapters.Text = "Chapters"; + this.tab_chapters.UseVisualStyleBackColor = true; // // label31 // @@ -2422,6 +2415,7 @@ namespace Handbrake this.h264Tab.Size = new System.Drawing.Size(713, 316); this.h264Tab.TabIndex = 8; this.h264Tab.Text = "Advanced"; + this.h264Tab.UseVisualStyleBackColor = true; // // label43 // @@ -2584,6 +2578,7 @@ namespace Handbrake this.tab_query.Size = new System.Drawing.Size(713, 316); this.tab_query.TabIndex = 7; this.tab_query.Text = "Query Editor"; + this.tab_query.UseVisualStyleBackColor = true; // // btn_clear // @@ -2776,7 +2771,7 @@ namespace Handbrake this.toolStrip1.Location = new System.Drawing.Point(0, 24); this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; - this.toolStrip1.Size = new System.Drawing.Size(992, 39); + this.toolStrip1.Size = new System.Drawing.Size(995, 39); this.toolStrip1.TabIndex = 1; this.toolStrip1.Text = "toolStrip1"; // @@ -2924,7 +2919,7 @@ namespace Handbrake this.lbl_encode}); this.StatusStrip.Location = new System.Drawing.Point(0, 627); this.StatusStrip.Name = "StatusStrip"; - this.StatusStrip.Size = new System.Drawing.Size(992, 22); + this.StatusStrip.Size = new System.Drawing.Size(995, 22); this.StatusStrip.TabIndex = 7; this.StatusStrip.Text = "statusStrip1"; // @@ -2935,27 +2930,12 @@ namespace Handbrake this.lbl_encode.Size = new System.Drawing.Size(31, 17); this.lbl_encode.Text = "{0}"; // - // debugToolStripMenuItem - // - this.debugToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mnu_qptest}); - this.debugToolStripMenuItem.Name = "debugToolStripMenuItem"; - this.debugToolStripMenuItem.Size = new System.Drawing.Size(56, 20); - this.debugToolStripMenuItem.Text = "Debug"; - // - // mnu_qptest - // - this.mnu_qptest.Name = "mnu_qptest"; - this.mnu_qptest.Size = new System.Drawing.Size(201, 22); - this.mnu_qptest.Text = "Query Parser Tester"; - this.mnu_qptest.Click += new System.EventHandler(this.mnu_qptest_Click); - // // frmMain // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScroll = true; - this.ClientSize = new System.Drawing.Size(992, 649); + this.ClientSize = new System.Drawing.Size(995, 649); this.Controls.Add(this.gb_source); this.Controls.Add(this.groupBox_dest); this.Controls.Add(this.groupBox_output); @@ -2986,12 +2966,14 @@ namespace Handbrake this.TabPage3.PerformLayout(); this.TabPage1.ResumeLayout(false); this.TabPage1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.text_bottom)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.text_top)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.text_left)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.text_right)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).EndInit(); this.tabs_panel.ResumeLayout(false); + this.tab_Filters.ResumeLayout(false); + this.tab_Filters.PerformLayout(); this.tab_chapters.ResumeLayout(false); this.tab_chapters.PerformLayout(); this.h264Tab.ResumeLayout(false); @@ -3078,10 +3060,6 @@ namespace Handbrake internal System.Windows.Forms.Label Label20; internal System.Windows.Forms.CheckBox check_grayscale; internal System.Windows.Forms.Label label24; - internal System.Windows.Forms.Label label11; - internal System.Windows.Forms.CheckBox check_detelecine; - internal System.Windows.Forms.Label label4; - internal System.Windows.Forms.ComboBox drp_deInterlace_option; private System.Windows.Forms.GroupBox groupBox2; internal System.Windows.Forms.Button btn_setDefault; private System.Windows.Forms.ToolStripMenuItem mnu_SelectDefault; @@ -3192,12 +3170,10 @@ namespace Handbrake internal System.Windows.Forms.ToolStripMenuItem mnu_encodeLog; private System.Windows.Forms.StatusStrip StatusStrip; private System.Windows.Forms.ToolStripStatusLabel lbl_encode; - internal System.Windows.Forms.CheckBox check_decomb; internal System.Windows.Forms.RadioButton check_customCrop; internal System.Windows.Forms.RadioButton check_autoCrop; internal System.Windows.Forms.Label lbl_deblockVal; internal System.Windows.Forms.TrackBar slider_deblock; - internal System.Windows.Forms.ComboBox drp_deNoise; internal System.Windows.Forms.Label label8; internal System.Windows.Forms.OpenFileDialog ISO_Open; internal System.Windows.Forms.FolderBrowserDialog DVD_Open; @@ -3232,6 +3208,11 @@ namespace Handbrake private System.Windows.Forms.DataGridViewTextBoxColumn name; private System.Windows.Forms.ToolStripMenuItem debugToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem mnu_qptest; + private System.Windows.Forms.TabPage tab_Filters; + internal Deinterlace ctl_deinterlace; + internal Denoise ctl_denoise; + internal Decomb ctl_decomb; + internal Detelecine ctl_detelecine; } } \ No newline at end of file diff --git a/win/C#/frmMain.cs b/win/C#/frmMain.cs index 4cad19528..3c77a8d1a 100644 --- a/win/C#/frmMain.cs +++ b/win/C#/frmMain.cs @@ -20,8 +20,8 @@ namespace Handbrake { // Objects which may be used by one or more other objects private delegate void UpdateWindowHandler(); - Functions.Main hb_common_func = new Functions.Main(); - Functions.Encode encodeHandler = new Functions.Encode(); + Main hb_common_func = new Main(); + Encode encodeHandler = new Encode(); Queue.QueueHandler encodeQueue = new Queue.QueueHandler(); Presets.PresetsHandler presetHandler = new Presets.PresetsHandler(); Parsing.Title selectedTitle; @@ -39,8 +39,6 @@ namespace Handbrake private string lastAction; public int maxWidth; public int maxHeight; - - Process hbproc; // Applicaiton Startup ************************************************ @@ -326,6 +324,14 @@ namespace Handbrake } #endregion + #region Debug Menu + private void mnu_qptest_Click(object sender, EventArgs e) + { + QueryParserTester qptest = new QueryParserTester(); + qptest.Show(); + } + #endregion + #region Preset Bar // Right Click Menu Code private void pmnu_expandAll_Click(object sender, EventArgs e) @@ -1172,6 +1178,20 @@ namespace Handbrake text_width.Enabled = true; } } + + // Filter Tab + private void ctl_decomb_changed(object sender, EventArgs e) + { + if (ctl_decomb.getDropValue != "Off") + if (ctl_deinterlace.getDropValue != "None") + ctl_deinterlace.setOption("None"); + } + private void ctl_deinterlace_changed(object sender, EventArgs e) + { + if (ctl_detelecine.getDropValue != "None") + if (ctl_decomb.getDropValue != "Off") + ctl_decomb.setOption("Off"); + } private void slider_deblock_Scroll(object sender, EventArgs e) { lbl_deblockVal.Text = slider_deblock.Value == 4 ? "Off" : slider_deblock.Value.ToString(); @@ -2071,13 +2091,6 @@ namespace Handbrake #endregion - private void mnu_qptest_Click(object sender, EventArgs e) - { - QueryParserTester qptest = new QueryParserTester(); - qptest.Show(); - - } - // This is the END of the road ------------------------------------------------------------------------------ } } \ No newline at end of file diff --git a/win/C#/frmMain.resx b/win/C#/frmMain.resx index d6bf08e3e..dddbeb31b 100644 --- a/win/C#/frmMain.resx +++ b/win/C#/frmMain.resx @@ -670,7 +670,7 @@ If you're going to choose between spatial and temporal, spatial is usually bette 1113, 15 - 56 + 75 diff --git a/win/C#/frmMain/PresetLoader.cs b/win/C#/frmMain/PresetLoader.cs index 7080f92d4..1d7472358 100644 --- a/win/C#/frmMain/PresetLoader.cs +++ b/win/C#/frmMain/PresetLoader.cs @@ -107,30 +107,6 @@ namespace Handbrake mainWindow.text_height.Text = presetQuery.Height.ToString(); } - mainWindow.drp_deInterlace_option.Text = presetQuery.DeInterlace; - mainWindow.drp_deNoise.Text = presetQuery.DeNoise; - - if (presetQuery.Decomb != "False") - mainWindow.check_decomb.CheckState = CheckState.Checked; - else - mainWindow.check_decomb.CheckState = CheckState.Unchecked; - - if (presetQuery.DeTelecine != "False") - mainWindow.check_detelecine.CheckState = CheckState.Checked; - else - mainWindow.check_detelecine.CheckState = CheckState.Unchecked; - - if (presetQuery.DeBlock != 0) - { - mainWindow.slider_deblock.Value = presetQuery.DeBlock; - mainWindow.lbl_deblockVal.Text = presetQuery.DeBlock.ToString(); - } - else - { - mainWindow.slider_deblock.Value = 4; - mainWindow.lbl_deblockVal.Text = "Off"; - } - if (presetQuery.Anamorphic) mainWindow.drp_anamorphic.SelectedIndex = 1; else @@ -161,6 +137,31 @@ namespace Handbrake #endregion + // Filters Tab + #region Filters + + mainWindow.ctl_decomb.setOption(presetQuery.Decomb); + + if (mainWindow.ctl_decomb.getDropValue == "Off") + mainWindow.ctl_deinterlace.setOption(presetQuery.DeInterlace); + else + mainWindow.ctl_deinterlace.setOption("None"); // Don't want decomb and deinterlace on at the same time + + mainWindow.ctl_denoise.setOption(presetQuery.DeNoise); + mainWindow.ctl_detelecine.setOption(presetQuery.DeTelecine); + + if (presetQuery.DeBlock != 0) + { + mainWindow.slider_deblock.Value = presetQuery.DeBlock; + mainWindow.lbl_deblockVal.Text = presetQuery.DeBlock.ToString(); + } + else + { + mainWindow.slider_deblock.Value = 4; + mainWindow.lbl_deblockVal.Text = "Off"; + } + #endregion + // Video Settings Tab #region video mainWindow.text_bitrate.Text = presetQuery.AverageVideoBitrate; diff --git a/win/C#/frmMain/QueryGenerator.cs b/win/C#/frmMain/QueryGenerator.cs index 811783621..8d77dfcb8 100644 --- a/win/C#/frmMain/QueryGenerator.cs +++ b/win/C#/frmMain/QueryGenerator.cs @@ -1,4 +1,10 @@ -using System; +/* QueryGenerator.cs $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ + +using System; using System.Text; using System.Windows.Forms; using System.Globalization; @@ -88,7 +94,6 @@ namespace Handbrake { string query = ""; - // The Output Settings box above the tabbed section. #region Output Settings Box query += " -f " + mainWindow.drop_format.Text.ToLower().Replace(" file", ""); @@ -103,7 +108,6 @@ namespace Handbrake query += " -O "; #endregion - // Picture Settings Tab #region Picture Settings Tab // Use MaxWidth for built-in presets and width for user settings. @@ -150,37 +154,6 @@ namespace Handbrake query += " --crop " + cropTop + ":" + cropBottom + ":" + cropLeft + ":" + cropRight; } - switch (mainWindow.drp_deInterlace_option.Text) - { - case "None": - query += ""; - break; - case "Fast": - query += " --deinterlace=\"fast\""; - break; - case "Slow": - query += " --deinterlace=\"slow\""; - break; - case "Slower": - query += " --deinterlace=\"slower\""; - break; - case "Slowest": - query += " --deinterlace=\"slowest\""; - break; - default: - query += ""; - break; - } - - if (mainWindow.check_decomb.Checked) - { - string decombValue = Properties.Settings.Default.decomb; - if (decombValue != "" && decombValue != Properties.Settings.Default.default_decomb) - query += " --decomb=\"" + decombValue + "\""; - else - query += " --decomb "; - } - if (mainWindow.drp_anamorphic.SelectedIndex == 1) query += " -p "; else if (mainWindow.drp_anamorphic.SelectedIndex == 2) @@ -189,11 +162,16 @@ namespace Handbrake if (mainWindow.slider_deblock.Value != 4) query += " --deblock=" + mainWindow.slider_deblock.Value; - if (mainWindow.check_detelecine.Checked) - query += " --detelecine"; + + #endregion + + #region Filters + query += mainWindow.ctl_detelecine.getCLIQuery; + query += mainWindow.ctl_decomb.getCLIQuery; + query += mainWindow.ctl_deinterlace.getCLIQuery; + query += mainWindow.ctl_denoise.getCLIQuery; #endregion - // Video Settings Tab #region Video Settings Tab switch (mainWindow.drp_videoEncoder.Text) @@ -241,28 +219,8 @@ namespace Handbrake if (mainWindow.drp_videoFramerate.Text != "Same as source") query += " -r " + mainWindow.drp_videoFramerate.Text; - - switch (mainWindow.drp_deNoise.Text) - { - case "None": - query += ""; - break; - case "Weak": - query += " --denoise=\"weak\""; - break; - case "Medium": - query += " --denoise=\"medium\""; - break; - case "Strong": - query += " --denoise=\"strong\""; - break; - default: - query += ""; - break; - } #endregion - // Audio Settings Tab #region Audio Settings Tab ListView audioTracks = mainWindow.lv_audioList; @@ -407,7 +365,6 @@ namespace Handbrake #endregion - // Chapter Markers Tab #region Chapter Markers // Attach Source name and dvd title to the start of the chapters.csv filename. @@ -441,13 +398,11 @@ namespace Handbrake } #endregion - // H264 Tab #region H264 Tab if (mainWindow.rtf_x264Query.Text != "") query += " -x " + mainWindow.rtf_x264Query.Text; #endregion - // Other #region Processors / Other string processors = Properties.Settings.Default.Processors; if (processors != "Automatic") -- 2.40.0