summaryrefslogtreecommitdiffstats
path: root/win/C#/frmMain/PresetLoader.cs
diff options
context:
space:
mode:
authorsr55 <[email protected]>2008-10-13 21:54:27 +0000
committersr55 <[email protected]>2008-10-13 21:54:27 +0000
commit18daea7ae350040ce3307d18e3cedcb9e9c5f5f2 (patch)
treea0053125d1c68da7d145e14807806a41c3879288 /win/C#/frmMain/PresetLoader.cs
parent7855971ef2d9be9d70ce063cabecc021f2ee79c8 (diff)
WinGui:
- Started to decouple this code a bit. Common.cs (now Main.cs) no longer relies on the frmMain window being passed into it. frmAddPreset no longer requires to access QueryGenerator.cs - QueryGenerator.cs, x264Panel.cs, PresetLoader.cs all moved into their own "frmMain" folder as that is the only place they should be used. - Rearranged the base of frmMain.cs a bit. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1830 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win/C#/frmMain/PresetLoader.cs')
-rw-r--r--win/C#/frmMain/PresetLoader.cs351
1 files changed, 351 insertions, 0 deletions
diff --git a/win/C#/frmMain/PresetLoader.cs b/win/C#/frmMain/PresetLoader.cs
new file mode 100644
index 000000000..c42f8202e
--- /dev/null
+++ b/win/C#/frmMain/PresetLoader.cs
@@ -0,0 +1,351 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using System.Drawing;
+
+namespace Handbrake
+{
+ class PresetLoader
+ {
+ /// <summary>
+ /// This function takes in a Query which has been parsed by QueryParser and
+ /// set's all the GUI widgets correctly.
+ /// </summary>
+ /// <param name="mainWindow"></param>
+ /// <param name="presetQuery">The Parsed CLI Query</param>
+ /// <param name="name">Name of the preset</param>
+ public void presetLoader(frmMain mainWindow, Functions.QueryParser presetQuery, string name)
+ {
+ // ---------------------------
+ // Setup the GUI
+ // ---------------------------
+
+ // Source tab
+ #region source
+ // Reset some vaules to stock first to prevent errors.
+ mainWindow.check_iPodAtom.CheckState = CheckState.Unchecked;
+
+ // Now load all the new settings onto the main window
+ mainWindow.drp_dvdtitle.Text = "Automatic";
+ mainWindow.drop_chapterStart.Text = "Auto";
+ mainWindow.drop_chapterFinish.Text = "Auto";
+
+ if (presetQuery.Format != null)
+ {
+ string destination = mainWindow.text_destination.Text;
+ destination = destination.Replace(".mp4", "." + presetQuery.Format);
+ destination = destination.Replace(".m4v", "." + presetQuery.Format);
+ destination = destination.Replace(".avi", "." + presetQuery.Format);
+ destination = destination.Replace(".mkv", "." + presetQuery.Format);
+ destination = destination.Replace(".ogm", "." + presetQuery.Format);
+ mainWindow.text_destination.Text = destination;
+ }
+
+ #endregion
+
+ // Destination tab
+ #region destination
+
+ mainWindow.drp_videoEncoder.Text = presetQuery.VideoEncoder;
+
+ if (presetQuery.Format != null)
+ {
+ if (presetQuery.Format == "mp4")
+ mainWindow.drop_format.SelectedIndex = 0;
+ else if (presetQuery.Format == "m4v")
+ mainWindow.drop_format.SelectedIndex = 1;
+ else if (presetQuery.Format == "mkv")
+ mainWindow.drop_format.SelectedIndex = 2;
+ else if (presetQuery.Format == "avi")
+ mainWindow.drop_format.SelectedIndex = 3;
+ else if (presetQuery.Format == "ogm")
+ mainWindow.drop_format.SelectedIndex = 4;
+ }
+
+ if (presetQuery.IpodAtom == true)
+ mainWindow.check_iPodAtom.CheckState = CheckState.Checked;
+ else
+ mainWindow.check_iPodAtom.CheckState = CheckState.Unchecked;
+
+ if (presetQuery.OptimizeMP4 == true)
+ mainWindow.check_optimiseMP4.CheckState = CheckState.Checked;
+ else
+ mainWindow.check_optimiseMP4.CheckState = CheckState.Unchecked;
+
+ #endregion
+
+ // Picture Settings Tab
+ #region Picture
+ mainWindow.check_autoCrop.Checked = true;
+ mainWindow.drp_deInterlace_option.Text = presetQuery.DeInterlace;
+ mainWindow.drp_deNoise.Text = presetQuery.DeNoise;
+
+ if (presetQuery.Decomb == true)
+ mainWindow.check_decomb.CheckState = CheckState.Checked;
+ else
+ mainWindow.check_decomb.CheckState = CheckState.Unchecked;
+
+ if (presetQuery.DeTelecine == true)
+ 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 == true)
+ mainWindow.drp_anamorphic.SelectedIndex = 1;
+ else
+ mainWindow.drp_anamorphic.SelectedIndex = 0;
+
+ if (presetQuery.LooseAnamorphic == true)
+ mainWindow.drp_anamorphic.SelectedIndex = 2;
+ else
+ {
+ if (presetQuery.Anamorphic != true)
+ mainWindow.drp_anamorphic.SelectedIndex = 0;
+ }
+
+ if (presetQuery.Width != 0)
+ mainWindow.text_width.Text = presetQuery.Width.ToString();
+ else
+ {
+ mainWindow.text_width.Text = "";
+ }
+
+ if (presetQuery.Height != 0)
+ mainWindow.text_height.Text = presetQuery.Height.ToString();
+ else
+ {
+ mainWindow.text_height.Text = "";
+ }
+
+ #endregion
+
+ // Video Settings Tab
+ #region video
+ mainWindow.text_bitrate.Text = presetQuery.AverageVideoBitrate;
+ mainWindow.text_filesize.Text = presetQuery.VideoTargetSize;
+ mainWindow.slider_videoQuality.Value = presetQuery.VideoQuality;
+ if (mainWindow.slider_videoQuality.Value != 0)
+ {
+ int ql = presetQuery.VideoQuality;
+ mainWindow.SliderValue.Text = ql.ToString() + "%";
+ }
+
+ if (presetQuery.TwoPass == true)
+ mainWindow.check_2PassEncode.CheckState = CheckState.Checked;
+ else
+ mainWindow.check_2PassEncode.CheckState = CheckState.Unchecked;
+
+ if (presetQuery.Grayscale == true)
+ mainWindow.check_grayscale.CheckState = CheckState.Checked;
+ else
+ mainWindow.check_grayscale.CheckState = CheckState.Unchecked;
+
+ mainWindow.drp_videoFramerate.Text = presetQuery.VideoFramerate;
+
+ if (presetQuery.TurboFirstPass == true)
+ mainWindow.check_turbo.CheckState = CheckState.Checked;
+ else
+ mainWindow.check_turbo.CheckState = CheckState.Unchecked;
+
+ if (presetQuery.LargeMP4 == true)
+ mainWindow.check_largeFile.CheckState = CheckState.Checked;
+ else
+ {
+ mainWindow.check_largeFile.CheckState = CheckState.Unchecked;
+ mainWindow.check_largeFile.BackColor = Color.Transparent;
+ }
+ #endregion
+
+ // Chapter Markers Tab
+ #region Chapter Markers
+
+ if (presetQuery.ChapterMarkers == true)
+ mainWindow.Check_ChapterMarkers.CheckState = CheckState.Checked;
+ else
+ mainWindow.Check_ChapterMarkers.CheckState = CheckState.Unchecked;
+
+ #endregion
+
+ // Audio Settings Tab
+ #region Audio
+
+ // Handle Track 1
+ mainWindow.drp_track1Audio.Text = "Automatic";
+
+ // Handle Track 2
+ if (presetQuery.AudioEncoder2 != null) // Fix for loading in built in presets. Where 2 encoders but no tracks in the preset.
+ {
+ mainWindow.drp_track2Audio.Enabled = true;
+ mainWindow.drp_audsr_2.Enabled = true;
+ mainWindow.drp_audmix_2.Enabled = true;
+ mainWindow.drp_audenc_2.Enabled = true;
+ mainWindow.drp_audbit_2.Enabled = true;
+ mainWindow.drp_audsr_2.Text = "48";
+ mainWindow.drp_track2Audio.Text = "Automatic";
+ }
+ else if (presetQuery.AudioTrack2 == "None")
+ {
+ mainWindow.drp_track2Audio.Text = "None";
+ mainWindow.drp_track2Audio.SelectedIndex = 0;
+ mainWindow.drp_audsr_2.Enabled = false;
+ mainWindow.drp_audmix_2.Enabled = false;
+ mainWindow.drp_audenc_2.Enabled = false;
+ mainWindow.drp_audbit_2.Enabled = false;
+ }
+ else
+ {
+ mainWindow.drp_track2Audio.Text = presetQuery.AudioTrack2;
+ mainWindow.drp_audsr_2.Enabled = true;
+ mainWindow.drp_audmix_2.Enabled = true;
+ mainWindow.drp_audenc_2.Enabled = true;
+ mainWindow.drp_audbit_2.Enabled = true;
+ }
+
+ // Handle Track 3
+ if (presetQuery.AudioTrack3 == "None")
+ {
+ mainWindow.drp_track3Audio.SelectedIndex = 0;
+ mainWindow.drp_audsr_3.Enabled = false;
+ mainWindow.drp_audmix_3.Enabled = false;
+ mainWindow.drp_audenc_3.Enabled = false;
+ mainWindow.drp_audbit_3.Enabled = false;
+ mainWindow.trackBar3.Enabled = false;
+
+ mainWindow.drp_track3Audio.Text = "None";
+ mainWindow.drp_audsr_3.Text = "";
+ mainWindow.drp_audmix_3.Text = "Automatic";
+ mainWindow.drp_audenc_3.Text = "";
+ mainWindow.drp_audbit_3.Text = "";
+ mainWindow.trackBar3.Value = 0;
+
+ }
+ else
+ {
+ mainWindow.drp_track3Audio.Text = presetQuery.AudioTrack3;
+ mainWindow.drp_audsr_3.Enabled = true;
+ mainWindow.drp_audmix_3.Enabled = true;
+ mainWindow.drp_audenc_3.Enabled = true;
+ mainWindow.drp_audbit_3.Enabled = true;
+ mainWindow.trackBar3.Enabled = true;
+ }
+
+ // Handle Track 4
+ if (presetQuery.AudioTrack4 == "None")
+ {
+ mainWindow.drp_track4Audio.SelectedIndex = 0;
+ mainWindow.drp_audsr_4.Enabled = false;
+ mainWindow.drp_audmix_4.Enabled = false;
+ mainWindow.drp_audenc_4.Enabled = false;
+ mainWindow.drp_audbit_4.Enabled = false;
+ mainWindow.trackBar4.Enabled = false;
+
+ mainWindow.drp_track4Audio.Text = "None";
+ mainWindow.drp_audsr_4.Text = "";
+ mainWindow.drp_audmix_4.Text = "Automatic";
+ mainWindow.drp_audenc_4.Text = "";
+ mainWindow.drp_audbit_4.Text = "";
+ mainWindow.trackBar4.Value = 0;
+ }
+ else
+ {
+ mainWindow.drp_track4Audio.Text = presetQuery.AudioTrack4;
+ mainWindow.drp_audsr_4.Enabled = true;
+ mainWindow.drp_audmix_4.Enabled = true;
+ mainWindow.drp_audenc_4.Enabled = true;
+ mainWindow.drp_audbit_4.Enabled = true;
+ mainWindow.trackBar4.Enabled = true;
+ }
+
+ // Now lets start setting stuff
+ if (presetQuery.AudioEncoder1 != null)
+ mainWindow.drp_audenc_1.Text = presetQuery.AudioEncoder1;
+ mainWindow.drp_audenc_2.Text = presetQuery.AudioEncoder2;
+ mainWindow.drp_audenc_3.Text = presetQuery.AudioEncoder3;
+ mainWindow.drp_audenc_4.Text = presetQuery.AudioEncoder4;
+
+ mainWindow.drp_audmix_1.Text = presetQuery.AudioTrackMix1;
+ mainWindow.drp_audmix_2.Text = presetQuery.AudioTrackMix2;
+ mainWindow.drp_audmix_3.Text = presetQuery.AudioTrackMix3;
+ mainWindow.drp_audmix_4.Text = presetQuery.AudioTrackMix4;
+
+ if (presetQuery.AudioBitrate1 != null)
+ mainWindow.drp_audbit_1.Text = presetQuery.AudioBitrate1;
+ mainWindow.drp_audbit_2.Text = presetQuery.AudioBitrate2;
+ mainWindow.drp_audbit_3.Text = presetQuery.AudioBitrate4;
+ mainWindow.drp_audbit_3.Text = presetQuery.AudioBitrate4;
+
+ if (presetQuery.AudioSamplerate1 != null)
+ mainWindow.drp_audsr_1.Text = presetQuery.AudioSamplerate1;
+ mainWindow.drp_audsr_2.Text = presetQuery.AudioSamplerate2;
+ mainWindow.drp_audsr_3.Text = presetQuery.AudioSamplerate3;
+ mainWindow.drp_audsr_4.Text = presetQuery.AudioSamplerate4;
+
+ // Dynamic Range Compression (Should be a float but we use double for ease)
+ double value = 0;
+ double actualValue = 0;
+
+ value = presetQuery.DRC1;
+ if (value > 0)
+ value = value - 10;
+ mainWindow.trackBar1.Value = int.Parse(value.ToString());
+ actualValue = presetQuery.DRC1 / 10;
+ mainWindow.lbl_drc1.Text = actualValue.ToString();
+
+ value = presetQuery.DRC2;
+ if (value > 0)
+ value = value - 10;
+ mainWindow.trackBar2.Value = int.Parse(value.ToString());
+ actualValue = presetQuery.DRC2 / 10;
+ mainWindow.lbl_drc2.Text = actualValue.ToString();
+
+ value = presetQuery.DRC3;
+ if (value > 0)
+ value = value - 10;
+ mainWindow.trackBar3.Value = int.Parse(value.ToString());
+ actualValue = presetQuery.DRC3 / 10;
+ mainWindow.lbl_drc3.Text = actualValue.ToString();
+
+ value = presetQuery.DRC4;
+ if (value > 0)
+ value = value - 10;
+ mainWindow.trackBar4.Value = int.Parse(value.ToString());
+ actualValue = presetQuery.DRC4 / 10;
+ mainWindow.lbl_drc4.Text = actualValue.ToString();
+
+
+ // Subtitle Stuff
+ mainWindow.drp_subtitle.Text = presetQuery.Subtitles;
+
+ if (presetQuery.ForcedSubtitles == true)
+ {
+ mainWindow.check_forced.CheckState = CheckState.Checked;
+ mainWindow.check_forced.Enabled = true;
+ }
+ else
+ mainWindow.check_forced.CheckState = CheckState.Unchecked;
+
+
+ #endregion
+
+ // H264 Tab & Preset Name
+ #region other
+ mainWindow.rtf_x264Query.Text = presetQuery.H264Query;
+
+ // Set the preset name
+ mainWindow.groupBox_output.Text = "Output Settings (Preset: " + name + ")";
+ #endregion
+ }
+ }
+}