OSDN Git Service

WinGUI:
authorsr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 7 Sep 2007 14:24:49 +0000 (14:24 +0000)
committersr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 7 Sep 2007 14:24:49 +0000 (14:24 +0000)
- Reduced the amount of code preset's take up by a few hundred lines. (Will do until the preset system is re-written later on)

git-svn-id: svn://localhost/HandBrake/trunk@932 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/C#/frmMain.cs

index 2f94115..976eb11 100644 (file)
@@ -45,7 +45,6 @@ namespace Handbrake
             //dvdInfoWindow.Hide();\r
             // **********************************************************************************************\r
 \r
-\r
             // Set the Version number lable to the corect version.\r
             Version.Text = "Version " + Properties.Settings.Default.GuiVersion;\r
 \r
@@ -61,16 +60,14 @@ namespace Handbrake
             // Enable or disable tooltips\r
             tooltip();\r
 \r
-            //MessageBox.Show(System.Environment.OSVersion.Version.ToString());\r
-        \r
         }\r
 \r
         private void showSplash(object sender)\r
         {\r
             Form splash = new frmSplashScreen();\r
             splash.Show();\r
-            Thread.Sleep(3000);\r
-            splash.Close();\r
+            Thread.Sleep(1500);  // Display splash screen for 1.5 Seconds\r
+            splash.Close(); // Then close.\r
         }\r
 \r
         private void loadUserDefaults()\r
@@ -398,29 +395,11 @@ namespace Handbrake
         {\r
             showQueue();\r
         }\r
-\r
-       \r
+   \r
         private void mnu_viewDVDdata_Click(object sender, EventArgs e)\r
         {\r
-            try\r
-            {\r
-                frmDvdInfo dvdInfoWindow = new frmDvdInfo();\r
-                dvdInfoWindow.Show();\r
-            }\r
-            catch (Exception)\r
-            {\r
-                // No action required\r
-            }\r
-\r
-            // BUG *******************************************************\r
-            // Cross-thread operation not valid: Control 'rtf_dvdInfo' accessed from a thread other than the thread it was created on.\r
-            // This happens when the DVD is scanned and this item is then selected.\r
-            // If this item is selected so a blank copy of the window appears, then a DVD is scanned, there is no cross-thread issue.\r
-            // NOTE: Try/catch added to prevent final build crashing.\r
-            // NOTE2: Included a quick fix in frmMain(). Simply show and hide the window when starting the app.\r
-            // Note3: Suspect the problem lies with line 30.\r
-            // ***********************************************************\r
-\r
+            frmDvdInfo dvdInfoWindow = new frmDvdInfo();\r
+            dvdInfoWindow.Show();\r
         }\r
 \r
         private void mnu_options_Click(object sender, EventArgs e)\r
@@ -436,432 +415,135 @@ namespace Handbrake
 \r
         private void mnu_animation_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Checked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "1000";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "ref=5:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=5:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2";\r
-            drp_deInterlace_option.Text = "Origional (Fast)";\r
-            check_2PassEncode.CheckState = CheckState.Checked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Checked;\r
-            drp_audioCodec.Text = "AAC";\r
+            setGuiSetttings(CheckState.Checked, "", "", "H.264", "1000", "", 0, "0%", "160", CheckState.Checked, "48", "ref=5:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=5:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2", "Origional (Fast)", CheckState.Checked, "No Crop", CheckState.Checked, "AAC", "Output Settings (Preset: Apple Animation)");\r
 \r
-            // Set file extension to MKV\r
-            string destination = text_destination.Text;\r
-            destination = destination.Replace(".mp4", ".mkv");\r
-            destination = destination.Replace(".avi", ".mkv");\r
-            destination = destination.Replace(".m4v", ".mkv");\r
-            destination = destination.Replace(".ogm", ".mkv");\r
-            text_destination.Text = destination;\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: Animation)";\r
+            setMkv();\r
         }\r
 \r
         private void mnu_appleTv_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Checked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "2500";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Unchecked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Unchecked;\r
-            drp_audioCodec.Text = "AAC";\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: Apple TV)";\r
+            setGuiSetttings(CheckState.Checked, "", "", "H.264", "2500", "", 0, "0%", "160", CheckState.Checked, "48", "bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2", "None", CheckState.Unchecked, "No Crop", CheckState.Unchecked, "AAC", "Output Settings (Preset: Apple TV)");\r
         }\r
 \r
         private void mnu_bedlam_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Checked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "1800";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "ref=16:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:me-range=64:analyse=all:8x8dct:trellis=2:no-fast-pskip:no-dct-decimate:filter=-2,-1";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Checked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Checked;\r
-            drp_audioCodec.Text = "AC3";\r
+            setGuiSetttings(CheckState.Checked, "", "", "H.264", "1800", "", 0, "0%", "160", CheckState.Checked, "48", "ref=16:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:me-range=64:analyse=all:8x8dct:trellis=2:no-fast-pskip:no-dct-decimate:filter=-2,-1", "None", CheckState.Checked, "No Crop", CheckState.Checked, "AAC", "Output Settings (Preset: Bedlam)");\r
 \r
-            // Set file extension to MKV\r
-            string destination = text_destination.Text;\r
-            destination = destination.Replace(".mp4", ".mkv");\r
-            destination = destination.Replace(".avi", ".mkv");\r
-            destination = destination.Replace(".m4v", ".mkv");\r
-            destination = destination.Replace(".ogm", ".mkv");\r
-            text_destination.Text = destination;\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: Bedlam)";\r
+            setMkv();\r
         }\r
 \r
         private void mnu_blind_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Unchecked;\r
-            text_width.Text = "512";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "512";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "128";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Unchecked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Unchecked;\r
-            drp_audioCodec.Text = "AAC";\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: Blind)";\r
+            setGuiSetttings(CheckState.Unchecked, "512", "", "H.264", "512", "", 0, "0%", "128", CheckState.Checked, "48", "", "None", CheckState.Unchecked, "No Crop", CheckState.Unchecked, "AAC", "Output Settings (Preset: Blind)");\r
         }\r
 \r
         private void mnu_broke_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Unchecked;\r
-            text_width.Text = "640";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "";\r
-            text_filesize.Text = "695";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "128";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "ref=3:mixed-refs:bframes=6:bime:weightb:b-rdo:b-pyramid::direct=auto:me=umh:subme=6:trellis=1:analyse=all:8x8dct:no-fast-pskip";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Checked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Checked;\r
-            drp_audioCodec.Text = "AAC";\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: Broke)";\r
+            setGuiSetttings(CheckState.Unchecked, "640", "", "H.264", "", "695", 0, "0%", "128", CheckState.Checked, "48", "ref=3:mixed-refs:bframes=6:bime:weightb:b-rdo:b-pyramid::direct=auto:me=umh:subme=6:trellis=1:analyse=all:8x8dct:no-fast-pskip", "None", CheckState.Checked, "No Crop", CheckState.Checked, "AAC", "Output Settings (Preset: Broke)");\r
         }\r
 \r
         private void mnu_Classic_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Unchecked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "1000";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Unchecked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Unchecked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Unchecked;\r
-            drp_audioCodec.Text = "AAC";\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: Classic)";\r
+            setGuiSetttings(CheckState.Unchecked, "", "", "H.264", "1000", "", 0, "0%", "160", CheckState.Unchecked, "48", "", "None", CheckState.Unchecked, "No Crop", CheckState.Unchecked, "AAC", "Output Settings (Preset: Classic)");\r
         }\r
 \r
         private void mnu_CQR_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Checked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 64;\r
-            SliderValue.Text = "64%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "ref=3:mixed-refs:bframes=3:b-pyramid:b-rdo:bime:weightb:filter=-2,-1:subme=6:trellis=1:analyse=all:8x8dct:me=umh";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Unchecked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Unchecked;\r
-            drp_audioCodec.Text = "AC3";\r
-\r
-            // Set file extension to MKV\r
-            string destination = text_destination.Text;\r
-            destination = destination.Replace(".mp4", ".mkv");\r
-            destination = destination.Replace(".avi", ".mkv");\r
-            destination = destination.Replace(".m4v", ".mkv");\r
-            destination = destination.Replace(".ogm", ".mkv");\r
-            text_destination.Text = destination;\r
+            setGuiSetttings(CheckState.Checked, "", "", "H.264", "", "", 64, "64%", "160", CheckState.Checked, "48", "ref=3:mixed-refs:bframes=3:b-pyramid:b-rdo:bime:weightb:filter=-2,-1:subme=6:trellis=1:analyse=all:8x8dct:me=umh", "None", CheckState.Unchecked, "No Crop", CheckState.Unchecked, "AC3", "Output Settings (Preset: CQR)");\r
 \r
-            groupBox_output.Text = "Output Settings (Preset: CQR)";\r
+            setMkv();\r
         }\r
 \r
         private void mnu_DSQ_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Checked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "1600";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "ref=5:mixed-refs:bframes=3:bime:weightb:b-rdo:b-pyramid:me=umh:subme=7:trellis=1:analyse=all:8x8dct:no-fast-pskip";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Checked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Checked;\r
-            drp_audioCodec.Text = "AC3";\r
+            setGuiSetttings(CheckState.Checked, "", "", "H.264", "1600", "", 0, "0%", "160", CheckState.Checked, "48", "ref=5:mixed-refs:bframes=3:bime:weightb:b-rdo:b-pyramid:me=umh:subme=7:trellis=1:analyse=all:8x8dct:no-fast-pskip", "None", CheckState.Checked, "No Crop", CheckState.Checked, "AC3", "Output Settings (Preset: DSQ)");\r
 \r
-            // Set file extension to MKV\r
-            string destination = text_destination.Text;\r
-            destination = destination.Replace(".mp4", ".mkv");\r
-            destination = destination.Replace(".avi", ".mkv");\r
-            destination = destination.Replace(".m4v", ".mkv");\r
-            destination = destination.Replace(".ogm", ".mkv");\r
-            text_destination.Text = destination;\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: DSQ)";\r
+            setMkv();\r
         }\r
 \r
         private void mnu_film_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Checked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "2000";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:no-fast-pskip";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Checked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Checked;\r
-            drp_audioCodec.Text = "AC3";\r
-\r
-            // Set file extension to MKV\r
-            string destination = text_destination.Text;\r
-            destination = destination.Replace(".mp4", ".mkv");\r
-            destination = destination.Replace(".avi", ".mkv");\r
-            destination = destination.Replace(".m4v", ".mkv");\r
-            destination = destination.Replace(".ogm", ".mkv");\r
-            text_destination.Text = destination;\r
+            setGuiSetttings(CheckState.Checked, "", "", "H.264", "2000", "", 0, "0%", "160", CheckState.Checked, "48", "ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:no-fast-pskip", "None", CheckState.Checked, "No Crop", CheckState.Checked, "AC3", "Output Settings (Preset: Film)");\r
 \r
-            groupBox_output.Text = "Output Settings (Preset: Film)";\r
+            setMkv();\r
         }\r
 \r
         private void mnu_iphone_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Unchecked;\r
-            text_width.Text = "480";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264 (iPod)";\r
-            text_bitrate.Text = "960";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "128";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Unchecked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Unchecked;\r
-            drp_audioCodec.Text = "AAC";\r
 \r
-            groupBox_output.Text = "Output Settings (Preset: iPhone)";\r
+            setGuiSetttings(CheckState.Unchecked, "480", "", "H.264", "960", "", 0, "0%", "128", CheckState.Checked, "48", "cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1", "None", CheckState.Unchecked, "No Crop", CheckState.Unchecked, "AAC", "Output Settings (Preset: iPhone)");\r
+\r
         }\r
 \r
         private void mnu_ipod_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Unchecked;\r
-            text_width.Text = "640";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264 (iPod)";\r
-            text_bitrate.Text = "1500";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Unchecked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Unchecked;\r
-            drp_audioCodec.Text = "AAC";\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: iPod High Rez)";\r
+            setGuiSetttings(CheckState.Unchecked, "640", "", "H.264", "1500", "", 0, "0%", "160", CheckState.Checked, "48", "keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1", "None", CheckState.Unchecked, "No Crop", CheckState.Unchecked, "AAC", "Output Settings (Preset: iPod High Rez)");\r
         }\r
 \r
         private void mnu_ipodLow_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Unchecked;\r
-            text_width.Text = "320";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264 (iPod)";\r
-            text_bitrate.Text = "700";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Unchecked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Unchecked;\r
-            drp_audioCodec.Text = "AAC";\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: iPod Low Rez)";\r
+            setGuiSetttings(CheckState.Unchecked, "320", "", "H.264", "700", "", 0, "0%", "160", CheckState.Checked, "48", "keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1", "None", CheckState.Unchecked, "No Crop", CheckState.Unchecked, "AAC", "Output Settings (Preset: iPod Low Rez)");\r
         }\r
 \r
         private void mnu_normal_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Checked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "1500";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "ref=2:bframes=2:subme=5:me=umh";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Checked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Checked;\r
-            drp_audioCodec.Text = "AAC";\r
 \r
-            groupBox_output.Text = "Output Settings (Preset: Normal)";\r
+            setGuiSetttings(CheckState.Checked, "", "", "H.264", "1500", "", 0, "0%", "160", CheckState.Checked, "48", "ref=2:bframes=2:subme=5:me=umh", "None", CheckState.Checked, "No Crop", CheckState.Checked, "AAC", "Output Settings (Preset: Normal)");\r
+\r
         }\r
 \r
         private void mnu_PS3_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Checked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "2500";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "level=41:subme=5:me=umh";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Unchecked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Unchecked;\r
-            drp_audioCodec.Text = "AAC";\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: PS3)";\r
+            setGuiSetttings(CheckState.Checked, "", "", "H.264", "2500", "", 0, "0%", "160", CheckState.Checked, "48", "level=41:subme=5:me=umh", "None", CheckState.Unchecked, "No Crop", CheckState.Unchecked, "AAC", "Output Settings (Preset: PS3)");\r
         }\r
 \r
         private void mnu_psp_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Unchecked;\r
-            text_width.Text = "368";\r
-            text_height.Text = "208";\r
-            drp_videoEncoder.Text = "Mpeg 4";\r
-            text_bitrate.Text = "1024";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Unchecked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Unchecked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Unchecked;\r
-            drp_audioCodec.Text = "AAC";\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: PSP)";\r
+            setGuiSetttings(CheckState.Unchecked, "368", "208", "Mpeg 4", "1024", "", 0, "0%", "160", CheckState.Unchecked, "48", "", "None", CheckState.Unchecked, "No Crop", CheckState.Unchecked, "AAC", "Output Settings (Preset: PSP)");\r
         }\r
 \r
         private void mnu_qt_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Checked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "2000";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct-auto:me=umh:subme=5:analyse=all:8x8dct:trellis=1:no-fast-pskip";\r
-            drp_deInterlace_option.Text = "None";\r
-            check_2PassEncode.CheckState = CheckState.Checked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Checked;\r
-            drp_audioCodec.Text = "AAC";\r
 \r
-            groupBox_output.Text = "Output Settings (Preset: Quicktime)";\r
+            setGuiSetttings(CheckState.Checked, "", "", "H.264", "2000", "", 0, "0%", "160", CheckState.Checked, "48", "ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct-auto:me=umh:subme=5:analyse=all:8x8dct:trellis=1:no-fast-pskip", "None", CheckState.Checked, "No Crop", CheckState.Checked, "AAC", "Output Settings (Preset: Quicktime)");\r
+\r
         }\r
 \r
         private void mnu_television_Click(object sender, EventArgs e)\r
         {\r
-            CheckPixelRatio.CheckState = CheckState.Unchecked;\r
-            text_width.Text = "";\r
-            text_height.Text = "";\r
-            drp_videoEncoder.Text = "H.264";\r
-            text_bitrate.Text = "1300";\r
-            text_filesize.Text = "";\r
-            slider_videoQuality.Value = 0;\r
-            SliderValue.Text = "0%";\r
-            drp_audioBitrate.Text = "160";\r
-            Check_ChapterMarkers.CheckState = CheckState.Checked;\r
-            drp_audioSampleRate.Text = "48";\r
-            rtf_h264advanced.Text = "ref=3:mixed-refs:bframes=6:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip";\r
-            drp_deInterlace_option.Text = "Origional (Fast)";\r
-            check_2PassEncode.CheckState = CheckState.Checked;\r
-            drp_crop.Text = "No Crop";\r
-            check_turbo.CheckState = CheckState.Checked;\r
-            drp_audioCodec.Text = "AAC";\r
 \r
+            setGuiSetttings(CheckState.Unchecked, "", "", "H.264", "1300", "", 0, "0%", "160", CheckState.Checked, "48", "ref=3:mixed-refs:bframes=6:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip", "Origional (Fast)", CheckState.Checked, "No Crop", CheckState.Checked, "AAC", "Output Settings (Preset: Television)");\r
+\r
+            setMkv();\r
+        }\r
+\r
+        // Function to setup the preset.\r
+        // It's a bit dirty but i'll sort this out later. Simply done to reduce the amount of code above.\r
+        private void setGuiSetttings(CheckState anamorphic, string width, string height, string vencoder, string bitrate, string filesize, int quality, string qpercent, string audioBit, CheckState chpt, string audioSample, string h264, string deinterlace, CheckState twopass, string crop, CheckState turbo, string audioCodec, string preset)\r
+        {\r
+            CheckPixelRatio.CheckState = anamorphic;\r
+            text_width.Text = width;\r
+            text_height.Text = height;\r
+            drp_videoEncoder.Text = vencoder;\r
+            text_bitrate.Text = bitrate;\r
+            text_filesize.Text = filesize;\r
+            slider_videoQuality.Value = quality;\r
+            SliderValue.Text = qpercent;\r
+            drp_audioBitrate.Text = audioBit;\r
+            Check_ChapterMarkers.CheckState = chpt;\r
+            drp_audioSampleRate.Text = audioSample;\r
+            rtf_h264advanced.Text = h264;\r
+            drp_deInterlace_option.Text = deinterlace;\r
+            check_2PassEncode.CheckState = twopass;\r
+            drp_crop.Text = crop;\r
+            check_turbo.CheckState = turbo;\r
+            drp_audioCodec.Text = audioCodec;\r
+\r
+            groupBox_output.Text = preset;\r
+        }\r
+\r
+        private void setMkv()\r
+        {\r
             // Set file extension to MKV\r
             string destination = text_destination.Text;\r
             destination = destination.Replace(".mp4", ".mkv");\r
@@ -869,13 +551,9 @@ namespace Handbrake
             destination = destination.Replace(".m4v", ".mkv");\r
             destination = destination.Replace(".ogm", ".mkv");\r
             text_destination.Text = destination;\r
-\r
-            groupBox_output.Text = "Output Settings (Preset: Television)";\r
-            \r
         }\r
 \r
-\r
-\r
+        // Set user default settings are main gui settings.\r
         private void mnu_ProgramDefaultOptions_Click(object sender, EventArgs e)\r
         {\r
             //Source\r
@@ -1511,6 +1189,12 @@ namespace Handbrake
                 destination = destination.Replace(".mp4", ".m4v");\r
                 text_destination.Text = destination;\r
             }\r
+            else\r
+            {\r
+                string destination = text_destination.Text;\r
+                destination = destination.Replace(".m4v", ".mp4");\r
+                text_destination.Text = destination;\r
+            }\r
         }\r
 \r
         private void check_largeFile_CheckedChanged(object sender, EventArgs e)\r