WinGui: Fix the plist importer. New Passthru keys added.
authorsr55 <sr55.hb@outlook.com>
Sat, 4 Feb 2012 16:45:29 +0000 (16:45 +0000)
committersr55 <sr55.hb@outlook.com>
Sat, 4 Feb 2012 16:45:29 +0000 (16:45 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4437 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/CS/HandBrake.ApplicationServices/Utilities/PlistUtility.cs
win/CS/HandBrake.ApplicationServices/Utilities/QueryGeneratorUtility.cs
win/CS/frmMain.cs

index 19a98c3f5b8649328cabc429df16bbebb1e932a8..1d2e4d3afc406db1caf85551c65372d3bf79ef05 100644 (file)
@@ -42,7 +42,7 @@ namespace HandBrake.ApplicationServices.Utilities
             string qualityMode = string.Empty;\r
 \r
             #region Get a List of Audio Track Objects\r
-            XmlNode audioListDict = root.ChildNodes[2].ChildNodes[0].FirstChild.ChildNodes[1];\r
+            XmlNode audioListDict = root.ChildNodes[2].ChildNodes[0].FirstChild.ChildNodes[13];\r
             ObservableCollection<AudioTrack> audioTracks = new ObservableCollection<AudioTrack>();\r
 \r
             for (int i = 0; i < audioListDict.ChildNodes.Count; i++)\r
@@ -76,7 +76,7 @@ namespace HandBrake.ApplicationServices.Utilities
                             track.DRC = double.Parse(value);\r
                             break;\r
                         case "AudioTrackGainSlider":\r
-                            track.Gain = int.Parse(value);\r
+                            track.Gain = int.Parse(value.Replace("0.0", "0"));\r
                             break;\r
                     }\r
                 }\r
@@ -90,7 +90,7 @@ namespace HandBrake.ApplicationServices.Utilities
             XmlNode presetSettings = root.ChildNodes[2].ChildNodes[0].FirstChild;\r
 \r
             // Start from 2 to avoid the audio settings which we don't need.\r
-            for (int i = 2; i < presetSettings.ChildNodes.Count; i += 2)\r
+            for (int i = 0; i < presetSettings.ChildNodes.Count; i += 2)\r
             {\r
                 string key = presetSettings.ChildNodes[i].InnerText;\r
                 string value = presetSettings.ChildNodes[i + 1].InnerText;\r
@@ -321,6 +321,26 @@ namespace HandBrake.ApplicationServices.Utilities
                     case "UsesPictureSettings":\r
                         parsed.UsesPictureSettings = value == "1";\r
                         break;\r
+\r
+                    // Allowed Passthru\r
+                    case "AudioAllowAACPass":\r
+                        parsed.AllowedPassthruOptions.AudioAllowAACPass = value == "1";\r
+                        break;\r
+                    case "AudioAllowAC3Pass":\r
+                        parsed.AllowedPassthruOptions.AudioAllowAC3Pass = value == "1";\r
+                        break;\r
+                    case "AudioAllowDTSHDPass":\r
+                        parsed.AllowedPassthruOptions.AudioAllowDTSHDPass = value == "1";\r
+                        break;\r
+                    case "AudioAllowDTSPass":\r
+                        parsed.AllowedPassthruOptions.AudioAllowDTSPass = value == "1";\r
+                        break;\r
+                    case "AudioAllowMP3Pass":\r
+                        parsed.AllowedPassthruOptions.AudioAllowMP3Pass = value == "1";\r
+                        break;\r
+                    case "AudioEncoderFallback":\r
+                        parsed.AllowedPassthruOptions.AudioEncoderFallback = EnumHelper<AudioEncoder>.GetValue(value);\r
+                        break;\r
                 }\r
             }\r
 \r
index 2f3d2b5578356bcd1ad0f7aa29bf2c9b6de77c26..67717ecab05844b26eb7c0a20a4da9d2c9d062d6 100644 (file)
@@ -269,7 +269,11 @@ namespace HandBrake.ApplicationServices.Utilities
                         query += string.Format(" --pixel-aspect {0}:{1}", task.PixelAspectX, task.PixelAspectY);\r
                     break;\r
             }\r
-            query += " --modulus " + task.Modulus;\r
+\r
+            if (task.Modulus.HasValue)\r
+            {\r
+                query += " --modulus " + task.Modulus;\r
+            }\r
 \r
             return query;\r
         }\r
index cc2445367eba8507be9953fe681cacd91d46aae4..4e7862d99f1c8e21ec0249995d3028198a6e01e7 100644 (file)
@@ -828,20 +828,10 @@ namespace Handbrake
         /// </summary>\r
         private void ImportPreset()\r
         {\r
-            if (this.selectedTitle == null)\r
-            {\r
-                MessageBox.Show(\r
-                            "Please scan a source before trying to import a preset.",\r
-                            "Error",\r
-                            MessageBoxButtons.OK,\r
-                            MessageBoxIcon.Error);\r
-                return;\r
-            }\r
-\r
             if (openPreset.ShowDialog() == DialogResult.OK)\r
             {\r
                 EncodeTask parsed = PlistPresetHandler.Import(openPreset.FileName);\r
-                PresetLoader.LoadPreset(this, parsed);\r
+\r
                 if (presetHandler.CheckIfPresetExists(parsed.PresetName))\r
                 {\r
                     if (!presetHandler.CanUpdatePreset(parsed.PresetName))\r
@@ -861,27 +851,26 @@ namespace Handbrake
                     if (result == DialogResult.Yes)\r
                     {\r
                         Preset preset = new Preset\r
-                            {\r
-                                Name = parsed.PresetName,\r
-                                Query = QueryGenerator.GenerateFullQuery(this).Query,\r
-                                CropSettings = parsed.UsesPictureSettings,\r
-                                Task = parsed,\r
-                                AudioPassthruSettings = new AllowedPassthru(false), // TODO at a future point, support this.\r
-                            };\r
+                        {\r
+                            Name = parsed.PresetName,\r
+                            Query = QueryGeneratorUtility.GenerateQuery(parsed),\r
+                            CropSettings = parsed.UsesPictureSettings,\r
+                            Description = string.Empty,\r
+                            AudioPassthruSettings = parsed.AllowedPassthruOptions\r
+                        };\r
 \r
                         presetHandler.Update(preset);\r
                     }\r
                 }\r
                 else\r
                 {\r
-                   \r
-                    Preset preset = new Preset \r
+                    Preset preset = new Preset\r
                     {\r
                         Name = parsed.PresetName,\r
-                        Query = QueryGenerator.GenerateFullQuery(this).Query,\r
+                        Query = QueryGeneratorUtility.GenerateQuery(parsed),\r
                         CropSettings = parsed.UsesPictureSettings,\r
-                        Task = parsed,\r
-                        AudioPassthruSettings = new AllowedPassthru(false), // TODO at a future point, support this.\r
+                        Description = string.Empty,\r
+                        AudioPassthruSettings = parsed.AllowedPassthruOptions\r
                     };\r
                     \r
                     if (presetHandler.Add(preset))\r