OSDN Git Service

import 0.9.4
[handbrake-jp/handbrake-jp.git] / win / C# / Controls / Filters.cs
diff --git a/win/C#/Controls/Filters.cs b/win/C#/Controls/Filters.cs
new file mode 100644 (file)
index 0000000..c5c56fc
--- /dev/null
@@ -0,0 +1,267 @@
+using System;\r
+using System.Windows.Forms;\r
+\r
+namespace Handbrake.Controls\r
+{\r
+    public partial class Filters : UserControl\r
+    {\r
+        public event EventHandler FilterSettingsChanged;\r
+\r
+        public Filters()\r
+        {\r
+            InitializeComponent();\r
+            drop_decomb.SelectedIndex = 0;\r
+            drop_deinterlace.SelectedIndex = 0;\r
+            drop_denoise.SelectedIndex = 0;\r
+            drop_detelecine.SelectedIndex = 0;\r
+        }\r
+\r
+        // Controls\r
+        private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            text_customDT.Visible = drop_detelecine.Text == "Custom";\r
+            // A Filter has changed so raise a FilterSettingsChanged event.\r
+            if (this.FilterSettingsChanged != null)\r
+                this.FilterSettingsChanged(this, new EventArgs());\r
+        }\r
+        private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            text_customDC.Visible = drop_decomb.Text == "Custom";\r
+            if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)\r
+                drop_deinterlace.SelectedIndex = 0;\r
+\r
+            // A Filter has changed so raise a FilterSettingsChanged event.\r
+            if (this.FilterSettingsChanged != null)\r
+                this.FilterSettingsChanged(this, new EventArgs());\r
+        }\r
+        private void drop_deinterlace_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            text_customDI.Visible = drop_deinterlace.Text == "Custom";\r
+            if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)\r
+                drop_decomb.SelectedIndex = 0;\r
+\r
+            // A Filter has changed so raise a FilterSettingsChanged event.\r
+            if (this.FilterSettingsChanged != null)\r
+                this.FilterSettingsChanged(this, new EventArgs());\r
+        }\r
+        private void drop_denoise_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            text_customDN.Visible = drop_denoise.Text == "Custom";\r
+\r
+            // A Filter has changed so raise a FilterSettingsChanged event.\r
+            if (this.FilterSettingsChanged != null)\r
+                this.FilterSettingsChanged(this, new EventArgs());\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
+\r
+            // A Filter has changed so raise a FilterSettingsChanged event.\r
+            if (this.FilterSettingsChanged != null)\r
+                this.FilterSettingsChanged(this, new EventArgs());\r
+        }\r
+\r
+        // Returns the CLI query for the query generator.\r
+        public string getCLIQuery\r
+        {\r
+            get\r
+            {\r
+                string query = "";\r
+\r
+                switch (drop_detelecine.Text)  // DeTelecine\r
+                {\r
+                    case "Off":\r
+                        query += "";\r
+                        break;\r
+                    case "Default":\r
+                        query += " --detelecine";\r
+                        break;\r
+                    case "Custom":\r
+                        query += " --detelecine=\"" + text_customDT.Text + "\"";\r
+                        break;\r
+                    default:\r
+                        query += "";\r
+                        break;\r
+                }\r
+\r
+\r
+                switch (drop_decomb.Text) // Decomb\r
+                {\r
+                    case "Off":\r
+                        query += "";\r
+                        break;\r
+                    case "Default":\r
+                        query += " --decomb";\r
+                        break;\r
+                    case "Custom":\r
+                        query += " --decomb=\"" + text_customDC.Text + "\"";\r
+                        break;\r
+                    default:\r
+                        query += "";\r
+                        break;\r
+                }\r
+\r
+                switch (drop_deinterlace.Text) // DeInterlace\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_customDI.Text + "\"";\r
+                        break;\r
+                    default:\r
+                        query += "";\r
+                        break;\r
+                }\r
+\r
+                switch (drop_denoise.Text) // Denoise\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_customDN.Text + "\"";\r
+                        break;\r
+                    default:\r
+                        query += "";\r
+                        break;\r
+                }\r
+\r
+                if (slider_deblock.Value != 4)\r
+                    query += " --deblock=" + slider_deblock.Value;\r
+\r
+                if (check_grayscale.Checked)\r
+                    query += " -g ";\r
+\r
+                return query;\r
+            }\r
+        }\r
+\r
+        // Setup for each component for the preset loader.\r
+        public void setDeTelecine(string value)\r
+        {\r
+            text_customDT.Text = "";\r
+            text_customDT.Visible = false;\r
+            switch (value)\r
+            {\r
+                case "Off":\r
+                    drop_detelecine.SelectedIndex = 0;\r
+                    break;\r
+                case "Default":\r
+                    drop_detelecine.SelectedIndex = 2;\r
+                    break;\r
+                default:\r
+                    drop_detelecine.SelectedIndex = 1;\r
+                    text_customDT.Text = value;\r
+                    text_customDT.Visible = true;\r
+                    break;\r
+            }\r
+        }\r
+        public void setDeNoise(string value)\r
+        {\r
+            text_customDN.Text = "";\r
+            text_customDN.Visible = false;\r
+            switch (value)\r
+            {\r
+                case "Off":\r
+                    drop_denoise.SelectedIndex = 0;\r
+                    break;\r
+                case "Weak":\r
+                    drop_denoise.SelectedIndex = 2;\r
+                    break;\r
+                case "Medium":\r
+                    drop_denoise.SelectedIndex = 3;\r
+                    break;\r
+                case "Strong":\r
+                    drop_denoise.SelectedIndex = 4;\r
+                    break;\r
+                default:\r
+                    drop_denoise.SelectedIndex = 1;\r
+                    text_customDN.Text = value;\r
+                    text_customDN.Visible = true;\r
+                    break;\r
+            }\r
+        }\r
+        public void setDeInterlace(string value)\r
+        {\r
+            text_customDI.Text = "";\r
+            text_customDI.Visible = false;\r
+            switch (value)\r
+            {\r
+\r
+                case "Off":\r
+                    drop_deinterlace.SelectedIndex = 0;\r
+                    break;\r
+                case "Fast":\r
+                    drop_deinterlace.SelectedIndex = 2;\r
+                    break;\r
+                case "Slow":\r
+                    drop_deinterlace.SelectedIndex = 3;\r
+                    break;\r
+                case "Slower":\r
+                    drop_deinterlace.SelectedIndex = 4;\r
+\r
+                    break;\r
+                default:\r
+                    drop_deinterlace.SelectedIndex = 1;\r
+                    text_customDI.Text = value;\r
+                    text_customDI.Visible = true;\r
+                    break;\r
+            }\r
+        }\r
+        public void setDecomb(string value)\r
+        {\r
+            text_customDC.Text = "";\r
+            text_customDC.Visible = false;\r
+            switch (value)\r
+            {\r
+                case "Off":\r
+                    drop_decomb.SelectedIndex = 0;\r
+                    break;\r
+                case "Default":\r
+                    drop_decomb.SelectedIndex = 2;\r
+                    break;\r
+                default:\r
+                    drop_decomb.SelectedIndex = 1;\r
+                    text_customDC.Text = value;\r
+                    text_customDC.Visible = true;\r
+                    break;\r
+            }\r
+        }\r
+        public void setDeBlock(int value)\r
+        {\r
+            if (value != 0)\r
+            {\r
+                slider_deblock.Value = value;\r
+                lbl_deblockVal.Text = value.ToString();\r
+            }\r
+            else\r
+            {\r
+                slider_deblock.Value = 4;\r
+                lbl_deblockVal.Text = "Off";\r
+            }\r
+        }\r
+        public void setGrayScale(bool value)\r
+        {\r
+            check_grayscale.CheckState = value ? CheckState.Checked : CheckState.Unchecked;\r
+        } \r
+    }\r
+}\r