OSDN Git Service

ba6423f6fab95d1d59790cd725531c6fd2ea63be
[handbrake-jp/handbrake-jp.git] / win / C# / Controls / Filters.cs
1 using System;\r
2 using System.Windows.Forms;\r
3 \r
4 namespace Handbrake.Controls\r
5 {\r
6     public partial class Filters : UserControl\r
7     {\r
8         public event EventHandler FilterSettingsChanged;\r
9 \r
10         public Filters()\r
11         {\r
12             InitializeComponent();\r
13             drop_decomb.SelectedIndex = 0;\r
14             drop_deinterlace.SelectedIndex = 0;\r
15             drop_denoise.SelectedIndex = 0;\r
16             drop_detelecine.SelectedIndex = 0;\r
17         }\r
18 \r
19         // Controls\r
20         private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e)\r
21         {\r
22             text_customDT.Visible = drop_detelecine.Text == "カスタム";\r
23             // A Filter has changed so raise a FilterSettingsChanged event.\r
24             if (this.FilterSettingsChanged != null)\r
25                 this.FilterSettingsChanged(this, new EventArgs());\r
26         }\r
27         private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)\r
28         {\r
29             text_customDC.Visible = drop_decomb.Text == "カスタム";\r
30             if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)\r
31                 drop_deinterlace.SelectedIndex = 0;\r
32 \r
33             // A Filter has changed so raise a FilterSettingsChanged event.\r
34             if (this.FilterSettingsChanged != null)\r
35                 this.FilterSettingsChanged(this, new EventArgs());\r
36         }\r
37         private void drop_deinterlace_SelectedIndexChanged(object sender, EventArgs e)\r
38         {\r
39             text_customDI.Visible = drop_deinterlace.Text == "カスタム";\r
40             if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)\r
41                 drop_decomb.SelectedIndex = 0;\r
42 \r
43             // A Filter has changed so raise a FilterSettingsChanged event.\r
44             if (this.FilterSettingsChanged != null)\r
45                 this.FilterSettingsChanged(this, new EventArgs());\r
46         }\r
47         private void drop_denoise_SelectedIndexChanged(object sender, EventArgs e)\r
48         {\r
49             text_customDN.Visible = drop_denoise.Text == "カスタム";\r
50 \r
51             // A Filter has changed so raise a FilterSettingsChanged event.\r
52             if (this.FilterSettingsChanged != null)\r
53                 this.FilterSettingsChanged(this, new EventArgs());\r
54         }\r
55         private void slider_deblock_Scroll(object sender, EventArgs e)\r
56         {\r
57             lbl_deblockVal.Text = slider_deblock.Value == 4 ? "Off" : slider_deblock.Value.ToString();\r
58 \r
59             // A Filter has changed so raise a FilterSettingsChanged event.\r
60             if (this.FilterSettingsChanged != null)\r
61                 this.FilterSettingsChanged(this, new EventArgs());\r
62         }\r
63 \r
64         // Returns the CLI query for the query generator.\r
65         public string getCLIQuery\r
66         {\r
67             get\r
68             {\r
69                 string query = "";\r
70 \r
71                 switch (drop_detelecine.Text)  // DeTelecine\r
72                 {\r
73                     case "Off":\r
74                         query += "";\r
75                         break;\r
76                     case "デフォルト":\r
77                         query += " --detelecine";\r
78                         break;\r
79                     case "カスタム":\r
80                         query += " --detelecine=\"" + text_customDT.Text + "\"";\r
81                         break;\r
82                     default:\r
83                         query += "";\r
84                         break;\r
85                 }\r
86 \r
87 \r
88                 switch (drop_decomb.Text) // Decomb\r
89                 {\r
90                     case "Off":\r
91                         query += "";\r
92                         break;\r
93                     case "デフォルト":\r
94                         query += " --decomb";\r
95                         break;\r
96                     case "カスタム":\r
97                         query += " --decomb=\"" + text_customDC.Text + "\"";\r
98                         break;\r
99                     default:\r
100                         query += "";\r
101                         break;\r
102                 }\r
103 \r
104                 switch (drop_deinterlace.Text) // DeInterlace\r
105                 {\r
106                     case "None":\r
107                         query += "";\r
108                         break;\r
109                     case "高速":\r
110                         query += " --deinterlace=\"fast\"";\r
111                         break;\r
112                     case "低速":\r
113                         query += " --deinterlace=\"slow\"";\r
114                         break;\r
115                     case "最低":\r
116                         query += " --deinterlace=\"slower\"";\r
117                         break;\r
118                     case "カスタム":\r
119                         query += " --deinterlace=\"" + text_customDI.Text + "\"";\r
120                         break;\r
121                     default:\r
122                         query += "";\r
123                         break;\r
124                 }\r
125 \r
126                 switch (drop_denoise.Text) // Denoise\r
127                 {\r
128                     case "None":\r
129                         query += "";\r
130                         break;\r
131                     case "弱":\r
132                         query += " --denoise=\"weak\"";\r
133                         break;\r
134                     case "中":\r
135                         query += " --denoise=\"medium\"";\r
136                         break;\r
137                     case "強":\r
138                         query += " --denoise=\"strong\"";\r
139                         break;\r
140                     case "カスタム":\r
141                         query += " --denoise=\"" + text_customDN.Text + "\"";\r
142                         break;\r
143                     default:\r
144                         query += "";\r
145                         break;\r
146                 }\r
147 \r
148                 if (slider_deblock.Value != 4)\r
149                     query += " --deblock=" + slider_deblock.Value;\r
150 \r
151                 if (check_grayscale.Checked)\r
152                     query += " -g ";\r
153 \r
154                 return query;\r
155             }\r
156         }\r
157 \r
158         // Setup for each component for the preset loader.\r
159         public void setDeTelecine(string value)\r
160         {\r
161             text_customDT.Text = "";\r
162             text_customDT.Visible = false;\r
163             switch (value)\r
164             {\r
165                 case "Off":\r
166                     drop_detelecine.SelectedIndex = 0;\r
167                     break;\r
168                 case "デフォルト":\r
169                     drop_detelecine.SelectedIndex = 2;\r
170                     break;\r
171                 default:\r
172                     drop_detelecine.SelectedIndex = 1;\r
173                     text_customDT.Text = value;\r
174                     text_customDT.Visible = true;\r
175                     break;\r
176             }\r
177         }\r
178         public void setDeNoise(string value)\r
179         {\r
180             text_customDN.Text = "";\r
181             text_customDN.Visible = false;\r
182             switch (value)\r
183             {\r
184                 case "Off":\r
185                     drop_denoise.SelectedIndex = 0;\r
186                     break;\r
187                 case "弱":\r
188                     drop_denoise.SelectedIndex = 2;\r
189                     break;\r
190                 case "中":\r
191                     drop_denoise.SelectedIndex = 3;\r
192                     break;\r
193                 case "強":\r
194                     drop_denoise.SelectedIndex = 4;\r
195                     break;\r
196                 default:\r
197                     drop_denoise.SelectedIndex = 1;\r
198                     text_customDN.Text = value;\r
199                     text_customDN.Visible = true;\r
200                     break;\r
201             }\r
202         }\r
203         public void setDeInterlace(string value)\r
204         {\r
205             text_customDI.Text = "";\r
206             text_customDI.Visible = false;\r
207             switch (value)\r
208             {\r
209 \r
210                 case "Off":\r
211                     drop_deinterlace.SelectedIndex = 0;\r
212                     break;\r
213                 case "高速":\r
214                     drop_deinterlace.SelectedIndex = 2;\r
215                     break;\r
216                 case "低速":\r
217                     drop_deinterlace.SelectedIndex = 3;\r
218                     break;\r
219                 case "最低":\r
220                     drop_deinterlace.SelectedIndex = 4;\r
221 \r
222                     break;\r
223                 default:\r
224                     drop_deinterlace.SelectedIndex = 1;\r
225                     text_customDI.Text = value;\r
226                     text_customDI.Visible = true;\r
227                     break;\r
228             }\r
229         }\r
230         public void setDecomb(string value)\r
231         {\r
232             text_customDC.Text = "";\r
233             text_customDC.Visible = false;\r
234             switch (value)\r
235             {\r
236                 case "Off":\r
237                     drop_decomb.SelectedIndex = 0;\r
238                     break;\r
239                 case "デフォルト":\r
240                     drop_decomb.SelectedIndex = 2;\r
241                     break;\r
242                 default:\r
243                     drop_decomb.SelectedIndex = 1;\r
244                     text_customDC.Text = value;\r
245                     text_customDC.Visible = true;\r
246                     break;\r
247             }\r
248         }\r
249         public void setDeBlock(int value)\r
250         {\r
251             if (value != 0)\r
252             {\r
253                 slider_deblock.Value = value;\r
254                 lbl_deblockVal.Text = value.ToString();\r
255             }\r
256             else\r
257             {\r
258                 slider_deblock.Value = 4;\r
259                 lbl_deblockVal.Text = "Off";\r
260             }\r
261         }\r
262         public void setGrayScale(bool value)\r
263         {\r
264             check_grayscale.CheckState = value ? CheckState.Checked : CheckState.Unchecked;\r
265         } \r
266     }\r
267 }\r