2 using System.Windows.Forms;
\r
4 namespace Handbrake.Controls
\r
6 public partial class Filters : UserControl
\r
8 public event EventHandler FilterSettingsChanged;
\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
20 private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e)
\r
22 text_customDT.Visible = drop_detelecine.Text == "Custom";
\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
27 private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)
\r
29 text_customDC.Visible = drop_decomb.Text == "Custom";
\r
30 if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)
\r
31 drop_deinterlace.SelectedIndex = 0;
\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
37 private void drop_deinterlace_SelectedIndexChanged(object sender, EventArgs e)
\r
39 text_customDI.Visible = drop_deinterlace.Text == "Custom";
\r
40 if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)
\r
41 drop_decomb.SelectedIndex = 0;
\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
47 private void drop_denoise_SelectedIndexChanged(object sender, EventArgs e)
\r
49 text_customDN.Visible = drop_denoise.Text == "Custom";
\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
55 private void slider_deblock_Scroll(object sender, EventArgs e)
\r
57 lbl_deblockVal.Text = slider_deblock.Value == 4 ? "Off" : slider_deblock.Value.ToString();
\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
64 // Returns the CLI query for the query generator.
\r
65 public string getCLIQuery
\r
71 switch (drop_detelecine.Text) // DeTelecine
\r
77 query += " --detelecine";
\r
80 query += " --detelecine=\"" + text_customDT.Text + "\"";
\r
88 switch (drop_decomb.Text) // Decomb
\r
94 query += " --decomb";
\r
97 query += " --decomb=\"" + text_customDC.Text + "\"";
\r
104 switch (drop_deinterlace.Text) // DeInterlace
\r
110 query += " --deinterlace=\"fast\"";
\r
113 query += " --deinterlace=\"slow\"";
\r
116 query += " --deinterlace=\"slower\"";
\r
119 query += " --deinterlace=\"" + text_customDI.Text + "\"";
\r
126 switch (drop_denoise.Text) // Denoise
\r
132 query += " --denoise=\"weak\"";
\r
135 query += " --denoise=\"medium\"";
\r
138 query += " --denoise=\"strong\"";
\r
141 query += " --denoise=\"" + text_customDN.Text + "\"";
\r
148 if (slider_deblock.Value != 4)
\r
149 query += " --deblock=" + slider_deblock.Value;
\r
151 if (check_grayscale.Checked)
\r
158 // Setup for each component for the preset loader.
\r
159 public void setDeTelecine(string value)
\r
161 text_customDT.Text = "";
\r
162 text_customDT.Visible = false;
\r
166 drop_detelecine.SelectedIndex = 0;
\r
169 drop_detelecine.SelectedIndex = 1;
\r
172 drop_detelecine.SelectedIndex = 2;
\r
173 text_customDT.Text = value;
\r
174 text_customDT.Visible = true;
\r
178 public void setDeNoise(string value)
\r
180 text_customDN.Text = "";
\r
181 text_customDN.Visible = false;
\r
185 drop_denoise.SelectedIndex = 0;
\r
188 drop_denoise.SelectedIndex = 1;
\r
191 drop_denoise.SelectedIndex = 2;
\r
194 drop_denoise.SelectedIndex = 3;
\r
197 drop_denoise.SelectedIndex = 4;
\r
198 text_customDN.Text = value;
\r
199 text_customDN.Visible = true;
\r
203 public void setDeInterlace(string value)
\r
205 text_customDI.Text = "";
\r
206 text_customDI.Visible = false;
\r
211 drop_deinterlace.SelectedIndex = 0;
\r
214 drop_deinterlace.SelectedIndex = 1;
\r
217 drop_deinterlace.SelectedIndex = 2;
\r
220 drop_deinterlace.SelectedIndex = 3;
\r
224 drop_deinterlace.SelectedIndex = 4;
\r
225 text_customDI.Text = value;
\r
226 text_customDI.Visible = true;
\r
230 public void setDecomb(string value)
\r
232 text_customDC.Text = "";
\r
233 text_customDC.Visible = false;
\r
237 drop_decomb.SelectedIndex = 0;
\r
240 drop_decomb.SelectedIndex = 1;
\r
243 drop_decomb.SelectedIndex = 2;
\r
244 text_customDC.Text = value;
\r
245 text_customDC.Visible = true;
\r
249 public void setDeBlock(int value)
\r
253 slider_deblock.Value = value;
\r
254 lbl_deblockVal.Text = value.ToString();
\r
258 slider_deblock.Value = 4;
\r
259 lbl_deblockVal.Text = "Off";
\r
262 public void setGrayScale(bool value)
\r
264 check_grayscale.CheckState = value ? CheckState.Checked : CheckState.Unchecked;
\r