OSDN Git Service

WinGui:
authorsr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sat, 27 Dec 2008 20:59:18 +0000 (20:59 +0000)
committersr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sat, 27 Dec 2008 20:59:18 +0000 (20:59 +0000)
- List based Audio Tab (Similar to the Linux GUI)
- Fix for a small bug where x264 widgets are not set for user default settings.

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

win/C#/Functions/QueryParser.cs
win/C#/HandBrakeCS.csproj
win/C#/frmGenPreview.cs
win/C#/frmMain.Designer.cs
win/C#/frmMain.cs
win/C#/frmMain/PresetLoader.cs
win/C#/frmMain/QueryGenerator.cs

index b2d2ee6..32179d8 100644 (file)
@@ -839,15 +839,15 @@ namespace Handbrake.Functions
             Match audioEncoder3 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)");\r
             Match audioEncoder4 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)");\r
 \r
-            Match audioBitrate1 = Regex.Match(input, @"-B ([0-9]*)");\r
-            Match audioBitrate2 = Regex.Match(input, @"-B ([0-9]*),([0-9]*)");\r
-            Match audioBitrate3 = Regex.Match(input, @"-B ([0-9]*),([0-9]*),([0-9]*)");\r
-            Match audioBitrate4 = Regex.Match(input, @"-B ([0-9]*),([0-9]*),([0-9]*),([0-9]*)");\r
+            Match audioBitrate1 = Regex.Match(input, @"-B ([0-9auto]*)");\r
+            Match audioBitrate2 = Regex.Match(input, @"-B ([0-9auto]*),([0-9auto]*)");\r
+            Match audioBitrate3 = Regex.Match(input, @"-B ([0-9auto]*),([0-9auto]*),([0-9auto]*)");\r
+            Match audioBitrate4 = Regex.Match(input, @"-B ([0-9auto]*),([0-9auto]*),([0-9auto]*),([0-9auto]*)");\r
 \r
-            Match audioSampleRate1 = Regex.Match(input, @"-R ([0-9.]*)");\r
-            Match audioSampleRate2 = Regex.Match(input, @"-R ([0-9.]*),([0-9.]*)");\r
-            Match audioSampleRate3 = Regex.Match(input, @"-R ([0-9.]*),([0-9.]*),([0-9.]*)");\r
-            Match audioSampleRate4 = Regex.Match(input, @"-R ([0-9.]*),([0-9.]*),([0-9.]*),([0-9.]*)");\r
+            Match audioSampleRate1 = Regex.Match(input, @"-R ([0-9Auto.]*)");\r
+            Match audioSampleRate2 = Regex.Match(input, @"-R ([0-9Auto.]*),([0-9Auto.]*)");\r
+            Match audioSampleRate3 = Regex.Match(input, @"-R ([0-9Auto.]*),([0-9Auto.]*),([0-9Auto.]*)");\r
+            Match audioSampleRate4 = Regex.Match(input, @"-R ([0-9Auto.]*),([0-9Auto.]*),([0-9Auto.]*),([0-9Auto.]*)");\r
 \r
             Match drc1 = Regex.Match(input, @"-D ([0-9.]*)");\r
             Match drc2 = Regex.Match(input, @"-D ([0-9.]*),([0-9.]*)");\r
@@ -1034,10 +1034,7 @@ namespace Handbrake.Functions
                 #region Audio Tab\r
 \r
                 // Tracks\r
-                if (audioTrack1.Success != false)\r
-                    thisQuery.q_audioTrack1 = audioTrack1.ToString().Replace("-a ", "");\r
-                else\r
-                    thisQuery.q_audioTrack1 = "Automatic";\r
+                thisQuery.q_audioTrack1 = "Automatic";\r
 \r
                 if (audioTrack2.Success != false)\r
                 {\r
@@ -1067,32 +1064,27 @@ namespace Handbrake.Functions
                 // Mixdowns\r
                 thisQuery.q_audioTrackMix1 = "Automatic";\r
                 if (audioTrack1Mix.Success != false)\r
-                {\r
                     thisQuery.q_audioTrackMix1 = getMixDown(audioTrack1Mix.ToString().Replace("-6 ", "").Replace(" ", ""));\r
-                }\r
 \r
                 thisQuery.q_audioTrackMix2 = "Automatic";\r
                 if (audioTrack2Mix.Success != false)\r
                 {\r
                     string[] audio2mix = audioTrack2Mix.ToString().Split(',');\r
-                    audio2mix[1] = audio2mix[1].Trim();\r
-                    thisQuery.q_audioTrackMix2 = getMixDown(audio2mix[1]);\r
+                    thisQuery.q_audioTrackMix2 = getMixDown(audio2mix[1].Trim());\r
                 }\r
 \r
                 thisQuery.q_audioTrackMix3 = "Automatic";\r
                 if (audioTrack3Mix.Success != false)\r
                 {\r
                     string[] audio3mix = audioTrack3Mix.ToString().Split(',');\r
-                    audio3mix[1] = audio3mix[2].Trim();\r
-                    thisQuery.q_audioTrackMix3 = getMixDown(audio3mix[1]);\r
+                    thisQuery.q_audioTrackMix3 = getMixDown(audio3mix[2].Trim());\r
                 }\r
 \r
                 thisQuery.q_audioTrackMix4 = "Automatic";\r
                 if (audioTrack4Mix.Success != false)\r
                 {\r
                     string[] audio4mix = audioTrack4Mix.ToString().Split(',');\r
-                    audio4mix[1] = audio4mix[3].Trim();\r
-                    thisQuery.q_audioTrackMix4 = getMixDown(audio4mix[1]);\r
+                    thisQuery.q_audioTrackMix4 = getMixDown(audio4mix[3].Trim());\r
                 }\r
                 \r
 \r
@@ -1120,115 +1112,103 @@ namespace Handbrake.Functions
 \r
 \r
                 // Audio Bitrate\r
+                thisQuery.q_audioBitrate1 = "";\r
                 if (audioBitrate1.Success != false)\r
+                {\r
                     thisQuery.q_audioBitrate1 = audioBitrate1.ToString().Replace("-B ", "").Trim();\r
-                else\r
-                    thisQuery.q_audioBitrate1 = "";\r
+                    if (audioBitrate1.ToString().Replace("-B ", "").Trim() == "0") thisQuery.q_audioBitrate1 = "Auto";\r
+                }\r
 \r
-                if (audioBitrate2.Success != false)\r
+                thisQuery.q_audioBitrate2 = "";\r
+                if (audioBitrate2.Success != false && audioTrack2.Success == true)\r
                 {\r
                     string[] audioBitrateSelect = audioBitrate2.ToString().Split(',');\r
-                    thisQuery.q_audioBitrate2 = audioBitrateSelect[1].Trim();\r
+                    if (audioBitrateSelect[1].Trim() == "0") audioBitrateSelect[1] = "Auto";\r
+                    thisQuery.q_audioBitrate2 = audioBitrateSelect[1].Trim();                      \r
                 }\r
-                else\r
-                    thisQuery.q_audioBitrate2 = "";\r
 \r
-                if (audioBitrate3.Success != false)\r
+                thisQuery.q_audioBitrate3 = "";\r
+                if (audioBitrate3.Success != false && audioTrack3.Success == true)\r
                 {\r
                     string[] audioBitrateSelect = audioBitrate3.ToString().Split(',');\r
+                    if (audioBitrateSelect[2].Trim() == "0") audioBitrateSelect[2] = "Auto";\r
                     thisQuery.q_audioBitrate3 = audioBitrateSelect[2].Trim();\r
                 }\r
-                else\r
-                    thisQuery.q_audioBitrate3 = "";\r
 \r
+                thisQuery.q_audioBitrate4 = "";\r
                 if (audioBitrate4.Success != false)\r
                 {\r
                     string[] audioBitrateSelect = audioBitrate4.ToString().Split(',');\r
+                    if (audioBitrateSelect[3].Trim() == "0") audioBitrateSelect[3] = "Auto";\r
                     thisQuery.q_audioBitrate4 = audioBitrateSelect[3].Trim();\r
                 }\r
-                else\r
-                    thisQuery.q_audioBitrate4 = "";\r
 \r
 \r
                 // Audio Sample Rate\r
                 // Make sure to change 0 to Auto\r
+                thisQuery.q_audioSamplerate1 = "Auto";\r
                 if (audioSampleRate1.Success != false)\r
                 {\r
                     thisQuery.q_audioSamplerate1 = audioSampleRate1.ToString().Replace("-R ", "").Trim();\r
-                    if (thisQuery.q_audioSamplerate1 == "0")\r
-                        thisQuery.q_audioSamplerate1 = "Auto";\r
+                    if (thisQuery.q_audioSamplerate1 == "0") thisQuery.q_audioSamplerate1 = "Auto";\r
                 }\r
-                else\r
-                    thisQuery.q_audioSamplerate1 = "Auto";\r
+                    \r
 \r
                 if (audioSampleRate2.Success != false)\r
                 {\r
                     string[] audioSRSelect = audioSampleRate2.ToString().Split(',');\r
-                    if (audioSRSelect[1] == "0")\r
-                        audioSRSelect[1] = "Auto";\r
+                    if (audioSRSelect[1] == "0") audioSRSelect[1] = "Auto";\r
                     thisQuery.q_audioSamplerate2 = audioSRSelect[1].Trim();\r
                 }\r
 \r
                 if (audioSampleRate3.Success != false)\r
                 {\r
                     string[] audioSRSelect = audioSampleRate3.ToString().Split(',');\r
-                    if (audioSRSelect[1] == "0")\r
-                        audioSRSelect[1] = "Auto";\r
+                    if (audioSRSelect[2] == "0") audioSRSelect[2] = "Auto";\r
                     thisQuery.q_audioSamplerate3 = audioSRSelect[2].Trim();\r
                 }\r
 \r
                 if (audioSampleRate4.Success != false)\r
                 {\r
                     string[] audioSRSelect = audioSampleRate4.ToString().Split(',');\r
-                    if (audioSRSelect[1] == "0")\r
-                        audioSRSelect[1] = "Auto";\r
+                    if (audioSRSelect[3] == "0") audioSRSelect[3] = "Auto";\r
                     thisQuery.q_audioSamplerate4 = audioSRSelect[3].Trim();\r
                 }\r
 \r
                 // DRC\r
+                float drcValue;\r
+\r
+                thisQuery.q_drc1 = 1;\r
                 if (drc1.Success != false)\r
                 {\r
                     string value = drc1.ToString().Replace("-D ", "");\r
-                    float drcValue = float.Parse(value);\r
-                    drcValue = drcValue * 10;\r
+                    float.TryParse(value, out drcValue);\r
                     thisQuery.q_drc1 = drcValue;\r
                 }\r
-                else\r
-                    thisQuery.q_drc1 = 10;\r
-\r
+               \r
+                thisQuery.q_drc2 = 1;   \r
                 if (drc2.Success != false)\r
                 {\r
                     string[] drcPoint = drc2.ToString().Split(',');\r
-                    string value = drcPoint[1];\r
-                    float drcValue = float.Parse(value);\r
-                    drcValue = drcValue * 10;\r
+                    float.TryParse(drcPoint[1], out drcValue);\r
                     thisQuery.q_drc2 = drcValue;\r
                 }\r
-                else\r
-                    thisQuery.q_drc2 = 10;\r
 \r
+                thisQuery.q_drc3 = 1;\r
                 if (drc3.Success != false)\r
                 {\r
                     string[] drcPoint = drc3.ToString().Split(',');\r
-                    string value = drcPoint[2];\r
-                    float drcValue = float.Parse(value);\r
-                    drcValue = drcValue * 10;\r
+                    float.TryParse(drcPoint[2], out drcValue);\r
                     thisQuery.q_drc3 = drcValue;\r
                 }\r
-                else\r
-                    thisQuery.q_drc3 = 10;\r
 \r
+                thisQuery.q_drc4 = 1;\r
                 if (drc4.Success != false)\r
                 {\r
                     string[] drcPoint = drc4.ToString().Split(',');\r
-                    string value = drcPoint[3];\r
-                    float drcValue = float.Parse(value);\r
-                    drcValue = drcValue * 10;\r
+                    float.TryParse(drcPoint[3], out drcValue);\r
                     thisQuery.q_drc4 = drcValue;\r
                 }\r
-                else\r
-                    thisQuery.q_drc4 = 10;\r
-\r
 \r
                 // Subtitle Stuff\r
                 if (subtitles.Success != false)\r
index 9398afc..50511e3 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>\r
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
+    <ProductVersion>9.0.21022</ProductVersion>\r
     <SchemaVersion>2.0</SchemaVersion>\r
     <ProjectGuid>{A2923D42-C38B-4B12-8CBA-B8D93D6B13A3}</ProjectGuid>\r
     <OutputType>WinExe</OutputType>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="frmGenPreview.resx">\r
       <DependentUpon>frmGenPreview.cs</DependentUpon>\r
+      <SubType>Designer</SubType>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="frmMain.resx">\r
       <SubType>Designer</SubType>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="frmUpdater.resx">\r
       <DependentUpon>frmUpdater.cs</DependentUpon>\r
+      <SubType>Designer</SubType>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="Properties\Resources.resx">\r
       <Generator>ResXFileCodeGenerator</Generator>\r
index d2d7aee..b522187 100644 (file)
@@ -18,7 +18,6 @@ namespace Handbrake
         Functions.Encode process = new Functions.Encode();\r
         Process hbProc;\r
         frmMain mainWindow;\r
-        Boolean playing = false;\r
 \r
         public frmGenPreview(frmMain mw)\r
         {\r
index 2911b06..fd5ebbe 100644 (file)
@@ -69,19 +69,7 @@ namespace Handbrake
             this.name = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.btn_addPreset = new System.Windows.Forms.Button();\r
             this.btn_removePreset = new System.Windows.Forms.Button();\r
-            this.drp_audmix_2 = new System.Windows.Forms.ComboBox();\r
             this.drp_audenc_1 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audenc_2 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audbit_2 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audsr_2 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audsr_3 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audbit_3 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audenc_3 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audmix_3 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audsr_4 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audbit_4 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audenc_4 = new System.Windows.Forms.ComboBox();\r
-            this.drp_audmix_4 = new System.Windows.Forms.ComboBox();\r
             this.drop_format = new System.Windows.Forms.ComboBox();\r
             this.check_customCrop = new System.Windows.Forms.RadioButton();\r
             this.check_autoCrop = new System.Windows.Forms.RadioButton();\r
@@ -142,19 +130,18 @@ namespace Handbrake
             this.Label47 = new System.Windows.Forms.Label();\r
             this.Label3 = new System.Windows.Forms.Label();\r
             this.TabPage2 = new System.Windows.Forms.TabPage();\r
-            this.lbl_drc4 = new System.Windows.Forms.Label();\r
-            this.lbl_drc3 = new System.Windows.Forms.Label();\r
-            this.lbl_drc2 = new System.Windows.Forms.Label();\r
-            this.lbl_drc1 = new System.Windows.Forms.Label();\r
-            this.trackBar4 = new System.Windows.Forms.TrackBar();\r
-            this.drp_track4Audio = new System.Windows.Forms.ComboBox();\r
-            this.lbl_t4 = new System.Windows.Forms.Label();\r
-            this.trackBar3 = new System.Windows.Forms.TrackBar();\r
-            this.drp_track3Audio = new System.Windows.Forms.ComboBox();\r
-            this.lbl_t3 = new System.Windows.Forms.Label();\r
-            this.trackBar2 = new System.Windows.Forms.TrackBar();\r
+            this.lv_audioList = new System.Windows.Forms.ListView();\r
+            this.col_Source = new System.Windows.Forms.ColumnHeader();\r
+            this.col_codec = new System.Windows.Forms.ColumnHeader();\r
+            this.col_mixdown = new System.Windows.Forms.ColumnHeader();\r
+            this.col_samplerate = new System.Windows.Forms.ColumnHeader();\r
+            this.col_bitrate = new System.Windows.Forms.ColumnHeader();\r
+            this.col_drc = new System.Windows.Forms.ColumnHeader();\r
+            this.btn_RemoveAudioTrack = new System.Windows.Forms.Button();\r
+            this.btn_addAudioTrack = new System.Windows.Forms.Button();\r
+            this.lbl_drc = new System.Windows.Forms.Label();\r
             this.label16 = new System.Windows.Forms.Label();\r
-            this.trackBar1 = new System.Windows.Forms.TrackBar();\r
+            this.tb_drc = new System.Windows.Forms.TrackBar();\r
             this.groupBox5 = new System.Windows.Forms.GroupBox();\r
             this.groupBox3 = new System.Windows.Forms.GroupBox();\r
             this.label68 = new System.Windows.Forms.Label();\r
@@ -163,13 +150,10 @@ namespace Handbrake
             this.label65 = new System.Windows.Forms.Label();\r
             this.label14 = new System.Windows.Forms.Label();\r
             this.check_forced = new System.Windows.Forms.CheckBox();\r
-            this.drp_track2Audio = new System.Windows.Forms.ComboBox();\r
-            this.label28 = new System.Windows.Forms.Label();\r
             this.label27 = new System.Windows.Forms.Label();\r
             this.Label19 = new System.Windows.Forms.Label();\r
             this.Label20 = new System.Windows.Forms.Label();\r
             this.drp_track1Audio = new System.Windows.Forms.ComboBox();\r
-            this.Label32 = new System.Windows.Forms.Label();\r
             this.TabPage3 = new System.Windows.Forms.TabPage();\r
             this.label25 = new System.Windows.Forms.Label();\r
             this.check_grayscale = new System.Windows.Forms.CheckBox();\r
@@ -268,10 +252,7 @@ namespace Handbrake
             this.GroupBox1.SuspendLayout();\r
             this.groupBox_output.SuspendLayout();\r
             this.TabPage2.SuspendLayout();\r
-            ((System.ComponentModel.ISupportInitialize)(this.trackBar4)).BeginInit();\r
-            ((System.ComponentModel.ISupportInitialize)(this.trackBar3)).BeginInit();\r
-            ((System.ComponentModel.ISupportInitialize)(this.trackBar2)).BeginInit();\r
-            ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit();\r
+            ((System.ComponentModel.ISupportInitialize)(this.tb_drc)).BeginInit();\r
             this.TabPage3.SuspendLayout();\r
             this.TabPage1.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.slider_deblock)).BeginInit();\r
@@ -310,12 +291,12 @@ namespace Handbrake
             this.btn_restore});\r
             notifyIconMenu.Name = "notifyIconMenu";\r
             notifyIconMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;\r
-            notifyIconMenu.Size = new System.Drawing.Size(129, 26);\r
+            notifyIconMenu.Size = new System.Drawing.Size(124, 26);\r
             // \r
             // btn_restore\r
             // \r
             this.btn_restore.Name = "btn_restore";\r
-            this.btn_restore.Size = new System.Drawing.Size(128, 22);\r
+            this.btn_restore.Size = new System.Drawing.Size(123, 22);\r
             this.btn_restore.Text = "Restore";\r
             this.btn_restore.Click += new System.EventHandler(this.btn_restore_Click);\r
             // \r
@@ -429,12 +410,13 @@ namespace Handbrake
             "112",\r
             "128",\r
             "160"});\r
-            this.drp_audbit_1.Location = new System.Drawing.Point(546, 53);\r
+            this.drp_audbit_1.Location = new System.Drawing.Point(526, 52);\r
             this.drp_audbit_1.Name = "drp_audbit_1";\r
             this.drp_audbit_1.Size = new System.Drawing.Size(70, 20);\r
             this.drp_audbit_1.TabIndex = 11;\r
             this.drp_audbit_1.Text = "160";\r
             this.ToolTip.SetToolTip(this.drp_audbit_1, "Set the Audio Bit-Rate");\r
+            this.drp_audbit_1.SelectedIndexChanged += new System.EventHandler(this.drp_audbit_1_SelectedIndexChanged);\r
             // \r
             // drp_audsr_1\r
             // \r
@@ -447,12 +429,13 @@ namespace Handbrake
             "32",\r
             "24",\r
             "22.05"});\r
-            this.drp_audsr_1.Location = new System.Drawing.Point(488, 53);\r
+            this.drp_audsr_1.Location = new System.Drawing.Point(468, 52);\r
             this.drp_audsr_1.Name = "drp_audsr_1";\r
             this.drp_audsr_1.Size = new System.Drawing.Size(55, 20);\r
             this.drp_audsr_1.TabIndex = 9;\r
             this.drp_audsr_1.Text = "Auto";\r
             this.ToolTip.SetToolTip(this.drp_audsr_1, "Set the Audio Sample Rate");\r
+            this.drp_audsr_1.SelectedIndexChanged += new System.EventHandler(this.drp_audsr_1_SelectedIndexChanged);\r
             // \r
             // check_largeFile\r
             // \r
@@ -541,7 +524,7 @@ namespace Handbrake
             this.drp_subtitle.Items.AddRange(new object[] {\r
             "None",\r
             "Autoselect"});\r
-            this.drp_subtitle.Location = new System.Drawing.Point(79, 244);\r
+            this.drp_subtitle.Location = new System.Drawing.Point(79, 285);\r
             this.drp_subtitle.Name = "drp_subtitle";\r
             this.drp_subtitle.Size = new System.Drawing.Size(138, 21);\r
             this.drp_subtitle.TabIndex = 43;\r
@@ -576,7 +559,7 @@ namespace Handbrake
             "Dolby Surround",\r
             "Dolby Pro Logic II",\r
             "6 Channel Discrete"});\r
-            this.drp_audmix_1.Location = new System.Drawing.Point(353, 53);\r
+            this.drp_audmix_1.Location = new System.Drawing.Point(333, 52);\r
             this.drp_audmix_1.Name = "drp_audmix_1";\r
             this.drp_audmix_1.Size = new System.Drawing.Size(129, 20);\r
             this.drp_audmix_1.TabIndex = 7;\r
@@ -696,25 +679,6 @@ namespace Handbrake
             this.btn_removePreset.UseVisualStyleBackColor = true;\r
             this.btn_removePreset.Click += new System.EventHandler(this.btn_removePreset_Click);\r
             // \r
-            // drp_audmix_2\r
-            // \r
-            this.drp_audmix_2.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audmix_2.FormattingEnabled = true;\r
-            this.drp_audmix_2.Items.AddRange(new object[] {\r
-            "Automatic",\r
-            "Mono",\r
-            "Stereo",\r
-            "Dolby Surround",\r
-            "Dolby Pro Logic II",\r
-            "6 Channel Discrete"});\r
-            this.drp_audmix_2.Location = new System.Drawing.Point(353, 92);\r
-            this.drp_audmix_2.Name = "drp_audmix_2";\r
-            this.drp_audmix_2.Size = new System.Drawing.Size(129, 20);\r
-            this.drp_audmix_2.TabIndex = 19;\r
-            this.drp_audmix_2.Text = "Automatic";\r
-            this.ToolTip.SetToolTip(this.drp_audmix_2, "Please note: Some options require a 5.1 audio channel to be selected");\r
-            this.drp_audmix_2.SelectedIndexChanged += new System.EventHandler(this.drp_audmix_2_SelectedIndexChanged);\r
-            // \r
             // drp_audenc_1\r
             // \r
             this.drp_audenc_1.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
@@ -724,7 +688,7 @@ namespace Handbrake
             "MP3",\r
             "Vorbis",\r
             "AC3"});\r
-            this.drp_audenc_1.Location = new System.Drawing.Point(236, 53);\r
+            this.drp_audenc_1.Location = new System.Drawing.Point(216, 52);\r
             this.drp_audenc_1.Name = "drp_audenc_1";\r
             this.drp_audenc_1.Size = new System.Drawing.Size(111, 20);\r
             this.drp_audenc_1.TabIndex = 5;\r
@@ -732,223 +696,6 @@ namespace Handbrake
             this.ToolTip.SetToolTip(this.drp_audenc_1, "Select an audio encoder.");\r
             this.drp_audenc_1.SelectedIndexChanged += new System.EventHandler(this.drp_audenc_1_SelectedIndexChanged);\r
             // \r
-            // drp_audenc_2\r
-            // \r
-            this.drp_audenc_2.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audenc_2.FormattingEnabled = true;\r
-            this.drp_audenc_2.Items.AddRange(new object[] {\r
-            "AAC",\r
-            "MP3",\r
-            "Vorbis",\r
-            "AC3"});\r
-            this.drp_audenc_2.Location = new System.Drawing.Point(236, 92);\r
-            this.drp_audenc_2.Name = "drp_audenc_2";\r
-            this.drp_audenc_2.Size = new System.Drawing.Size(111, 20);\r
-            this.drp_audenc_2.TabIndex = 18;\r
-            this.drp_audenc_2.Text = "AAC";\r
-            this.ToolTip.SetToolTip(this.drp_audenc_2, "Select an audio encoder.");\r
-            this.drp_audenc_2.SelectedIndexChanged += new System.EventHandler(this.drp_audenc_2_SelectedIndexChanged);\r
-            // \r
-            // drp_audbit_2\r
-            // \r
-            this.drp_audbit_2.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audbit_2.FormattingEnabled = true;\r
-            this.drp_audbit_2.Items.AddRange(new object[] {\r
-            "32",\r
-            "40",\r
-            "48",\r
-            "56",\r
-            "64",\r
-            "80",\r
-            "86",\r
-            "112",\r
-            "128",\r
-            "160"});\r
-            this.drp_audbit_2.Location = new System.Drawing.Point(546, 92);\r
-            this.drp_audbit_2.Name = "drp_audbit_2";\r
-            this.drp_audbit_2.Size = new System.Drawing.Size(71, 20);\r
-            this.drp_audbit_2.TabIndex = 21;\r
-            this.drp_audbit_2.Text = "160";\r
-            this.ToolTip.SetToolTip(this.drp_audbit_2, "Set the Audio Bit-Rate");\r
-            // \r
-            // drp_audsr_2\r
-            // \r
-            this.drp_audsr_2.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audsr_2.FormattingEnabled = true;\r
-            this.drp_audsr_2.Items.AddRange(new object[] {\r
-            "Auto",\r
-            "48",\r
-            "44.1",\r
-            "32",\r
-            "24",\r
-            "22.05"});\r
-            this.drp_audsr_2.Location = new System.Drawing.Point(488, 92);\r
-            this.drp_audsr_2.Name = "drp_audsr_2";\r
-            this.drp_audsr_2.Size = new System.Drawing.Size(52, 20);\r
-            this.drp_audsr_2.TabIndex = 20;\r
-            this.drp_audsr_2.Text = "Auto";\r
-            this.ToolTip.SetToolTip(this.drp_audsr_2, "Set the Audio Sample Rate");\r
-            // \r
-            // drp_audsr_3\r
-            // \r
-            this.drp_audsr_3.Enabled = false;\r
-            this.drp_audsr_3.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audsr_3.FormattingEnabled = true;\r
-            this.drp_audsr_3.Items.AddRange(new object[] {\r
-            "Auto",\r
-            "48",\r
-            "44.1",\r
-            "32",\r
-            "24",\r
-            "22.05"});\r
-            this.drp_audsr_3.Location = new System.Drawing.Point(488, 133);\r
-            this.drp_audsr_3.Name = "drp_audsr_3";\r
-            this.drp_audsr_3.Size = new System.Drawing.Size(52, 20);\r
-            this.drp_audsr_3.TabIndex = 28;\r
-            this.drp_audsr_3.Text = "Auto";\r
-            this.ToolTip.SetToolTip(this.drp_audsr_3, "Set the Audio Sample Rate");\r
-            // \r
-            // drp_audbit_3\r
-            // \r
-            this.drp_audbit_3.Enabled = false;\r
-            this.drp_audbit_3.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audbit_3.FormattingEnabled = true;\r
-            this.drp_audbit_3.Items.AddRange(new object[] {\r
-            "32",\r
-            "40",\r
-            "48",\r
-            "56",\r
-            "64",\r
-            "80",\r
-            "86",\r
-            "112",\r
-            "128",\r
-            "160"});\r
-            this.drp_audbit_3.Location = new System.Drawing.Point(546, 133);\r
-            this.drp_audbit_3.Name = "drp_audbit_3";\r
-            this.drp_audbit_3.Size = new System.Drawing.Size(71, 20);\r
-            this.drp_audbit_3.TabIndex = 29;\r
-            this.drp_audbit_3.Text = "160";\r
-            this.ToolTip.SetToolTip(this.drp_audbit_3, "Set the Audio Bit-Rate");\r
-            // \r
-            // drp_audenc_3\r
-            // \r
-            this.drp_audenc_3.Enabled = false;\r
-            this.drp_audenc_3.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audenc_3.FormattingEnabled = true;\r
-            this.drp_audenc_3.Items.AddRange(new object[] {\r
-            "AAC",\r
-            "MP3",\r
-            "Vorbis",\r
-            "AC3"});\r
-            this.drp_audenc_3.Location = new System.Drawing.Point(236, 133);\r
-            this.drp_audenc_3.Name = "drp_audenc_3";\r
-            this.drp_audenc_3.Size = new System.Drawing.Size(111, 20);\r
-            this.drp_audenc_3.TabIndex = 26;\r
-            this.drp_audenc_3.Text = "AAC";\r
-            this.ToolTip.SetToolTip(this.drp_audenc_3, "Select an audio encoder.");\r
-            this.drp_audenc_3.SelectedIndexChanged += new System.EventHandler(this.drp_audenc_3_SelectedIndexChanged);\r
-            // \r
-            // drp_audmix_3\r
-            // \r
-            this.drp_audmix_3.Enabled = false;\r
-            this.drp_audmix_3.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audmix_3.FormattingEnabled = true;\r
-            this.drp_audmix_3.Items.AddRange(new object[] {\r
-            "Automatic",\r
-            "Mono",\r
-            "Stereo",\r
-            "Dolby Surround",\r
-            "Dolby Pro Logic II",\r
-            "6 Channel Discrete"});\r
-            this.drp_audmix_3.Location = new System.Drawing.Point(353, 133);\r
-            this.drp_audmix_3.Name = "drp_audmix_3";\r
-            this.drp_audmix_3.Size = new System.Drawing.Size(129, 20);\r
-            this.drp_audmix_3.TabIndex = 27;\r
-            this.drp_audmix_3.Text = "Automatic";\r
-            this.ToolTip.SetToolTip(this.drp_audmix_3, "Please note: Some options require a 5.1 audio channel to be selected");\r
-            this.drp_audmix_3.SelectedIndexChanged += new System.EventHandler(this.drp_audmix_3_SelectedIndexChanged);\r
-            // \r
-            // drp_audsr_4\r
-            // \r
-            this.drp_audsr_4.Enabled = false;\r
-            this.drp_audsr_4.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audsr_4.FormattingEnabled = true;\r
-            this.drp_audsr_4.Items.AddRange(new object[] {\r
-            "Auto",\r
-            "48",\r
-            "44.1",\r
-            "32",\r
-            "24",\r
-            "22.05"});\r
-            this.drp_audsr_4.Location = new System.Drawing.Point(488, 175);\r
-            this.drp_audsr_4.Name = "drp_audsr_4";\r
-            this.drp_audsr_4.Size = new System.Drawing.Size(52, 20);\r
-            this.drp_audsr_4.TabIndex = 36;\r
-            this.drp_audsr_4.Text = "Auto";\r
-            this.ToolTip.SetToolTip(this.drp_audsr_4, "Set the Audio Sample Rate");\r
-            // \r
-            // drp_audbit_4\r
-            // \r
-            this.drp_audbit_4.Enabled = false;\r
-            this.drp_audbit_4.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audbit_4.FormattingEnabled = true;\r
-            this.drp_audbit_4.Items.AddRange(new object[] {\r
-            "32",\r
-            "40",\r
-            "48",\r
-            "56",\r
-            "64",\r
-            "80",\r
-            "86",\r
-            "112",\r
-            "128",\r
-            "160"});\r
-            this.drp_audbit_4.Location = new System.Drawing.Point(546, 175);\r
-            this.drp_audbit_4.Name = "drp_audbit_4";\r
-            this.drp_audbit_4.Size = new System.Drawing.Size(70, 20);\r
-            this.drp_audbit_4.TabIndex = 37;\r
-            this.drp_audbit_4.Text = "160";\r
-            this.ToolTip.SetToolTip(this.drp_audbit_4, "Set the Audio Bit-Rate");\r
-            // \r
-            // drp_audenc_4\r
-            // \r
-            this.drp_audenc_4.Enabled = false;\r
-            this.drp_audenc_4.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audenc_4.FormattingEnabled = true;\r
-            this.drp_audenc_4.Items.AddRange(new object[] {\r
-            "AAC",\r
-            "MP3",\r
-            "Vorbis",\r
-            "AC3"});\r
-            this.drp_audenc_4.Location = new System.Drawing.Point(236, 175);\r
-            this.drp_audenc_4.Name = "drp_audenc_4";\r
-            this.drp_audenc_4.Size = new System.Drawing.Size(111, 20);\r
-            this.drp_audenc_4.TabIndex = 34;\r
-            this.drp_audenc_4.Text = "AAC";\r
-            this.ToolTip.SetToolTip(this.drp_audenc_4, "Select an audio encoder.");\r
-            this.drp_audenc_4.SelectedIndexChanged += new System.EventHandler(this.drp_audenc_4_SelectedIndexChanged);\r
-            // \r
-            // drp_audmix_4\r
-            // \r
-            this.drp_audmix_4.Enabled = false;\r
-            this.drp_audmix_4.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_audmix_4.FormattingEnabled = true;\r
-            this.drp_audmix_4.Items.AddRange(new object[] {\r
-            "Automatic",\r
-            "Mono",\r
-            "Stereo",\r
-            "Dolby Surround",\r
-            "Dolby Pro Logic II",\r
-            "6 Channel Discrete"});\r
-            this.drp_audmix_4.Location = new System.Drawing.Point(353, 175);\r
-            this.drp_audmix_4.Name = "drp_audmix_4";\r
-            this.drp_audmix_4.Size = new System.Drawing.Size(129, 20);\r
-            this.drp_audmix_4.TabIndex = 35;\r
-            this.drp_audmix_4.Text = "Automatic";\r
-            this.ToolTip.SetToolTip(this.drp_audmix_4, "Please note: Some options require a 5.1 audio channel to be selected");\r
-            this.drp_audmix_4.SelectedIndexChanged += new System.EventHandler(this.drp_audmix_4_SelectedIndexChanged);\r
-            // \r
             // drop_format\r
             // \r
             this.drop_format.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
@@ -1640,7 +1387,7 @@ namespace Handbrake
             this.frmMainMenu.Location = new System.Drawing.Point(0, 0);\r
             this.frmMainMenu.Name = "frmMainMenu";\r
             this.frmMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;\r
-            this.frmMainMenu.Size = new System.Drawing.Size(983, 24);\r
+            this.frmMainMenu.Size = new System.Drawing.Size(992, 24);\r
             this.frmMainMenu.TabIndex = 0;\r
             this.frmMainMenu.Text = "MenuStrip1";\r
             // \r
@@ -1658,9 +1405,9 @@ namespace Handbrake
             this.GroupBox1.Controls.Add(this.Label10);\r
             this.GroupBox1.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.GroupBox1.ForeColor = System.Drawing.Color.Black;\r
-            this.GroupBox1.Location = new System.Drawing.Point(12, 70);\r
+            this.GroupBox1.Location = new System.Drawing.Point(9, 70);\r
             this.GroupBox1.Name = "GroupBox1";\r
-            this.GroupBox1.Size = new System.Drawing.Size(705, 87);\r
+            this.GroupBox1.Size = new System.Drawing.Size(721, 87);\r
             this.GroupBox1.TabIndex = 2;\r
             this.GroupBox1.TabStop = false;\r
             this.GroupBox1.Text = "Source";\r
@@ -1717,9 +1464,9 @@ namespace Handbrake
             this.groupBox_output.Controls.Add(this.check_optimiseMP4);\r
             this.groupBox_output.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.groupBox_output.ForeColor = System.Drawing.Color.Black;\r
-            this.groupBox_output.Location = new System.Drawing.Point(12, 214);\r
+            this.groupBox_output.Location = new System.Drawing.Point(9, 214);\r
             this.groupBox_output.Name = "groupBox_output";\r
-            this.groupBox_output.Size = new System.Drawing.Size(705, 50);\r
+            this.groupBox_output.Size = new System.Drawing.Size(721, 50);\r
             this.groupBox_output.TabIndex = 4;\r
             this.groupBox_output.TabStop = false;\r
             this.groupBox_output.Text = "Output Settings (Preset: None)";\r
@@ -1760,42 +1507,21 @@ namespace Handbrake
             // TabPage2\r
             // \r
             this.TabPage2.BackColor = System.Drawing.Color.Transparent;\r
-            this.TabPage2.Controls.Add(this.lbl_drc4);\r
-            this.TabPage2.Controls.Add(this.lbl_drc3);\r
-            this.TabPage2.Controls.Add(this.lbl_drc2);\r
-            this.TabPage2.Controls.Add(this.lbl_drc1);\r
-            this.TabPage2.Controls.Add(this.trackBar4);\r
-            this.TabPage2.Controls.Add(this.drp_audsr_4);\r
-            this.TabPage2.Controls.Add(this.drp_audbit_4);\r
-            this.TabPage2.Controls.Add(this.drp_audenc_4);\r
-            this.TabPage2.Controls.Add(this.drp_audmix_4);\r
-            this.TabPage2.Controls.Add(this.drp_track4Audio);\r
-            this.TabPage2.Controls.Add(this.lbl_t4);\r
-            this.TabPage2.Controls.Add(this.trackBar3);\r
-            this.TabPage2.Controls.Add(this.drp_audsr_3);\r
-            this.TabPage2.Controls.Add(this.drp_audbit_3);\r
-            this.TabPage2.Controls.Add(this.drp_audenc_3);\r
-            this.TabPage2.Controls.Add(this.drp_audmix_3);\r
-            this.TabPage2.Controls.Add(this.drp_track3Audio);\r
-            this.TabPage2.Controls.Add(this.lbl_t3);\r
-            this.TabPage2.Controls.Add(this.trackBar2);\r
+            this.TabPage2.Controls.Add(this.lv_audioList);\r
+            this.TabPage2.Controls.Add(this.btn_RemoveAudioTrack);\r
+            this.TabPage2.Controls.Add(this.btn_addAudioTrack);\r
+            this.TabPage2.Controls.Add(this.lbl_drc);\r
             this.TabPage2.Controls.Add(this.label16);\r
-            this.TabPage2.Controls.Add(this.trackBar1);\r
+            this.TabPage2.Controls.Add(this.tb_drc);\r
             this.TabPage2.Controls.Add(this.groupBox5);\r
             this.TabPage2.Controls.Add(this.groupBox3);\r
             this.TabPage2.Controls.Add(this.label68);\r
             this.TabPage2.Controls.Add(this.label67);\r
-            this.TabPage2.Controls.Add(this.drp_audsr_2);\r
             this.TabPage2.Controls.Add(this.label66);\r
-            this.TabPage2.Controls.Add(this.drp_audbit_2);\r
             this.TabPage2.Controls.Add(this.label65);\r
             this.TabPage2.Controls.Add(this.label14);\r
-            this.TabPage2.Controls.Add(this.drp_audenc_2);\r
             this.TabPage2.Controls.Add(this.drp_audenc_1);\r
-            this.TabPage2.Controls.Add(this.drp_audmix_2);\r
             this.TabPage2.Controls.Add(this.check_forced);\r
-            this.TabPage2.Controls.Add(this.drp_track2Audio);\r
-            this.TabPage2.Controls.Add(this.label28);\r
             this.TabPage2.Controls.Add(this.label27);\r
             this.TabPage2.Controls.Add(this.drp_subtitle);\r
             this.TabPage2.Controls.Add(this.Label19);\r
@@ -1803,165 +1529,123 @@ namespace Handbrake
             this.TabPage2.Controls.Add(this.drp_audmix_1);\r
             this.TabPage2.Controls.Add(this.drp_track1Audio);\r
             this.TabPage2.Controls.Add(this.drp_audbit_1);\r
-            this.TabPage2.Controls.Add(this.Label32);\r
             this.TabPage2.Controls.Add(this.drp_audsr_1);\r
             this.TabPage2.Location = new System.Drawing.Point(4, 22);\r
             this.TabPage2.Name = "TabPage2";\r
             this.TabPage2.Padding = new System.Windows.Forms.Padding(3);\r
-            this.TabPage2.Size = new System.Drawing.Size(697, 316);\r
+            this.TabPage2.Size = new System.Drawing.Size(713, 316);\r
             this.TabPage2.TabIndex = 3;\r
             this.TabPage2.Text = "Audio && Subtitles";\r
             // \r
-            // lbl_drc4\r
-            // \r
-            this.lbl_drc4.AutoSize = true;\r
-            this.lbl_drc4.BackColor = System.Drawing.Color.Transparent;\r
-            this.lbl_drc4.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_drc4.Location = new System.Drawing.Point(670, 176);\r
-            this.lbl_drc4.Name = "lbl_drc4";\r
-            this.lbl_drc4.Size = new System.Drawing.Size(19, 13);\r
-            this.lbl_drc4.TabIndex = 39;\r
-            this.lbl_drc4.Text = "1:";\r
-            // \r
-            // lbl_drc3\r
-            // \r
-            this.lbl_drc3.AutoSize = true;\r
-            this.lbl_drc3.BackColor = System.Drawing.Color.Transparent;\r
-            this.lbl_drc3.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_drc3.Location = new System.Drawing.Point(670, 135);\r
-            this.lbl_drc3.Name = "lbl_drc3";\r
-            this.lbl_drc3.Size = new System.Drawing.Size(19, 13);\r
-            this.lbl_drc3.TabIndex = 31;\r
-            this.lbl_drc3.Text = "1:";\r
-            // \r
-            // lbl_drc2\r
-            // \r
-            this.lbl_drc2.AutoSize = true;\r
-            this.lbl_drc2.BackColor = System.Drawing.Color.Transparent;\r
-            this.lbl_drc2.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_drc2.Location = new System.Drawing.Point(670, 90);\r
-            this.lbl_drc2.Name = "lbl_drc2";\r
-            this.lbl_drc2.Size = new System.Drawing.Size(19, 13);\r
-            this.lbl_drc2.TabIndex = 23;\r
-            this.lbl_drc2.Text = "1:";\r
-            // \r
-            // lbl_drc1\r
-            // \r
-            this.lbl_drc1.AutoSize = true;\r
-            this.lbl_drc1.BackColor = System.Drawing.Color.Transparent;\r
-            this.lbl_drc1.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_drc1.Location = new System.Drawing.Point(670, 53);\r
-            this.lbl_drc1.Name = "lbl_drc1";\r
-            this.lbl_drc1.Size = new System.Drawing.Size(19, 13);\r
-            this.lbl_drc1.TabIndex = 15;\r
-            this.lbl_drc1.Text = "1:";\r
-            // \r
-            // trackBar4\r
-            // \r
-            this.trackBar4.Enabled = false;\r
-            this.trackBar4.LargeChange = 0;\r
-            this.trackBar4.Location = new System.Drawing.Point(620, 169);\r
-            this.trackBar4.Margin = new System.Windows.Forms.Padding(0);\r
-            this.trackBar4.Maximum = 30;\r
-            this.trackBar4.Name = "trackBar4";\r
-            this.trackBar4.Size = new System.Drawing.Size(49, 42);\r
-            this.trackBar4.TabIndex = 38;\r
-            this.trackBar4.TickFrequency = 10;\r
-            this.trackBar4.ValueChanged += new System.EventHandler(this.trackBar4_Scroll);\r
-            // \r
-            // drp_track4Audio\r
-            // \r
-            this.drp_track4Audio.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_track4Audio.FormattingEnabled = true;\r
-            this.drp_track4Audio.Items.AddRange(new object[] {\r
-            "None"});\r
-            this.drp_track4Audio.Location = new System.Drawing.Point(36, 174);\r
-            this.drp_track4Audio.Name = "drp_track4Audio";\r
-            this.drp_track4Audio.Size = new System.Drawing.Size(194, 20);\r
-            this.drp_track4Audio.TabIndex = 33;\r
-            this.drp_track4Audio.SelectedIndexChanged += new System.EventHandler(this.drp_track4Audio_SelectedIndexChanged);\r
-            // \r
-            // lbl_t4\r
-            // \r
-            this.lbl_t4.AutoSize = true;\r
-            this.lbl_t4.BackColor = System.Drawing.Color.Transparent;\r
-            this.lbl_t4.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_t4.Location = new System.Drawing.Point(13, 177);\r
-            this.lbl_t4.Name = "lbl_t4";\r
-            this.lbl_t4.Size = new System.Drawing.Size(19, 13);\r
-            this.lbl_t4.TabIndex = 32;\r
-            this.lbl_t4.Text = "4:";\r
-            // \r
-            // trackBar3\r
-            // \r
-            this.trackBar3.Enabled = false;\r
-            this.trackBar3.LargeChange = 0;\r
-            this.trackBar3.Location = new System.Drawing.Point(620, 128);\r
-            this.trackBar3.Margin = new System.Windows.Forms.Padding(0);\r
-            this.trackBar3.Maximum = 30;\r
-            this.trackBar3.Name = "trackBar3";\r
-            this.trackBar3.Size = new System.Drawing.Size(49, 42);\r
-            this.trackBar3.TabIndex = 30;\r
-            this.trackBar3.TickFrequency = 10;\r
-            this.trackBar3.ValueChanged += new System.EventHandler(this.trackBar3_Scroll);\r
-            // \r
-            // drp_track3Audio\r
-            // \r
-            this.drp_track3Audio.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_track3Audio.FormattingEnabled = true;\r
-            this.drp_track3Audio.Items.AddRange(new object[] {\r
-            "None"});\r
-            this.drp_track3Audio.Location = new System.Drawing.Point(36, 132);\r
-            this.drp_track3Audio.Name = "drp_track3Audio";\r
-            this.drp_track3Audio.Size = new System.Drawing.Size(194, 20);\r
-            this.drp_track3Audio.TabIndex = 25;\r
-            this.drp_track3Audio.SelectedIndexChanged += new System.EventHandler(this.drp_track3Audio_SelectedIndexChanged);\r
-            // \r
-            // lbl_t3\r
-            // \r
-            this.lbl_t3.AutoSize = true;\r
-            this.lbl_t3.BackColor = System.Drawing.Color.Transparent;\r
-            this.lbl_t3.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_t3.Location = new System.Drawing.Point(13, 135);\r
-            this.lbl_t3.Name = "lbl_t3";\r
-            this.lbl_t3.Size = new System.Drawing.Size(19, 13);\r
-            this.lbl_t3.TabIndex = 24;\r
-            this.lbl_t3.Text = "3:";\r
-            // \r
-            // trackBar2\r
-            // \r
-            this.trackBar2.LargeChange = 0;\r
-            this.trackBar2.Location = new System.Drawing.Point(620, 86);\r
-            this.trackBar2.Margin = new System.Windows.Forms.Padding(0);\r
-            this.trackBar2.Maximum = 30;\r
-            this.trackBar2.Name = "trackBar2";\r
-            this.trackBar2.Size = new System.Drawing.Size(49, 42);\r
-            this.trackBar2.TabIndex = 22;\r
-            this.trackBar2.TickFrequency = 10;\r
-            this.trackBar2.ValueChanged += new System.EventHandler(this.trackBar2_Scroll);\r
+            // lv_audioList\r
+            // \r
+            this.lv_audioList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {\r
+            this.col_Source,\r
+            this.col_codec,\r
+            this.col_mixdown,\r
+            this.col_samplerate,\r
+            this.col_bitrate,\r
+            this.col_drc});\r
+            this.lv_audioList.FullRowSelect = true;\r
+            this.lv_audioList.HideSelection = false;\r
+            this.lv_audioList.LabelWrap = false;\r
+            this.lv_audioList.Location = new System.Drawing.Point(16, 79);\r
+            this.lv_audioList.MultiSelect = false;\r
+            this.lv_audioList.Name = "lv_audioList";\r
+            this.lv_audioList.Size = new System.Drawing.Size(668, 147);\r
+            this.lv_audioList.TabIndex = 48;\r
+            this.lv_audioList.UseCompatibleStateImageBehavior = false;\r
+            this.lv_audioList.View = System.Windows.Forms.View.Details;\r
+            this.lv_audioList.SelectedIndexChanged += new System.EventHandler(this.lv_audioList_SelectedIndexChanged);\r
+            // \r
+            // col_Source\r
+            // \r
+            this.col_Source.Text = "Source";\r
+            this.col_Source.Width = 170;\r
+            // \r
+            // col_codec\r
+            // \r
+            this.col_codec.Text = "Audio Codec";\r
+            this.col_codec.Width = 88;\r
+            // \r
+            // col_mixdown\r
+            // \r
+            this.col_mixdown.Text = "Mixdown";\r
+            this.col_mixdown.Width = 127;\r
+            // \r
+            // col_samplerate\r
+            // \r
+            this.col_samplerate.Text = "Samplerate (Kbps)";\r
+            this.col_samplerate.Width = 124;\r
+            // \r
+            // col_bitrate\r
+            // \r
+            this.col_bitrate.Text = "Bitrate (Kbps)";\r
+            this.col_bitrate.Width = 95;\r
+            // \r
+            // col_drc\r
+            // \r
+            this.col_drc.Text = "DRC";\r
+            // \r
+            // btn_RemoveAudioTrack\r
+            // \r
+            this.btn_RemoveAudioTrack.BackColor = System.Drawing.SystemColors.Control;\r
+            this.btn_RemoveAudioTrack.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.btn_RemoveAudioTrack.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
+            this.btn_RemoveAudioTrack.Location = new System.Drawing.Point(132, 232);\r
+            this.btn_RemoveAudioTrack.Name = "btn_RemoveAudioTrack";\r
+            this.btn_RemoveAudioTrack.Size = new System.Drawing.Size(111, 23);\r
+            this.btn_RemoveAudioTrack.TabIndex = 47;\r
+            this.btn_RemoveAudioTrack.Text = "Remove";\r
+            this.btn_RemoveAudioTrack.UseVisualStyleBackColor = false;\r
+            this.btn_RemoveAudioTrack.Click += new System.EventHandler(this.btn_RemoveAudioTrack_Click);\r
+            // \r
+            // btn_addAudioTrack\r
+            // \r
+            this.btn_addAudioTrack.BackColor = System.Drawing.SystemColors.Control;\r
+            this.btn_addAudioTrack.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.btn_addAudioTrack.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
+            this.btn_addAudioTrack.Location = new System.Drawing.Point(16, 232);\r
+            this.btn_addAudioTrack.Name = "btn_addAudioTrack";\r
+            this.btn_addAudioTrack.Size = new System.Drawing.Size(111, 23);\r
+            this.btn_addAudioTrack.TabIndex = 46;\r
+            this.btn_addAudioTrack.Text = "Add Track";\r
+            this.btn_addAudioTrack.UseVisualStyleBackColor = false;\r
+            this.btn_addAudioTrack.Click += new System.EventHandler(this.btn_addAudioTrack_Click);\r
+            // \r
+            // lbl_drc\r
+            // \r
+            this.lbl_drc.AutoSize = true;\r
+            this.lbl_drc.BackColor = System.Drawing.Color.Transparent;\r
+            this.lbl_drc.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.lbl_drc.Location = new System.Drawing.Point(650, 52);\r
+            this.lbl_drc.Name = "lbl_drc";\r
+            this.lbl_drc.Size = new System.Drawing.Size(14, 13);\r
+            this.lbl_drc.TabIndex = 15;\r
+            this.lbl_drc.Text = "1";\r
             // \r
             // label16\r
             // \r
             this.label16.AutoSize = true;\r
             this.label16.BackColor = System.Drawing.Color.Transparent;\r
             this.label16.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label16.Location = new System.Drawing.Point(628, 36);\r
+            this.label16.Location = new System.Drawing.Point(608, 35);\r
             this.label16.Name = "label16";\r
             this.label16.Size = new System.Drawing.Size(28, 12);\r
             this.label16.TabIndex = 14;\r
             this.label16.Text = "DRC";\r
             // \r
-            // trackBar1\r
+            // tb_drc\r
             // \r
-            this.trackBar1.LargeChange = 0;\r
-            this.trackBar1.Location = new System.Drawing.Point(619, 48);\r
-            this.trackBar1.Margin = new System.Windows.Forms.Padding(0);\r
-            this.trackBar1.Maximum = 30;\r
-            this.trackBar1.Name = "trackBar1";\r
-            this.trackBar1.Size = new System.Drawing.Size(50, 42);\r
-            this.trackBar1.TabIndex = 13;\r
-            this.trackBar1.TickFrequency = 10;\r
-            this.trackBar1.ValueChanged += new System.EventHandler(this.trackBar1_Scroll);\r
+            this.tb_drc.LargeChange = 0;\r
+            this.tb_drc.Location = new System.Drawing.Point(599, 47);\r
+            this.tb_drc.Margin = new System.Windows.Forms.Padding(0);\r
+            this.tb_drc.Maximum = 30;\r
+            this.tb_drc.Name = "tb_drc";\r
+            this.tb_drc.Size = new System.Drawing.Size(50, 42);\r
+            this.tb_drc.TabIndex = 13;\r
+            this.tb_drc.TickFrequency = 10;\r
+            this.tb_drc.ValueChanged += new System.EventHandler(this.tb_drc_Scroll);\r
             // \r
             // groupBox5\r
             // \r
@@ -1973,7 +1657,7 @@ namespace Handbrake
             // \r
             // groupBox3\r
             // \r
-            this.groupBox3.Location = new System.Drawing.Point(83, 219);\r
+            this.groupBox3.Location = new System.Drawing.Point(83, 260);\r
             this.groupBox3.Name = "groupBox3";\r
             this.groupBox3.Size = new System.Drawing.Size(601, 10);\r
             this.groupBox3.TabIndex = 41;\r
@@ -1995,29 +1679,29 @@ namespace Handbrake
             this.label67.AutoSize = true;\r
             this.label67.BackColor = System.Drawing.Color.Transparent;\r
             this.label67.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label67.Location = new System.Drawing.Point(479, 24);\r
+            this.label67.Location = new System.Drawing.Point(464, 35);\r
             this.label67.Name = "label67";\r
-            this.label67.Size = new System.Drawing.Size(65, 24);\r
+            this.label67.Size = new System.Drawing.Size(62, 12);\r
             this.label67.TabIndex = 10;\r
-            this.label67.Text = "Samplerate \r\n(kHz)";\r
+            this.label67.Text = "Samplerate";\r
             // \r
             // label66\r
             // \r
             this.label66.AutoSize = true;\r
             this.label66.BackColor = System.Drawing.Color.Transparent;\r
             this.label66.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label66.Location = new System.Drawing.Point(542, 36);\r
+            this.label66.Location = new System.Drawing.Point(539, 35);\r
             this.label66.Name = "label66";\r
-            this.label66.Size = new System.Drawing.Size(75, 12);\r
+            this.label66.Size = new System.Drawing.Size(39, 12);\r
             this.label66.TabIndex = 12;\r
-            this.label66.Text = "Bitrate (Kbps)";\r
+            this.label66.Text = "Bitrate";\r
             // \r
             // label65\r
             // \r
             this.label65.AutoSize = true;\r
             this.label65.BackColor = System.Drawing.Color.Transparent;\r
             this.label65.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label65.Location = new System.Drawing.Point(255, 36);\r
+            this.label65.Location = new System.Drawing.Point(235, 35);\r
             this.label65.Name = "label65";\r
             this.label65.Size = new System.Drawing.Size(69, 12);\r
             this.label65.TabIndex = 6;\r
@@ -2028,7 +1712,7 @@ namespace Handbrake
             this.label14.AutoSize = true;\r
             this.label14.BackColor = System.Drawing.Color.Transparent;\r
             this.label14.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label14.Location = new System.Drawing.Point(380, 36);\r
+            this.label14.Location = new System.Drawing.Point(369, 35);\r
             this.label14.Name = "label14";\r
             this.label14.Size = new System.Drawing.Size(48, 12);\r
             this.label14.TabIndex = 8;\r
@@ -2039,42 +1723,19 @@ namespace Handbrake
             this.check_forced.AutoSize = true;\r
             this.check_forced.BackColor = System.Drawing.Color.Transparent;\r
             this.check_forced.Enabled = false;\r
-            this.check_forced.Location = new System.Drawing.Point(223, 247);\r
+            this.check_forced.Location = new System.Drawing.Point(223, 288);\r
             this.check_forced.Name = "check_forced";\r
             this.check_forced.Size = new System.Drawing.Size(147, 17);\r
             this.check_forced.TabIndex = 44;\r
             this.check_forced.Text = "Forced Subtitles Only";\r
             this.check_forced.UseVisualStyleBackColor = false;\r
             // \r
-            // drp_track2Audio\r
-            // \r
-            this.drp_track2Audio.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drp_track2Audio.FormattingEnabled = true;\r
-            this.drp_track2Audio.Items.AddRange(new object[] {\r
-            "None"});\r
-            this.drp_track2Audio.Location = new System.Drawing.Point(36, 91);\r
-            this.drp_track2Audio.Name = "drp_track2Audio";\r
-            this.drp_track2Audio.Size = new System.Drawing.Size(194, 20);\r
-            this.drp_track2Audio.TabIndex = 17;\r
-            this.drp_track2Audio.SelectedIndexChanged += new System.EventHandler(this.drp_track2Audio_SelectedIndexChanged);\r
-            // \r
-            // label28\r
-            // \r
-            this.label28.AutoSize = true;\r
-            this.label28.BackColor = System.Drawing.Color.Transparent;\r
-            this.label28.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label28.Location = new System.Drawing.Point(13, 94);\r
-            this.label28.Name = "label28";\r
-            this.label28.Size = new System.Drawing.Size(19, 13);\r
-            this.label28.TabIndex = 16;\r
-            this.label28.Text = "2:";\r
-            // \r
             // label27\r
             // \r
             this.label27.AutoSize = true;\r
             this.label27.BackColor = System.Drawing.Color.Transparent;\r
             this.label27.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label27.Location = new System.Drawing.Point(107, 36);\r
+            this.label27.Location = new System.Drawing.Point(87, 35);\r
             this.label27.Name = "label27";\r
             this.label27.Size = new System.Drawing.Size(40, 12);\r
             this.label27.TabIndex = 4;\r
@@ -2085,7 +1746,7 @@ namespace Handbrake
             this.Label19.AutoSize = true;\r
             this.Label19.BackColor = System.Drawing.Color.Transparent;\r
             this.Label19.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.Label19.Location = new System.Drawing.Point(13, 219);\r
+            this.Label19.Location = new System.Drawing.Point(13, 260);\r
             this.Label19.Name = "Label19";\r
             this.Label19.Size = new System.Drawing.Size(64, 13);\r
             this.Label19.TabIndex = 40;\r
@@ -2096,7 +1757,7 @@ namespace Handbrake
             this.Label20.AutoSize = true;\r
             this.Label20.BackColor = System.Drawing.Color.Transparent;\r
             this.Label20.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.Label20.Location = new System.Drawing.Point(13, 247);\r
+            this.Label20.Location = new System.Drawing.Point(13, 288);\r
             this.Label20.Name = "Label20";\r
             this.Label20.Size = new System.Drawing.Size(61, 13);\r
             this.Label20.TabIndex = 42;\r
@@ -2108,21 +1769,12 @@ namespace Handbrake
             this.drp_track1Audio.FormattingEnabled = true;\r
             this.drp_track1Audio.Items.AddRange(new object[] {\r
             "Automatic"});\r
-            this.drp_track1Audio.Location = new System.Drawing.Point(36, 54);\r
+            this.drp_track1Audio.Location = new System.Drawing.Point(16, 53);\r
             this.drp_track1Audio.Name = "drp_track1Audio";\r
             this.drp_track1Audio.Size = new System.Drawing.Size(194, 20);\r
             this.drp_track1Audio.TabIndex = 3;\r
-            // \r
-            // Label32\r
-            // \r
-            this.Label32.AutoSize = true;\r
-            this.Label32.BackColor = System.Drawing.Color.Transparent;\r
-            this.Label32.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.Label32.Location = new System.Drawing.Point(13, 57);\r
-            this.Label32.Name = "Label32";\r
-            this.Label32.Size = new System.Drawing.Size(19, 13);\r
-            this.Label32.TabIndex = 2;\r
-            this.Label32.Text = "1:";\r
+            this.drp_track1Audio.Text = "Automatic";\r
+            this.drp_track1Audio.SelectedIndexChanged += new System.EventHandler(this.drp_track1Audio_SelectedIndexChanged);\r
             // \r
             // TabPage3\r
             // \r
@@ -2147,7 +1799,7 @@ namespace Handbrake
             this.TabPage3.Location = new System.Drawing.Point(4, 22);\r
             this.TabPage3.Name = "TabPage3";\r
             this.TabPage3.Padding = new System.Windows.Forms.Padding(3);\r
-            this.TabPage3.Size = new System.Drawing.Size(697, 316);\r
+            this.TabPage3.Size = new System.Drawing.Size(713, 316);\r
             this.TabPage3.TabIndex = 2;\r
             this.TabPage3.Text = "Video";\r
             // \r
@@ -2291,7 +1943,7 @@ namespace Handbrake
             this.TabPage1.Location = new System.Drawing.Point(4, 22);\r
             this.TabPage1.Name = "TabPage1";\r
             this.TabPage1.Padding = new System.Windows.Forms.Padding(3);\r
-            this.TabPage1.Size = new System.Drawing.Size(697, 316);\r
+            this.TabPage1.Size = new System.Drawing.Size(713, 316);\r
             this.TabPage1.TabIndex = 0;\r
             this.TabPage1.Text = "Picture Settings";\r
             // \r
@@ -2627,10 +2279,10 @@ namespace Handbrake
             this.advancedOptions.Controls.Add(this.h264Tab);\r
             this.advancedOptions.Controls.Add(this.tabPage4);\r
             this.advancedOptions.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.advancedOptions.Location = new System.Drawing.Point(12, 274);\r
+            this.advancedOptions.Location = new System.Drawing.Point(9, 274);\r
             this.advancedOptions.Name = "advancedOptions";\r
             this.advancedOptions.SelectedIndex = 0;\r
-            this.advancedOptions.Size = new System.Drawing.Size(705, 342);\r
+            this.advancedOptions.Size = new System.Drawing.Size(721, 342);\r
             this.advancedOptions.TabIndex = 5;\r
             this.advancedOptions.TabStop = false;\r
             // \r
@@ -2642,7 +2294,7 @@ namespace Handbrake
             this.tab_chapters.Controls.Add(this.Check_ChapterMarkers);\r
             this.tab_chapters.Location = new System.Drawing.Point(4, 22);\r
             this.tab_chapters.Name = "tab_chapters";\r
-            this.tab_chapters.Size = new System.Drawing.Size(697, 316);\r
+            this.tab_chapters.Size = new System.Drawing.Size(713, 316);\r
             this.tab_chapters.TabIndex = 6;\r
             this.tab_chapters.Text = "Chapters";\r
             // \r
@@ -2696,7 +2348,7 @@ namespace Handbrake
             this.h264Tab.Location = new System.Drawing.Point(4, 22);\r
             this.h264Tab.Name = "h264Tab";\r
             this.h264Tab.Padding = new System.Windows.Forms.Padding(3);\r
-            this.h264Tab.Size = new System.Drawing.Size(697, 316);\r
+            this.h264Tab.Size = new System.Drawing.Size(713, 316);\r
             this.h264Tab.TabIndex = 8;\r
             this.h264Tab.Text = "Advanced";\r
             // \r
@@ -2858,7 +2510,7 @@ namespace Handbrake
             this.tabPage4.Controls.Add(this.rtf_query);\r
             this.tabPage4.Location = new System.Drawing.Point(4, 22);\r
             this.tabPage4.Name = "tabPage4";\r
-            this.tabPage4.Size = new System.Drawing.Size(697, 316);\r
+            this.tabPage4.Size = new System.Drawing.Size(713, 316);\r
             this.tabPage4.TabIndex = 7;\r
             this.tabPage4.Text = "Query Editor";\r
             // \r
@@ -2925,9 +2577,9 @@ namespace Handbrake
             this.groupBox_dest.Controls.Add(this.text_destination);\r
             this.groupBox_dest.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.groupBox_dest.ForeColor = System.Drawing.Color.Black;\r
-            this.groupBox_dest.Location = new System.Drawing.Point(12, 160);\r
+            this.groupBox_dest.Location = new System.Drawing.Point(9, 160);\r
             this.groupBox_dest.Name = "groupBox_dest";\r
-            this.groupBox_dest.Size = new System.Drawing.Size(705, 50);\r
+            this.groupBox_dest.Size = new System.Drawing.Size(721, 50);\r
             this.groupBox_dest.TabIndex = 3;\r
             this.groupBox_dest.TabStop = false;\r
             this.groupBox_dest.Text = "Destination";\r
@@ -2948,7 +2600,7 @@ namespace Handbrake
             this.groupBox2.Controls.Add(this.splitContainer1);\r
             this.groupBox2.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.groupBox2.ForeColor = System.Drawing.Color.Black;\r
-            this.groupBox2.Location = new System.Drawing.Point(728, 70);\r
+            this.groupBox2.Location = new System.Drawing.Point(739, 70);\r
             this.groupBox2.Name = "groupBox2";\r
             this.groupBox2.Size = new System.Drawing.Size(245, 546);\r
             this.groupBox2.TabIndex = 6;\r
@@ -3000,31 +2652,31 @@ namespace Handbrake
             this.sep1,\r
             this.pmnu_delete});\r
             this.presets_menu.Name = "presets_menu";\r
-            this.presets_menu.Size = new System.Drawing.Size(146, 76);\r
+            this.presets_menu.Size = new System.Drawing.Size(140, 76);\r
             // \r
             // pmnu_expandAll\r
             // \r
             this.pmnu_expandAll.Name = "pmnu_expandAll";\r
-            this.pmnu_expandAll.Size = new System.Drawing.Size(145, 22);\r
+            this.pmnu_expandAll.Size = new System.Drawing.Size(139, 22);\r
             this.pmnu_expandAll.Text = "Expand All";\r
             this.pmnu_expandAll.Click += new System.EventHandler(this.pmnu_expandAll_Click);\r
             // \r
             // pmnu_collapse\r
             // \r
             this.pmnu_collapse.Name = "pmnu_collapse";\r
-            this.pmnu_collapse.Size = new System.Drawing.Size(145, 22);\r
+            this.pmnu_collapse.Size = new System.Drawing.Size(139, 22);\r
             this.pmnu_collapse.Text = "Collapse All";\r
             this.pmnu_collapse.Click += new System.EventHandler(this.pmnu_collapse_Click);\r
             // \r
             // sep1\r
             // \r
             this.sep1.Name = "sep1";\r
-            this.sep1.Size = new System.Drawing.Size(142, 6);\r
+            this.sep1.Size = new System.Drawing.Size(136, 6);\r
             // \r
             // pmnu_delete\r
             // \r
             this.pmnu_delete.Name = "pmnu_delete";\r
-            this.pmnu_delete.Size = new System.Drawing.Size(145, 22);\r
+            this.pmnu_delete.Size = new System.Drawing.Size(139, 22);\r
             this.pmnu_delete.Text = "Delete";\r
             this.pmnu_delete.Click += new System.EventHandler(this.pmnu_delete_click);\r
             // \r
@@ -3043,7 +2695,7 @@ namespace Handbrake
             this.toolStrip1.Location = new System.Drawing.Point(0, 24);\r
             this.toolStrip1.Name = "toolStrip1";\r
             this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;\r
-            this.toolStrip1.Size = new System.Drawing.Size(983, 39);\r
+            this.toolStrip1.Size = new System.Drawing.Size(992, 39);\r
             this.toolStrip1.TabIndex = 1;\r
             this.toolStrip1.Text = "toolStrip1";\r
             // \r
@@ -3058,7 +2710,7 @@ namespace Handbrake
             this.btn_source.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
             this.btn_source.ImageTransparentColor = System.Drawing.Color.Magenta;\r
             this.btn_source.Name = "btn_source";\r
-            this.btn_source.Size = new System.Drawing.Size(90, 36);\r
+            this.btn_source.Size = new System.Drawing.Size(85, 36);\r
             this.btn_source.Text = "Source";\r
             this.btn_source.ToolTipText = "Open a new source file or folder.";\r
             this.btn_source.Click += new System.EventHandler(this.btn_source_Click);\r
@@ -3067,7 +2719,7 @@ namespace Handbrake
             // \r
             this.btn_file_source.Image = global::Handbrake.Properties.Resources.Movies_Small;\r
             this.btn_file_source.Name = "btn_file_source";\r
-            this.btn_file_source.Size = new System.Drawing.Size(214, 22);\r
+            this.btn_file_source.Size = new System.Drawing.Size(194, 22);\r
             this.btn_file_source.Text = "Video File";\r
             this.btn_file_source.Click += new System.EventHandler(this.btn_file_source_Click);\r
             // \r
@@ -3076,20 +2728,20 @@ namespace Handbrake
             this.btn_dvd_source.Image = ((System.Drawing.Image)(resources.GetObject("btn_dvd_source.Image")));\r
             this.btn_dvd_source.ImageTransparentColor = System.Drawing.Color.Magenta;\r
             this.btn_dvd_source.Name = "btn_dvd_source";\r
-            this.btn_dvd_source.Size = new System.Drawing.Size(214, 22);\r
+            this.btn_dvd_source.Size = new System.Drawing.Size(194, 22);\r
             this.btn_dvd_source.Text = "DVD/ VIDEO_TS Folder";\r
             this.btn_dvd_source.Click += new System.EventHandler(this.btn_dvd_source_Click);\r
             // \r
             // toolStripSeparator1\r
             // \r
             this.toolStripSeparator1.Name = "toolStripSeparator1";\r
-            this.toolStripSeparator1.Size = new System.Drawing.Size(211, 6);\r
+            this.toolStripSeparator1.Size = new System.Drawing.Size(191, 6);\r
             // \r
             // mnu_dvd_drive\r
             // \r
             this.mnu_dvd_drive.Image = global::Handbrake.Properties.Resources.disc_small;\r
             this.mnu_dvd_drive.Name = "mnu_dvd_drive";\r
-            this.mnu_dvd_drive.Size = new System.Drawing.Size(214, 22);\r
+            this.mnu_dvd_drive.Size = new System.Drawing.Size(194, 22);\r
             this.mnu_dvd_drive.Text = "[No DVD Drive Ready]";\r
             this.mnu_dvd_drive.Visible = false;\r
             this.mnu_dvd_drive.Click += new System.EventHandler(this.mnu_dvd_drive_Click);\r
@@ -3105,7 +2757,7 @@ namespace Handbrake
             this.btn_start.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
             this.btn_start.ImageTransparentColor = System.Drawing.Color.Magenta;\r
             this.btn_start.Name = "btn_start";\r
-            this.btn_start.Size = new System.Drawing.Size(70, 36);\r
+            this.btn_start.Size = new System.Drawing.Size(67, 36);\r
             this.btn_start.Text = "Start";\r
             this.btn_start.ToolTipText = "Start the encoding process";\r
             this.btn_start.Click += new System.EventHandler(this.btn_start_Click);\r
@@ -3116,7 +2768,7 @@ namespace Handbrake
             this.btn_add2Queue.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
             this.btn_add2Queue.ImageTransparentColor = System.Drawing.Color.Magenta;\r
             this.btn_add2Queue.Name = "btn_add2Queue";\r
-            this.btn_add2Queue.Size = new System.Drawing.Size(122, 36);\r
+            this.btn_add2Queue.Size = new System.Drawing.Size(110, 36);\r
             this.btn_add2Queue.Text = "Add to Queue";\r
             this.btn_add2Queue.ToolTipText = "Add a new item to the Queue";\r
             this.btn_add2Queue.Click += new System.EventHandler(this.btn_add2Queue_Click);\r
@@ -3127,7 +2779,7 @@ namespace Handbrake
             this.btn_showQueue.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
             this.btn_showQueue.ImageTransparentColor = System.Drawing.Color.Magenta;\r
             this.btn_showQueue.Name = "btn_showQueue";\r
-            this.btn_showQueue.Size = new System.Drawing.Size(115, 36);\r
+            this.btn_showQueue.Size = new System.Drawing.Size(104, 36);\r
             this.btn_showQueue.Tag = "";\r
             this.btn_showQueue.Text = "Show Queue";\r
             this.btn_showQueue.Click += new System.EventHandler(this.btn_showQueue_Click);\r
@@ -3143,7 +2795,7 @@ namespace Handbrake
             this.btn_vidPreview.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
             this.btn_vidPreview.ImageTransparentColor = System.Drawing.Color.Magenta;\r
             this.btn_vidPreview.Name = "btn_vidPreview";\r
-            this.btn_vidPreview.Size = new System.Drawing.Size(86, 36);\r
+            this.btn_vidPreview.Size = new System.Drawing.Size(81, 36);\r
             this.btn_vidPreview.Text = "Preview";\r
             this.btn_vidPreview.Click += new System.EventHandler(this.btn_vidPreview_Click);\r
             // \r
@@ -3153,7 +2805,7 @@ namespace Handbrake
             this.btn_ActivityWindow.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
             this.btn_ActivityWindow.ImageTransparentColor = System.Drawing.Color.Magenta;\r
             this.btn_ActivityWindow.Name = "btn_ActivityWindow";\r
-            this.btn_ActivityWindow.Size = new System.Drawing.Size(132, 36);\r
+            this.btn_ActivityWindow.Size = new System.Drawing.Size(120, 36);\r
             this.btn_ActivityWindow.Text = "Activity Window";\r
             this.btn_ActivityWindow.ToolTipText = "Displays the activity window which displays the log of the last completed or curr" +\r
                 "ently running encode.";\r
@@ -3175,7 +2827,7 @@ namespace Handbrake
             this.lbl_encode});\r
             this.StatusStrip.Location = new System.Drawing.Point(0, 627);\r
             this.StatusStrip.Name = "StatusStrip";\r
-            this.StatusStrip.Size = new System.Drawing.Size(983, 22);\r
+            this.StatusStrip.Size = new System.Drawing.Size(992, 22);\r
             this.StatusStrip.TabIndex = 7;\r
             this.StatusStrip.Text = "statusStrip1";\r
             // \r
@@ -3190,7 +2842,7 @@ namespace Handbrake
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
-            this.ClientSize = new System.Drawing.Size(983, 649);\r
+            this.ClientSize = new System.Drawing.Size(992, 649);\r
             this.Controls.Add(this.GroupBox1);\r
             this.Controls.Add(this.groupBox_dest);\r
             this.Controls.Add(this.groupBox_output);\r
@@ -3201,7 +2853,7 @@ namespace Handbrake
             this.Controls.Add(this.StatusStrip);\r
             this.DoubleBuffered = true;\r
             this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));\r
-            this.MinimumSize = new System.Drawing.Size(946, 668);\r
+            this.MinimumSize = new System.Drawing.Size(1000, 668);\r
             this.Name = "frmMain";\r
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;\r
             this.Text = "HandBrake";\r
@@ -3216,10 +2868,7 @@ namespace Handbrake
             this.groupBox_output.PerformLayout();\r
             this.TabPage2.ResumeLayout(false);\r
             this.TabPage2.PerformLayout();\r
-            ((System.ComponentModel.ISupportInitialize)(this.trackBar4)).EndInit();\r
-            ((System.ComponentModel.ISupportInitialize)(this.trackBar3)).EndInit();\r
-            ((System.ComponentModel.ISupportInitialize)(this.trackBar2)).EndInit();\r
-            ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit();\r
+            ((System.ComponentModel.ISupportInitialize)(this.tb_drc)).EndInit();\r
             this.TabPage3.ResumeLayout(false);\r
             this.TabPage3.PerformLayout();\r
             this.TabPage1.ResumeLayout(false);\r
@@ -3287,7 +2936,6 @@ namespace Handbrake
         internal System.Windows.Forms.ComboBox drp_audmix_1;\r
         internal System.Windows.Forms.ComboBox drp_track1Audio;\r
         internal System.Windows.Forms.ComboBox drp_audbit_1;\r
-        internal System.Windows.Forms.Label Label32;\r
         internal System.Windows.Forms.ComboBox drp_audsr_1;\r
         internal System.Windows.Forms.TabPage TabPage3;\r
         internal System.Windows.Forms.CheckBox check_largeFile;\r
@@ -3338,8 +2986,6 @@ namespace Handbrake
         internal System.Windows.Forms.Label Label55;\r
         internal System.Windows.Forms.TextBox text_width;\r
         internal System.Windows.Forms.Label label27;\r
-        internal System.Windows.Forms.ComboBox drp_track2Audio;\r
-        internal System.Windows.Forms.Label label28;\r
         private System.Windows.Forms.TabPage tab_chapters;\r
         internal System.Windows.Forms.Label label31;\r
         internal System.Windows.Forms.NumericUpDown text_right;\r
@@ -3399,42 +3045,20 @@ namespace Handbrake
         internal System.Windows.Forms.Label label64;\r
         internal System.Windows.Forms.ComboBox drop_refFrames;\r
         internal System.Windows.Forms.CheckBox check_mixedReferences;\r
-        internal System.Windows.Forms.ComboBox drp_audmix_2;\r
         internal System.Windows.Forms.Label label65;\r
         internal System.Windows.Forms.Label label14;\r
-        internal System.Windows.Forms.ComboBox drp_audenc_2;\r
         internal System.Windows.Forms.ComboBox drp_audenc_1;\r
         internal System.Windows.Forms.Label label66;\r
-        internal System.Windows.Forms.ComboBox drp_audbit_2;\r
         internal System.Windows.Forms.Label label67;\r
-        internal System.Windows.Forms.ComboBox drp_audsr_2;\r
         internal System.Windows.Forms.Label label68;\r
         private System.Windows.Forms.DataGridViewTextBoxColumn number;\r
         private System.Windows.Forms.DataGridViewTextBoxColumn name;\r
         private System.Windows.Forms.GroupBox groupBox3;\r
         private System.Windows.Forms.GroupBox groupBox5;\r
         private System.Windows.Forms.Button btn_destBrowse;\r
-        internal System.Windows.Forms.TrackBar trackBar1;\r
-        internal System.Windows.Forms.Label lbl_drc4;\r
-        internal System.Windows.Forms.Label lbl_drc3;\r
-        internal System.Windows.Forms.Label lbl_drc2;\r
-        internal System.Windows.Forms.TrackBar trackBar4;\r
-        internal System.Windows.Forms.ComboBox drp_audsr_4;\r
-        internal System.Windows.Forms.ComboBox drp_audbit_4;\r
-        internal System.Windows.Forms.ComboBox drp_audenc_4;\r
-        internal System.Windows.Forms.ComboBox drp_audmix_4;\r
-        internal System.Windows.Forms.ComboBox drp_track4Audio;\r
-        internal System.Windows.Forms.Label lbl_t4;\r
-        internal System.Windows.Forms.TrackBar trackBar3;\r
-        internal System.Windows.Forms.ComboBox drp_audsr_3;\r
-        internal System.Windows.Forms.ComboBox drp_audbit_3;\r
-        internal System.Windows.Forms.ComboBox drp_audenc_3;\r
-        internal System.Windows.Forms.ComboBox drp_audmix_3;\r
-        internal System.Windows.Forms.ComboBox drp_track3Audio;\r
-        internal System.Windows.Forms.Label lbl_t3;\r
-        internal System.Windows.Forms.TrackBar trackBar2;\r
+        internal System.Windows.Forms.TrackBar tb_drc;\r
         internal System.Windows.Forms.Label label16;\r
-        internal System.Windows.Forms.Label lbl_drc1;\r
+        internal System.Windows.Forms.Label lbl_drc;\r
         internal System.Windows.Forms.TreeView treeView_presets;\r
         internal System.Windows.Forms.RichTextBox rtf_query;\r
         private System.Windows.Forms.NotifyIcon notifyIcon;\r
@@ -3474,6 +3098,15 @@ namespace Handbrake
         private System.Windows.Forms.ToolStripMenuItem pmnu_delete;\r
         private System.Windows.Forms.SplitContainer splitContainer1;\r
         private System.Windows.Forms.ToolStripButton btn_vidPreview;\r
+        private System.Windows.Forms.Button btn_RemoveAudioTrack;\r
+        private System.Windows.Forms.Button btn_addAudioTrack;\r
+        private System.Windows.Forms.ColumnHeader col_Source;\r
+        private System.Windows.Forms.ColumnHeader col_codec;\r
+        private System.Windows.Forms.ColumnHeader col_mixdown;\r
+        private System.Windows.Forms.ColumnHeader col_samplerate;\r
+        private System.Windows.Forms.ColumnHeader col_bitrate;\r
+        private System.Windows.Forms.ColumnHeader col_drc;\r
+        internal System.Windows.Forms.ListView lv_audioList;\r
 \r
     }\r
 }
\ No newline at end of file
index b7a1697..71ecbec 100644 (file)
@@ -93,6 +93,9 @@ namespace Handbrake
             {\r
                 Functions.QueryParser presetQuery = Functions.QueryParser.Parse(Properties.Settings.Default.defaultUserSettings);\r
                 presetLoader.presetLoader(this, presetQuery, "User Defaults ");\r
+                // The x264 widgets will need updated, so do this now:\r
+                x264PanelFunctions.X264_StandardizeOptString(this);\r
+                x264PanelFunctions.X264_SetCurrentSettingsInPanel(this);\r
             }\r
             else\r
                 loadNormalPreset();\r
@@ -745,16 +748,10 @@ namespace Handbrake
                 drp_track1Audio.Items.AddRange(selectedTitle.AudioTracks.ToArray());\r
                 drp_track1Audio.SelectedIndex = 0;\r
 \r
-                if (treeView_presets.Nodes.Count != 0)\r
-                {\r
-                    if (!treeView_presets.SelectedNode.Text.Contains("AppleTV"))\r
-                    {\r
-                        drp_track2Audio.Items.Clear();\r
-                        drp_track2Audio.Items.Add("None");\r
-                        drp_track2Audio.Items.AddRange(selectedTitle.AudioTracks.ToArray());\r
-                        drp_track2Audio.SelectedIndex = 0;\r
-                    }\r
-                }\r
+                /*drp_track2Audio.Items.Clear();\r
+                drp_track2Audio.Items.Add("None");\r
+                drp_track2Audio.Items.AddRange(selectedTitle.AudioTracks.ToArray());\r
+                drp_track2Audio.SelectedIndex = 0;\r
 \r
                 drp_track3Audio.Items.Clear();\r
                 drp_track3Audio.Items.Add("None");\r
@@ -764,7 +761,7 @@ namespace Handbrake
                 drp_track4Audio.Items.Clear();\r
                 drp_track4Audio.Items.Add("None");\r
                 drp_track4Audio.Items.AddRange(selectedTitle.AudioTracks.ToArray());\r
-                drp_track4Audio.SelectedIndex = 0;\r
+                drp_track4Audio.SelectedIndex = 0;*/\r
 \r
                 // Populate the Subtitles dropdown\r
                 drp_subtitle.Items.Clear();\r
@@ -1093,157 +1090,15 @@ namespace Handbrake
                 lbl_deblockVal.Text = slider_deblock.Value.ToString();\r
         }\r
 \r
-        // Audio Tab\r
-        private void drp_track2Audio_SelectedIndexChanged(object sender, EventArgs e)\r
+        //Audio Tab\r
+        private void drp_track1Audio_SelectedIndexChanged(object sender, EventArgs e)\r
         {\r
-            if (drp_track2Audio.SelectedItem.Equals("None"))\r
-            {\r
-                drp_audbit_2.Enabled = false;\r
-                drp_audenc_2.Enabled = false;\r
-                drp_audsr_2.Enabled = false;\r
-                drp_audmix_2.Enabled = false;\r
-                trackBar2.Enabled = false;\r
-                drp_audbit_2.Text = "";\r
-                drp_audenc_2.Text = "";\r
-                drp_audsr_2.Text = "";\r
-                drp_audmix_2.Text = "Automatic";\r
-                trackBar2.Value = 0;\r
-\r
-                // Disable the 3rd Track.\r
-                drp_track3Audio.Enabled = false;\r
-                drp_track3Audio.Text = "None";\r
-                drp_audbit_3.Text = "";\r
-                drp_audenc_3.Text = "";\r
-                drp_audsr_3.Text = "";\r
-                drp_audmix_3.Text = "Automatic";\r
-                trackBar3.Value = 0;\r
-            }\r
-            else\r
-            {\r
-                // Enable the 2nd Track\r
-                drp_audbit_2.Enabled = true;\r
-                drp_audenc_2.Enabled = true;\r
-                drp_audsr_2.Enabled = true;\r
-                drp_audmix_2.Enabled = true;\r
-                trackBar2.Enabled = true;\r
-                drp_audbit_2.Text = "160";\r
-                drp_audenc_2.Text = "AAC";\r
-                drp_audsr_2.Text = "Auto";\r
-                drp_audmix_2.Text = "Automatic";\r
-\r
-                // Enable the 3rd Track.\r
-                drp_track3Audio.Enabled = true;\r
-                drp_audbit_3.Text = "";\r
-                drp_audenc_3.Text = "";\r
-                drp_audsr_3.Text = "";\r
-                drp_audmix_3.Text = "Automatic";\r
-            }\r
-        }\r
-        private void drp_track3Audio_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            if (drp_track3Audio.SelectedItem.Equals("None"))\r
-            {\r
-                // Disable the 3rd track\r
-                drp_audbit_3.Enabled = false;\r
-                drp_audenc_3.Enabled = false;\r
-                drp_audsr_3.Enabled = false;\r
-                drp_audmix_3.Enabled = false;\r
-                trackBar3.Enabled = false;\r
-                drp_audbit_3.Text = "";\r
-                drp_audenc_3.Text = "";\r
-                drp_audsr_3.Text = "";\r
-                drp_audmix_3.Text = "Automatic";\r
-                trackBar3.Value = 0;\r
-\r
-                // Disable the 4th Track.\r
-                drp_track4Audio.Enabled = false;\r
-                drp_track4Audio.Text = "None";\r
-                drp_audbit_4.Text = "";\r
-                drp_audenc_4.Text = "";\r
-                drp_audsr_4.Text = "";\r
-                drp_audmix_4.Text = "Automatic";\r
-\r
-            }\r
-            else\r
-            {\r
-                // Enable the 3rd track\r
-                drp_audbit_3.Enabled = true;\r
-                drp_audenc_3.Enabled = true;\r
-                drp_audsr_3.Enabled = true;\r
-                drp_audmix_3.Enabled = true;\r
-                trackBar3.Enabled = true;\r
-                drp_audbit_3.Text = "160";\r
-                drp_audenc_3.Text = "AAC";\r
-                drp_audsr_3.Text = "Auto";\r
-                drp_audmix_3.Text = "Automatic";\r
-\r
-                // Enable the 4th Track.\r
-                drp_track4Audio.Enabled = true;\r
-                drp_audbit_4.Text = "";\r
-                drp_audenc_4.Text = "";\r
-                drp_audsr_4.Text = "";\r
-                drp_audmix_4.Text = "Automatic";\r
-            }\r
-\r
-        }\r
-        private void drp_track4Audio_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            if (drp_track4Audio.SelectedItem.Equals("None"))\r
-            {\r
-                drp_audbit_4.Enabled = false;\r
-                drp_audenc_4.Enabled = false;\r
-                drp_audsr_4.Enabled = false;\r
-                drp_audmix_4.Enabled = false;\r
-                trackBar4.Enabled = false;\r
-                drp_audbit_4.Text = "";\r
-                drp_audenc_4.Text = "";\r
-                drp_audsr_4.Text = "";\r
-                drp_audmix_4.Text = "Automatic";\r
-                trackBar4.Value = 0;\r
-            }\r
-            else\r
+            if (lv_audioList.Items.Count != 0 && lv_audioList.SelectedIndices.Count != 0)\r
             {\r
-                drp_audbit_4.Enabled = true;\r
-                drp_audenc_4.Enabled = true;\r
-                drp_audsr_4.Enabled = true;\r
-                drp_audmix_4.Enabled = true;\r
-                trackBar4.Enabled = true;\r
-                drp_audbit_4.Text = "160";\r
-                drp_audenc_4.Text = "AAC";\r
-                drp_audsr_4.Text = "Auto";\r
-                drp_audmix_4.Text = "Automatic";\r
+                lv_audioList.Items[lv_audioList.SelectedIndices[0]].Text = drp_track1Audio.Text;\r
+                lv_audioList.Select();\r
             }\r
         }\r
-\r
-        private void drp_audmix_1_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            if ((drp_audenc_1.Text == "AAC") && (drp_audmix_1.Text == "6 Channel Discrete"))\r
-                setBitrateSelections384(drp_audbit_1);\r
-            else if ((drp_audenc_1.Text == "AAC") && (drp_audmix_1.Text != "6 Channel Discrete"))\r
-                setBitrateSelections160(drp_audbit_1); drp_audbit_1.Text = "160";\r
-        }\r
-        private void drp_audmix_2_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            if ((drp_audenc_2.Text == "AAC") && (drp_audmix_2.Text == "6 Channel Discrete"))\r
-                setBitrateSelections384(drp_audbit_2);\r
-            else if ((drp_audenc_2.Text == "AAC") && (drp_audmix_2.Text != "6 Channel Discrete"))\r
-                setBitrateSelections160(drp_audbit_2); drp_audbit_2.Text = "160";\r
-        }\r
-        private void drp_audmix_3_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            if ((drp_audenc_3.Text == "AAC") && (drp_audmix_3.Text == "6 Channel Discrete"))\r
-                setBitrateSelections384(drp_audbit_3);\r
-            else if ((drp_audenc_3.Text == "AAC") && (drp_audmix_3.Text != "6 Channel Discrete"))\r
-                setBitrateSelections160(drp_audbit_3); drp_audbit_3.Text = "160";\r
-        }\r
-        private void drp_audmix_4_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            if ((drp_audenc_4.Text == "AAC") && (drp_audmix_4.Text == "6 Channel Discrete"))\r
-                setBitrateSelections384(drp_audbit_4);\r
-            else if ((drp_audenc_4.Text == "AAC") && (drp_audmix_4.Text != "6 Channel Discrete"))\r
-                setBitrateSelections160(drp_audbit_4); drp_audbit_4.Text = "160";\r
-        }\r
-\r
         private void drp_audenc_1_SelectedIndexChanged(object sender, EventArgs e)\r
         {\r
             if (drp_audenc_1.Text == "AC3")\r
@@ -1251,6 +1106,10 @@ namespace Handbrake
                 drp_audmix_1.Enabled = false;\r
                 drp_audbit_1.Enabled = false;\r
                 drp_audsr_1.Enabled = false;\r
+\r
+                drp_audmix_1.SelectedIndex = 0;\r
+                drp_audbit_1.SelectedIndex = 0;\r
+                drp_audsr_1.SelectedIndex = 0;\r
             }\r
             else\r
             {\r
@@ -1273,77 +1132,114 @@ namespace Handbrake
                 setMixDownNotAAC(drp_audmix_1);\r
                 setBitrateSelections320(drp_audbit_1);\r
             }\r
-        }\r
-        private void drp_audenc_2_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            // Setup the other audio configuration options as required.\r
-            audioEncoderChange(drp_audenc_2, drp_audmix_2, drp_audbit_2, drp_audsr_2);\r
 \r
-            if (drp_audenc_2.Text == "AAC")\r
+            // Update an item in the Audio list if required.\r
+            if (lv_audioList.Items.Count != 0 && lv_audioList.SelectedIndices.Count != 0)\r
             {\r
-                setMixDownAllOptions(drp_audmix_2);\r
-                setBitrateSelections160(drp_audbit_2);\r
+                lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[1].Text = drp_audenc_1.Text;\r
+                lv_audioList.Select();\r
             }\r
-            else\r
+        }\r
+        private void drp_audmix_1_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            if ((drp_audenc_1.Text == "AAC") && (drp_audmix_1.Text == "6 Channel Discrete"))\r
+                setBitrateSelections384(drp_audbit_1);\r
+            else if ((drp_audenc_1.Text == "AAC") && (drp_audmix_1.Text != "6 Channel Discrete"))\r
+                setBitrateSelections160(drp_audbit_1); drp_audbit_1.Text = "160";\r
+            \r
+            // Update an item in the Audio list if required.\r
+            if (lv_audioList.Items.Count != 0 && lv_audioList.SelectedIndices.Count != 0)\r
             {\r
-                setMixDownNotAAC(drp_audmix_2);\r
-                setBitrateSelections320(drp_audbit_2);\r
+                lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[2].Text = drp_audmix_1.Text;\r
+                lv_audioList.Select();\r
             }\r
         }\r
-        private void drp_audenc_3_SelectedIndexChanged(object sender, EventArgs e)\r
+        private void drp_audsr_1_SelectedIndexChanged(object sender, EventArgs e)\r
         {\r
-            // Setup the other audio configuration options as required.\r
-            audioEncoderChange(drp_audenc_3, drp_audmix_3, drp_audbit_3, drp_audsr_3);\r
-\r
-            if (drp_audenc_3.Text == "AAC")\r
+            // Update an item in the Audio list if required.\r
+            if (lv_audioList.Items.Count != 0 && lv_audioList.SelectedIndices.Count != 0)\r
             {\r
-                setMixDownAllOptions(drp_audmix_3);\r
-                setBitrateSelections160(drp_audbit_3);\r
+                lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[3].Text = drp_audsr_1.Text;\r
+                lv_audioList.Select();\r
             }\r
-            else\r
+        }\r
+        private void drp_audbit_1_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            // Update an item in the Audio list if required.\r
+            if (lv_audioList.Items.Count != 0 && lv_audioList.SelectedIndices.Count != 0)\r
             {\r
-                setMixDownNotAAC(drp_audmix_3);\r
-                setBitrateSelections320(drp_audbit_3);\r
+                if (drp_audenc_1.Text == "AC3")\r
+                    drp_audbit_1.Text = "Auto";\r
+                lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[4].Text = drp_audbit_1.Text;\r
+                lv_audioList.Select();\r
             }\r
         }\r
-        private void drp_audenc_4_SelectedIndexChanged(object sender, EventArgs e)\r
+        private void tb_drc_Scroll(object sender, EventArgs e)\r
         {\r
-            // Setup the other audio configuration options as required.\r
-            audioEncoderChange(drp_audenc_4, drp_audmix_4, drp_audbit_4, drp_audsr_4);\r
+            double value = (tb_drc.Value / 10.0) + 1;\r
+            lbl_drc.Text = value.ToString();\r
 \r
-            if (drp_audenc_4.Text == "AAC")\r
+            // Update an item in the Audio list if required.\r
+            if (lv_audioList.Items.Count != 0 && lv_audioList.SelectedIndices.Count != 0)\r
             {\r
-                setMixDownAllOptions(drp_audmix_4);\r
-                setBitrateSelections160(drp_audbit_4);\r
+                lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[5].Text = lbl_drc.Text;\r
+                lv_audioList.Select();\r
             }\r
-            else\r
-            {\r
-                setMixDownNotAAC(drp_audmix_4);\r
-                setBitrateSelections320(drp_audbit_4);\r
-            }\r
-        }\r
-\r
-        private void trackBar1_Scroll(object sender, EventArgs e)\r
-        {\r
-            double value = (trackBar1.Value / 10.0) + 1;\r
-            lbl_drc1.Text = value.ToString();\r
         }\r
-        private void trackBar2_Scroll(object sender, EventArgs e)\r
+        private void btn_addAudioTrack_Click(object sender, EventArgs e)\r
         {\r
-            double value = (trackBar2.Value / 10.0) + 1;\r
-            lbl_drc2.Text = value.ToString();\r
+            // Create a new row for the Audio list based on the currently selected items in the dropdown.\r
+            ListViewItem newTrack = new ListViewItem(drp_track1Audio.Text);\r
+            newTrack.SubItems.Add(drp_audenc_1.Text);\r
+            newTrack.SubItems.Add(drp_audmix_1.Text);\r
+            newTrack.SubItems.Add(drp_audsr_1.Text);\r
+            newTrack.SubItems.Add(drp_audbit_1.Text);\r
+            newTrack.SubItems.Add(lbl_drc.Text);\r
+\r
+            // Select the newly added track and select the control\r
+            lv_audioList.Items.Add(newTrack);\r
+            lv_audioList.Items[lv_audioList.Items.Count - 1].Selected = true;\r
+            lv_audioList.Select();\r
         }\r
-        private void trackBar3_Scroll(object sender, EventArgs e)\r
+        private void btn_RemoveAudioTrack_Click(object sender, EventArgs e)\r
         {\r
-            double value = (trackBar3.Value / 10.0) + 1;\r
-            lbl_drc3.Text = value.ToString();\r
+            // Record the current selected index.\r
+            int currentPosition = lv_audioList.SelectedIndices[0];\r
+\r
+            // Remove the Item and reselect the control if the following conditions are met.\r
+            if (lv_audioList.SelectedItems.Count != 0)\r
+            {\r
+                lv_audioList.Items.RemoveAt(lv_audioList.SelectedIndices[0]);\r
+\r
+                // Now reslect the correct item and give focus to the audio list.\r
+                if (lv_audioList.Items.Count != 0)\r
+                {\r
+                    if (currentPosition <= (lv_audioList.Items.Count - 1))\r
+                        lv_audioList.Items[currentPosition].Selected = true;\r
+                    else if (currentPosition > (lv_audioList.Items.Count - 1))\r
+                        lv_audioList.Items[lv_audioList.Items.Count - 1].Selected = true;\r
+\r
+                    lv_audioList.Select();\r
+                }\r
+            }\r
         }\r
-        private void trackBar4_Scroll(object sender, EventArgs e)\r
+        private void lv_audioList_SelectedIndexChanged(object sender, EventArgs e)\r
         {\r
-            double value = (trackBar4.Value / 10.0) + 1;\r
-            lbl_drc4.Text = value.ToString();\r
+            // Set the dropdown controls based on the selected item in the Audio List.\r
+            if (lv_audioList.Items.Count != 0 && lv_audioList.SelectedIndices.Count != 0)\r
+            {\r
+                drp_track1Audio.Text = lv_audioList.Items[lv_audioList.SelectedIndices[0]].Text;\r
+                drp_audenc_1.Text = lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[1].Text;\r
+                drp_audmix_1.Text = lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[2].Text;\r
+                drp_audsr_1.Text = lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[3].Text;\r
+                drp_audbit_1.Text = lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[4].Text;\r
+                double drcValue = 0; int drcCalculated = 0;\r
+                double.TryParse(lv_audioList.Items[lv_audioList.SelectedIndices[0]].SubItems[5].Text, out drcValue);\r
+                drcValue = (drcValue * 10) - 10;\r
+                int.TryParse(drcValue.ToString(), out drcCalculated);\r
+                tb_drc.Value = drcCalculated;\r
+            }\r
         }\r
-\r
         private void drp_subtitle_SelectedIndexChanged(object sender, EventArgs e)\r
         {\r
             if (drp_subtitle.Text.Contains("None"))\r
@@ -1544,35 +1440,6 @@ namespace Handbrake
                 if ((oldval != "AAC") && (oldval != "AC3"))\r
                     drp_audenc_1.SelectedIndex = 0;\r
 \r
-                oldval = drp_audenc_2.Text;\r
-                drp_audenc_2.Items.Clear();\r
-                drp_audenc_2.Items.Add("AAC");\r
-                drp_audenc_2.Items.Add("AC3");\r
-                if (drp_audenc_2.Enabled)\r
-                {\r
-                    if ((oldval != "AAC") && (oldval != "AC3"))\r
-                        drp_audenc_2.SelectedIndex = 0;\r
-                }\r
-\r
-                oldval = drp_audenc_3.Text;\r
-                drp_audenc_3.Items.Clear();\r
-                drp_audenc_3.Items.Add("AAC");\r
-                drp_audenc_3.Items.Add("AC3");\r
-                if (drp_audenc_3.Enabled)\r
-                {\r
-                    if ((oldval != "AAC") && (oldval != "AC3"))\r
-                        drp_audenc_3.SelectedIndex = 0;\r
-                }\r
-\r
-                oldval = drp_audenc_4.Text;\r
-                drp_audenc_4.Items.Clear();\r
-                drp_audenc_4.Items.Add("AAC");\r
-                drp_audenc_4.Items.Add("AC3");\r
-                if (drp_audenc_4.Enabled)\r
-                {\r
-                    if ((oldval != "AAC") && (oldval != "AC3"))\r
-                        drp_audenc_4.SelectedIndex = 0;\r
-                }\r
             }\r
             else if (path.EndsWith(".avi"))\r
             {\r
@@ -1583,36 +1450,6 @@ namespace Handbrake
                 if ((oldval != "MP3") && (oldval != "AC3"))\r
                     drp_audenc_1.SelectedIndex = 0;\r
 \r
-                oldval = drp_audenc_2.Text;\r
-                drp_audenc_2.Items.Clear();\r
-                drp_audenc_2.Items.Add("MP3");\r
-                drp_audenc_2.Items.Add("AC3");\r
-                if (drp_audenc_2.Enabled)\r
-                {\r
-                    if ((oldval != "MP3") && (oldval != "AC3"))\r
-                        drp_audenc_2.SelectedIndex = 0;\r
-                }\r
-\r
-\r
-                oldval = drp_audenc_3.Text;\r
-                drp_audenc_3.Items.Clear();\r
-                drp_audenc_3.Items.Add("MP3");\r
-                drp_audenc_3.Items.Add("AC3");\r
-                if (drp_audenc_3.Enabled)\r
-                {\r
-                    if ((oldval != "MP3") && (oldval != "AC3"))\r
-                        drp_audenc_3.SelectedIndex = 0;\r
-                }\r
-\r
-                oldval = drp_audenc_4.Text;\r
-                drp_audenc_4.Items.Clear();\r
-                drp_audenc_4.Items.Add("MP3");\r
-                drp_audenc_4.Items.Add("AC3");\r
-                if (drp_audenc_4.Enabled)\r
-                {\r
-                    if ((oldval != "MP3") && (oldval != "AC3"))\r
-                        drp_audenc_4.SelectedIndex = 0;\r
-                }\r
             }\r
             else if (path.EndsWith(".ogm"))\r
             {\r
@@ -1620,20 +1457,6 @@ namespace Handbrake
                 drp_audenc_1.Items.Add("Vorbis");\r
                 drp_audenc_1.SelectedIndex = 0;\r
 \r
-                drp_audenc_2.Items.Clear();\r
-                drp_audenc_2.Items.Add("Vorbis");\r
-                if (drp_audenc_2.Enabled)\r
-                    drp_audenc_2.SelectedIndex = 0;\r
-\r
-                drp_audenc_3.Items.Clear();\r
-                drp_audenc_3.Items.Add("Vorbis");\r
-                if (drp_audenc_3.Enabled)\r
-                    drp_audenc_3.SelectedIndex = 0;\r
-\r
-                drp_audenc_4.Items.Clear();\r
-                drp_audenc_4.Items.Add("Vorbis");\r
-                if (drp_audenc_4.Enabled)\r
-                    drp_audenc_4.SelectedIndex = 0;\r
             }\r
             else if (path.EndsWith(".mkv"))\r
             {\r
@@ -1644,40 +1467,6 @@ namespace Handbrake
                 drp_audenc_1.Items.Add("Vorbis");\r
                 if (drp_audenc_1.Text == string.Empty)\r
                     drp_audenc_1.SelectedIndex = 0;\r
-\r
-\r
-                drp_audenc_2.Items.Clear();\r
-                drp_audenc_2.Items.Add("AAC");\r
-                drp_audenc_2.Items.Add("MP3");\r
-                drp_audenc_2.Items.Add("AC3");\r
-                drp_audenc_2.Items.Add("Vorbis");\r
-                if (drp_audenc_2.Enabled)\r
-                {\r
-                    if (drp_audenc_2.Text == string.Empty)\r
-                        drp_audenc_2.SelectedIndex = 0;\r
-                }\r
-\r
-                drp_audenc_3.Items.Clear();\r
-                drp_audenc_3.Items.Add("AAC");\r
-                drp_audenc_3.Items.Add("MP3");\r
-                drp_audenc_3.Items.Add("AC3");\r
-                drp_audenc_3.Items.Add("Vorbis");\r
-                if (drp_audenc_3.Enabled)\r
-                {\r
-                    if (drp_audenc_3.Text == string.Empty)\r
-                        drp_audenc_3.SelectedIndex = 0;\r
-                }\r
-\r
-                drp_audenc_4.Items.Clear();\r
-                drp_audenc_4.Items.Add("AAC");\r
-                drp_audenc_4.Items.Add("MP3");\r
-                drp_audenc_4.Items.Add("AC3");\r
-                drp_audenc_4.Items.Add("Vorbis");\r
-                if (drp_audenc_4.Enabled)\r
-                {\r
-                    if (drp_audenc_4.Text == string.Empty)\r
-                        drp_audenc_4.SelectedIndex = 0;\r
-                }\r
             }\r
         }\r
         private void setVideoByContainer(String path)\r
@@ -1786,6 +1575,7 @@ namespace Handbrake
         private void setMixDownAllOptions(ComboBox dropdown)\r
         {\r
             dropdown.Items.Clear();\r
+            dropdown.Items.Add("Automatic");\r
             dropdown.Items.Add("Mono");\r
             dropdown.Items.Add("Stereo");\r
             dropdown.Items.Add("Dolby Surround");\r
@@ -1795,6 +1585,7 @@ namespace Handbrake
         private void setMixDownNotAAC(ComboBox dropdown)\r
         {\r
             dropdown.Items.Clear();\r
+            dropdown.Items.Add("Automatic");\r
             dropdown.Items.Add("Stereo");\r
             dropdown.Items.Add("Dolby Surround");\r
             dropdown.Items.Add("Dolby Pro Logic II");\r
@@ -1814,7 +1605,7 @@ namespace Handbrake
             else\r
             {\r
                 // Just make sure not to re-enable the following boxes if the track above is none\r
-                if (drp_track2Audio.Text != "None")\r
+               /* if (drp_track2Audio.Text != "None")\r
                 {\r
                     audMix.Enabled = true;\r
                     audbit.Enabled = true;\r
@@ -1823,7 +1614,7 @@ namespace Handbrake
                     audMix.Text = "Automatic";\r
                     audbit.Text = "160";\r
                     audsr.Text = "Auto";\r
-                }\r
+                }*/\r
             }\r
         }\r
         #endregion\r
index 67ff530..f634909 100644 (file)
@@ -201,151 +201,51 @@ namespace Handbrake
 \r
             // Audio Settings Tab\r
             #region Audio\r
-\r
-            // Handle Track 1\r
-            mainWindow.drp_track1Audio.Text = "Automatic";\r
-\r
-            // Handle Track 2\r
-            if (presetQuery.AudioEncoder2 != null)  // Fix for loading in built in presets. Where 2 encoders but no tracks in the preset.\r
+            // Clear the audio listing\r
+            mainWindow.lv_audioList.Items.Clear();\r
+\r
+            // Create a new row for the Audio list based on the currently selected items in the dropdown.\r
+            ListViewItem newTrack = new ListViewItem("Automatic");\r
+            newTrack.SubItems.Add(presetQuery.AudioEncoder1);\r
+            newTrack.SubItems.Add(presetQuery.AudioTrackMix1);\r
+            newTrack.SubItems.Add(presetQuery.AudioSamplerate1);\r
+            newTrack.SubItems.Add(presetQuery.AudioBitrate1);\r
+            newTrack.SubItems.Add(presetQuery.DRC1.ToString());\r
+            mainWindow.lv_audioList.Items.Add(newTrack);\r
+\r
+            if (presetQuery.AudioTrack2 != "None")\r
             {\r
-                mainWindow.drp_track2Audio.Enabled = true;\r
-                mainWindow.drp_audsr_2.Enabled = true;\r
-                mainWindow.drp_audmix_2.Enabled = true;\r
-                mainWindow.drp_audenc_2.Enabled = true;\r
-                mainWindow.drp_audbit_2.Enabled = true;\r
-                mainWindow.drp_audsr_2.Text = "48";\r
-                mainWindow.drp_track2Audio.Text = "Automatic";\r
-            }\r
-            else if (presetQuery.AudioTrack2 == "None")\r
-            {\r
-                mainWindow.drp_track2Audio.Text = "None";\r
-                mainWindow.drp_track2Audio.SelectedIndex = 0;\r
-                mainWindow.drp_audsr_2.Enabled = false;\r
-                mainWindow.drp_audmix_2.Enabled = false;\r
-                mainWindow.drp_audenc_2.Enabled = false;\r
-                mainWindow.drp_audbit_2.Enabled = false;\r
-            }\r
-            else\r
-            {\r
-                mainWindow.drp_track2Audio.Text = presetQuery.AudioTrack2;\r
-                mainWindow.drp_audsr_2.Enabled = true;\r
-                mainWindow.drp_audmix_2.Enabled = true;\r
-                mainWindow.drp_audenc_2.Enabled = true;\r
-                mainWindow.drp_audbit_2.Enabled = true;\r
+                newTrack = new ListViewItem("Automatic");\r
+                newTrack.SubItems.Add(presetQuery.AudioEncoder2);\r
+                newTrack.SubItems.Add(presetQuery.AudioTrackMix2);\r
+                newTrack.SubItems.Add(presetQuery.AudioSamplerate2);\r
+                newTrack.SubItems.Add(presetQuery.AudioBitrate2);\r
+                newTrack.SubItems.Add(presetQuery.DRC2.ToString());\r
+                mainWindow.lv_audioList.Items.Add(newTrack);\r
             }\r
 \r
-            // Handle Track 3\r
-            if (presetQuery.AudioTrack3 == "None")\r
+            if (presetQuery.AudioTrack3 != "None")\r
             {\r
-                mainWindow.drp_track3Audio.SelectedIndex = 0;\r
-                mainWindow.drp_audsr_3.Enabled = false;\r
-                mainWindow.drp_audmix_3.Enabled = false;\r
-                mainWindow.drp_audenc_3.Enabled = false;\r
-                mainWindow.drp_audbit_3.Enabled = false;\r
-                mainWindow.trackBar3.Enabled = false;\r
-\r
-                mainWindow.drp_track3Audio.Text = "None";\r
-                mainWindow.drp_audsr_3.Text = "";\r
-                mainWindow.drp_audmix_3.Text = "Automatic";\r
-                mainWindow.drp_audenc_3.Text = "";\r
-                mainWindow.drp_audbit_3.Text = "";\r
-                mainWindow.trackBar3.Value = 0;\r
-\r
-            }\r
-            else\r
-            {\r
-                mainWindow.drp_track3Audio.Text = presetQuery.AudioTrack3;\r
-                mainWindow.drp_audsr_3.Enabled = true;\r
-                mainWindow.drp_audmix_3.Enabled = true;\r
-                mainWindow.drp_audenc_3.Enabled = true;\r
-                mainWindow.drp_audbit_3.Enabled = true;\r
-                mainWindow.trackBar3.Enabled = true;\r
+                newTrack = new ListViewItem("Automatic");\r
+                newTrack.SubItems.Add(presetQuery.AudioEncoder3);\r
+                newTrack.SubItems.Add(presetQuery.AudioTrackMix3);\r
+                newTrack.SubItems.Add(presetQuery.AudioSamplerate3);\r
+                newTrack.SubItems.Add(presetQuery.AudioBitrate3);\r
+                newTrack.SubItems.Add(presetQuery.DRC3.ToString());\r
+                mainWindow.lv_audioList.Items.Add(newTrack);\r
             }\r
 \r
-            // Handle Track 4\r
-            if (presetQuery.AudioTrack4 == "None")\r
-            {\r
-                mainWindow.drp_track4Audio.SelectedIndex = 0;\r
-                mainWindow.drp_audsr_4.Enabled = false;\r
-                mainWindow.drp_audmix_4.Enabled = false;\r
-                mainWindow.drp_audenc_4.Enabled = false;\r
-                mainWindow.drp_audbit_4.Enabled = false;\r
-                mainWindow.trackBar4.Enabled = false;\r
-\r
-                mainWindow.drp_track4Audio.Text = "None";\r
-                mainWindow.drp_audsr_4.Text = "";\r
-                mainWindow.drp_audmix_4.Text = "Automatic";\r
-                mainWindow.drp_audenc_4.Text = "";\r
-                mainWindow.drp_audbit_4.Text = "";\r
-                mainWindow.trackBar4.Value = 0;\r
-            }\r
-            else\r
+            if (presetQuery.AudioTrack4 != "None")\r
             {\r
-                mainWindow.drp_track4Audio.Text = presetQuery.AudioTrack4;\r
-                mainWindow.drp_audsr_4.Enabled = true;\r
-                mainWindow.drp_audmix_4.Enabled = true;\r
-                mainWindow.drp_audenc_4.Enabled = true;\r
-                mainWindow.drp_audbit_4.Enabled = true;\r
-                mainWindow.trackBar4.Enabled = true;\r
+                newTrack = new ListViewItem("Automatic");\r
+                newTrack.SubItems.Add(presetQuery.AudioEncoder4);\r
+                newTrack.SubItems.Add(presetQuery.AudioTrackMix4);\r
+                newTrack.SubItems.Add(presetQuery.AudioSamplerate4);\r
+                newTrack.SubItems.Add(presetQuery.AudioBitrate4);\r
+                newTrack.SubItems.Add(presetQuery.DRC4.ToString());\r
+                mainWindow.lv_audioList.Items.Add(newTrack);\r
             }\r
 \r
-            // Now lets start setting stuff\r
-            if (presetQuery.AudioEncoder1 != null)\r
-                mainWindow.drp_audenc_1.Text = presetQuery.AudioEncoder1;\r
-            mainWindow.drp_audenc_2.Text = presetQuery.AudioEncoder2;\r
-            mainWindow.drp_audenc_3.Text = presetQuery.AudioEncoder3;\r
-            mainWindow.drp_audenc_4.Text = presetQuery.AudioEncoder4;\r
-\r
-            mainWindow.drp_audmix_1.Text = presetQuery.AudioTrackMix1;\r
-            mainWindow.drp_audmix_2.Text = presetQuery.AudioTrackMix2;\r
-            mainWindow.drp_audmix_3.Text = presetQuery.AudioTrackMix3;\r
-            mainWindow.drp_audmix_4.Text = presetQuery.AudioTrackMix4;\r
-\r
-            if (presetQuery.AudioBitrate1 != null)\r
-                mainWindow.drp_audbit_1.Text = presetQuery.AudioBitrate1;\r
-            mainWindow.drp_audbit_2.Text = presetQuery.AudioBitrate2;\r
-            mainWindow.drp_audbit_3.Text = presetQuery.AudioBitrate4;\r
-            mainWindow.drp_audbit_3.Text = presetQuery.AudioBitrate4;\r
-\r
-            if (presetQuery.AudioSamplerate1 != null)\r
-                mainWindow.drp_audsr_1.Text = presetQuery.AudioSamplerate1;\r
-            mainWindow.drp_audsr_2.Text = presetQuery.AudioSamplerate2;\r
-            mainWindow.drp_audsr_3.Text = presetQuery.AudioSamplerate3;\r
-            mainWindow.drp_audsr_4.Text = presetQuery.AudioSamplerate4;\r
-\r
-            // Dynamic Range Compression (Should be a float but we use double for ease)\r
-            double value = 0;\r
-            double actualValue = 0;\r
-\r
-            value = presetQuery.DRC1;\r
-            if (value > 0)\r
-                value = value - 10;\r
-            mainWindow.trackBar1.Value = int.Parse(value.ToString());\r
-            actualValue = presetQuery.DRC1 / 10;\r
-            mainWindow.lbl_drc1.Text = actualValue.ToString();\r
-\r
-            value = presetQuery.DRC2;\r
-            if (value > 0)\r
-                value = value - 10;\r
-            mainWindow.trackBar2.Value = int.Parse(value.ToString());\r
-            actualValue = presetQuery.DRC2 / 10;\r
-            mainWindow.lbl_drc2.Text = actualValue.ToString();\r
-\r
-            value = presetQuery.DRC3;\r
-            if (value > 0)\r
-                value = value - 10;\r
-            mainWindow.trackBar3.Value = int.Parse(value.ToString());\r
-            actualValue = presetQuery.DRC3 / 10;\r
-            mainWindow.lbl_drc3.Text = actualValue.ToString();\r
-\r
-            value = presetQuery.DRC4;\r
-            if (value > 0)\r
-                value = value - 10;\r
-            mainWindow.trackBar4.Value = int.Parse(value.ToString());\r
-            actualValue = presetQuery.DRC4 / 10;\r
-            mainWindow.lbl_drc4.Text = actualValue.ToString();\r
-\r
-\r
             // Subtitle Stuff\r
             mainWindow.drp_subtitle.Text = presetQuery.Subtitles;\r
 \r
@@ -357,7 +257,6 @@ namespace Handbrake
             else\r
                 mainWindow.check_forced.CheckState = CheckState.Unchecked;\r
 \r
-\r
             #endregion\r
 \r
             // H264 Tab & Preset Name\r
@@ -369,4 +268,4 @@ namespace Handbrake
             #endregion\r
         }\r
     }\r
-}\r
+}
\ No newline at end of file
index b795107..c10d3b1 100644 (file)
@@ -4,6 +4,7 @@ using System.Text;
 using System.Windows.Forms;\r
 using System.Globalization;\r
 using System.IO;\r
+using System.Collections.Generic;\r
 \r
 namespace Handbrake\r
 {\r
@@ -262,200 +263,130 @@ namespace Handbrake
 \r
             // Audio Settings Tab\r
             #region Audio Settings Tab\r
-            // Track 1\r
-            string track1 = mainWindow.drp_track1Audio.Text;\r
-            string aencoder1 = mainWindow.drp_audenc_1.Text;\r
-            string audioBitrate1 = mainWindow.drp_audbit_1.Text;\r
-            string audioSampleRate1 = mainWindow.drp_audsr_1.Text;\r
-            string Mixdown1 = mainWindow.drp_audmix_1.Text;\r
-            string drc1 = mainWindow.trackBar1.Value.ToString();\r
-\r
-            // Track 2\r
-            string track2 = mainWindow.drp_track2Audio.Text;\r
-            string aencoder2 = mainWindow.drp_audenc_2.Text;\r
-            string audioBitrate2 = mainWindow.drp_audbit_2.Text;\r
-            string audioSampleRate2 = mainWindow.drp_audsr_2.Text;\r
-            string Mixdown2 = mainWindow.drp_audmix_2.Text;\r
-            string drc2 = mainWindow.trackBar2.Value.ToString();\r
-\r
-            // Track 3\r
-            string track3 = mainWindow.drp_track3Audio.Text;\r
-            string aencoder3 = mainWindow.drp_audenc_3.Text;\r
-            string audioBitrate3 = mainWindow.drp_audbit_3.Text;\r
-            string audioSampleRate3 = mainWindow.drp_audsr_3.Text;\r
-            string Mixdown3 = mainWindow.drp_audmix_3.Text;\r
-            string drc3 = mainWindow.trackBar3.Value.ToString();\r
-\r
-            // Track 4\r
-            string track4 = mainWindow.drp_track4Audio.Text;\r
-            string aencoder4 = mainWindow.drp_audenc_4.Text;\r
-            string audioBitrate4 = mainWindow.drp_audbit_4.Text;\r
-            string audioSampleRate4 = mainWindow.drp_audsr_4.Text;\r
-            string Mixdown4 = mainWindow.drp_audmix_4.Text;\r
-            string drc4 = mainWindow.trackBar4.Value.ToString();\r
-\r
-            //\r
-            // Audio Track Selections\r
-            //\r
-            if (track1 == "Automatic")\r
-                query += " -a 1";\r
-            else if (track1 != "None")\r
-            {\r
-                string[] tempSub = track1.Split(' ');\r
-                query += " -a " + tempSub[0];\r
-            }\r
 \r
-            if (track2 == "Automatic")\r
-                query += ",1";\r
-            else if (track2 != "None")\r
+            ListView audioTracks = mainWindow.lv_audioList;\r
+            List<string> tracks = new List<string>();\r
+            List<string> codecs = new List<string>();\r
+            List<string> mixdowns = new List<string>();\r
+            List<string> samplerates = new List<string>();\r
+            List<string> bitrates = new List<string>();\r
+            List<string> drcs = new List<string>();\r
+\r
+            // Gather information about each audio track and store them in the declared lists.\r
+            foreach (ListViewItem row in audioTracks.Items)\r
             {\r
-                string[] tempSub;\r
-                tempSub = track2.Split(' ');\r
+                // Audio Track (-a)\r
+                String track = String.Empty;\r
+                if (row.Text == "Automatic")\r
+                    tracks.Add("1");\r
+                else if (row.Text != "None")\r
+                {\r
+                    string[] tempSub = row.Text.Split(' ');\r
+                    tracks.Add(tempSub[0]);\r
+                }\r
 \r
-                if (track1 == "None")\r
-                    query += " -a none," + tempSub[0];\r
-                else\r
-                    query += "," + tempSub[0];\r
+                // Audio Codec (-E)\r
+                if (row.SubItems[1].Text != String.Empty)\r
+                    codecs.Add(getAudioEncoder(row.SubItems[1].Text));\r
+\r
+                // Audio Mixdown (-6)\r
+                if (row.SubItems[2].Text != String.Empty)\r
+                    mixdowns.Add(getMixDown(row.SubItems[2].Text));\r
+\r
+                // Sample Rate (-R)\r
+                if (row.SubItems[3].Text != String.Empty)\r
+                    samplerates.Add(row.SubItems[3].Text.Replace("Auto", "0"));\r
+\r
+                // Audio Bitrate (-B)\r
+                if (row.SubItems[4].Text != String.Empty)\r
+                    bitrates.Add(row.SubItems[4].Text.Replace("Auto", "0"));\r
+\r
+                // DRC (-D)\r
+                if (row.SubItems[5].Text != String.Empty)\r
+                    drcs.Add(row.SubItems[5].Text);\r
             }\r
 \r
-            if (track3 != "None")\r
+            // Audio Track (-a)\r
+            String audioItems = "";\r
+            Boolean firstLoop = true;\r
+\r
+            foreach (String item in tracks)\r
             {\r
-                string[] tempSub;\r
-                tempSub = track3.Split(' ');\r
-                query += "," + tempSub[0];\r
+                if (firstLoop == true)\r
+                {\r
+                    audioItems = item; firstLoop = false;\r
+                }\r
+                else\r
+                    audioItems += "," + item;\r
             }\r
+            query += " -a " + audioItems;\r
+            firstLoop = true; audioItems = ""; // Reset for another pass.\r
 \r
-            if (track4 != "None")\r
+            // Audio Codec (-E)\r
+            foreach (String item in codecs)\r
             {\r
-                string[] tempSub;\r
-                tempSub = track4.Split(' ');\r
-                query += "," + tempSub[0];\r
+                if (firstLoop == true)\r
+                {\r
+                    audioItems = item; firstLoop = false;\r
+                }\r
+                else\r
+                    audioItems += "," + item;\r
             }\r
+            query += " -E " + audioItems;\r
+            firstLoop = true; audioItems = ""; // Reset for another pass.\r
 \r
-            //\r
-            // Audio Encoder\r
-            //\r
-            if (aencoder1 != "")\r
-                query += " -E " + getAudioEncoder(aencoder1);\r
-\r
-            if (aencoder2 != "")\r
+            // Audio Mixdown (-6)\r
+            foreach (String item in mixdowns)\r
             {\r
-                if (aencoder1 == string.Empty)\r
-                    query += " -E faac," + getAudioEncoder(aencoder2);\r
+                if (firstLoop == true)\r
+                {\r
+                    audioItems = item; firstLoop = false;\r
+                }\r
                 else\r
-                    query += "," + getAudioEncoder(aencoder2);\r
+                    audioItems += "," + item;\r
             }\r
+            query += " -6 " + audioItems;\r
+            firstLoop = true; audioItems = ""; // Reset for another pass.\r
 \r
-            if (aencoder3 != "")\r
-                query += "," + getAudioEncoder(aencoder3);\r
-\r
-            if (aencoder4 != "")\r
-                query += "," + getAudioEncoder(aencoder4);\r
-\r
-            //\r
-            // Audio Bitrate Selections\r
-            //\r
-            if (audioBitrate1 != "")\r
-                query += " -B " + audioBitrate1;\r
-\r
-            if (audioBitrate2 != "")\r
+            // Sample Rate (-R)\r
+            foreach (String item in samplerates)\r
             {\r
-                if (audioBitrate1 == string.Empty)\r
-                    query += " -B 160," + audioBitrate2;\r
+                if (firstLoop == true)\r
+                {\r
+                    audioItems = item; firstLoop = false;\r
+                }\r
                 else\r
-                    query += "," + audioBitrate2;\r
+                    audioItems += "," + item;\r
             }\r
+            query += " -R " + audioItems;\r
+            firstLoop = true; audioItems = ""; // Reset for another pass.\r
 \r
-            if (audioBitrate3 != "")\r
-                query += "," + audioBitrate3;\r
-\r
-            if (audioBitrate4 != "")\r
-                query += "," + audioBitrate4;\r
-\r
-\r
-            //Audio Sample Rate   - audioSampleRate\r
-            if (audioSampleRate1 != "")\r
-                query += " -R " + audioSampleRate1.Replace("Auto", "0");\r
-\r
-            if (audioSampleRate2 != "")\r
+            // Audio Bitrate (-B)\r
+            foreach (String item in bitrates)\r
             {\r
-                if (audioSampleRate1 == string.Empty)\r
-                    query += " -R 0," + audioSampleRate2.Replace("Auto", "0");\r
+                if (firstLoop == true)\r
+                {\r
+                    audioItems = item; firstLoop = false;\r
+                }\r
                 else\r
-                    query += "," + audioSampleRate2.Replace("Auto", "0");\r
+                    audioItems += "," + item;\r
             }\r
-            else\r
-            {\r
-                // All this is a hack, because when AppleTV is selected, there is no sample rate selected. so just add a 48\r
-                // It should probably be setup later so the GUI widget has the value 48 in it.\r
+            query += " -B " + audioItems;\r
+            firstLoop = true; audioItems = ""; // Reset for another pass.\r
 \r
-                if ((track2 != "") && (track2 != "None"))\r
+            // DRC (-D)\r
+            foreach (String item in drcs)\r
+            {\r
+                if (firstLoop == true)\r
                 {\r
-                    if (audioSampleRate1 == string.Empty)\r
-                        query += " -R 0,0";\r
-                    else\r
-                        query += ",0";\r
+                    audioItems = item; firstLoop = false;\r
                 }\r
+                else\r
+                    audioItems += "," + item;\r
             }\r
+            query += " -D " + audioItems;\r
+            firstLoop = true; audioItems = ""; // Reset for another pass.\r
 \r
-            if (audioSampleRate3 != "")\r
-                query += "," + audioSampleRate3.Replace("Auto", "0");\r
-\r
-            if (audioSampleRate4 != "")\r
-                query += "," + audioSampleRate4.Replace("Auto", "0");\r
-\r
-            //\r
-            // Audio Mixdown Selections\r
-            //\r
-\r
-            if (Mixdown1 != "")\r
-                query += " -6 " + getMixDown(Mixdown1);\r
-            else\r
-                query += " -6 dpl2";\r
-\r
-            if (Mixdown2 != "" && track2 != "None")\r
-                query += "," + getMixDown(Mixdown2);\r
-\r
-            if (Mixdown3 != "" && track3 != "None" && track2 != "None")\r
-                query += "," + getMixDown(Mixdown3);\r
-\r
-            if (Mixdown4 != "" && track4 != "None" && track3 != "None")\r
-                query += "," + getMixDown(Mixdown4);\r
-\r
-\r
-            //\r
-            // DRC\r
-            //\r
-            double value = 0;\r
-\r
-            value = mainWindow.trackBar1.Value / 10.0;\r
-            value++;\r
-\r
-            if (value > 1.0)\r
-                query += " -D " + value;\r
-            else\r
-                query += " -D 1";\r
-\r
-            value = mainWindow.trackBar2.Value / 10.0;\r
-            value++;\r
-            if (track2 != "None" && drc2 != "0")\r
-                query += "," + value;\r
-            else if (track2 != "None" && drc2 == "0")\r
-                query += ",1";\r
-\r
-            value = mainWindow.trackBar3.Value / 10.0;\r
-            value++;\r
-            if (track3 != "None" && drc3 != "0")\r
-                query += "," + value;\r
-            else if (track3 != "None" && drc3 == "0")\r
-                query += ",1";\r
-\r
-            value = mainWindow.trackBar4.Value / 10.0;\r
-            value++;\r
-            if (track4 != "None" && drc4 != "0")\r
-                query += "," + value;\r
-            else if (track4 != "None" && drc4 == "0")\r
-                query += ",1";\r
 \r
             // Subtitles\r
             string subtitles = mainWindow.drp_subtitle.Text;\r
@@ -536,7 +467,7 @@ namespace Handbrake
             switch (selectedAudio)\r
             {\r
                 case "Automatic":\r
-                    return "dpl2";\r
+                    return "auto";\r
                 case "Mono":\r
                     return "mono";\r
                 case "Stereo":\r
@@ -548,7 +479,7 @@ namespace Handbrake
                 case "6 Channel Discrete":\r
                     return "6ch";\r
                 default:\r
-                    return "dpl2";\r
+                    return "auto";\r
             }\r
         }\r
 \r
@@ -609,4 +540,4 @@ namespace Handbrake
             }\r
         }\r
     }\r
-}\r
+}
\ No newline at end of file