Homepage: <http://handbrake.fr/>.\r
It may be used under the terms of the GNU General Public License. */\r
\r
-using System;\r
-using System.IO;\r
-using System.Text;\r
-using System.Xml;\r
-using System.Windows.Forms;\r
-using System.Collections;\r
-using Handbrake.Functions;\r
-using Handbrake.Model;\r
-\r
namespace Handbrake.Presets\r
{\r
+ using System;\r
+ using System.Collections;\r
+ using System.IO;\r
+ using System.Text;\r
+ using System.Windows.Forms;\r
+ using System.Xml;\r
+ using Functions;\r
+ using Model;\r
+\r
public class PlistPresetHandler\r
{\r
/* WARNING This file is not complete!!!!!!\r
if (!root.HasChildNodes)\r
{\r
MessageBox.Show(\r
- "The Preset file you selected appears to be invlaid or from an older version of HandBrake", "Error",\r
+ "The Preset file you selected appears to be invlaid or from an older version of HandBrake", \r
+ "Error", \r
MessageBoxButtons.OK, MessageBoxIcon.Error);\r
return null;\r
}\r
catch (Exception)\r
{\r
MessageBox.Show(\r
- "The Preset file you selected appears to be invlaid or from an older version of HandBrake.\n\n Please note, if you are exporting from the MacGui you may need to rebuild your preset so that it uses the current preset plist format.\n The MacGui does not currently update user presets automatically.", "Error",\r
- MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+ "The Preset file you selected appears to be invlaid or from an older version of HandBrake.\n\n Please note, if you are exporting from the MacGui you may need to rebuild your preset so that it uses the current preset plist format.\n The MacGui does not currently update user presets automatically.", \r
+ "Error", \r
+ MessageBoxButtons.OK, MessageBoxIcon.Error);\r
}\r
\r
// We'll query a query parser object and use it's public var structures to store all the data.\r
\r
/***** Get the rest of the settings. *****/\r
XmlNode presetSettings = root.ChildNodes[2].ChildNodes[0].FirstChild;\r
- for (int i = 2; i < presetSettings.ChildNodes.Count; i += 2) // 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
+ // Start from 2 to avoid the audio settings which we don't need.\r
{\r
string key = presetSettings.ChildNodes[i].InnerText;\r
string value = presetSettings.ChildNodes[i + 1].InnerText;\r
\r
switch (key)\r
{\r
- // Output Settings\r
+ // Output Settings\r
case "FileFormat":\r
queryParsed.Format = value;\r
break;\r
queryParsed.IpodAtom = value == "1";\r
break;\r
\r
- // Picture Settings\r
+ // Picture Settings\r
case "PictureAutoCrop":\r
break;\r
case "PictureTopCrop":\r
break;\r
\r
\r
- // Filters\r
+ // Filters\r
case "PictureDeblock":\r
queryParsed.DeBlock = int.Parse(value);\r
break;\r
if (value == "2") queryParsed.Decomb = "Default";\r
break;\r
case "PictureDecombCustom":\r
- if (value != "")\r
+ if (value != string.Empty)\r
queryParsed.Decomb = value;\r
break;\r
case "PictureDecombDeinterlace":\r
}\r
break;\r
case "PictureDeinterlaceCustom":\r
- if (value != "")\r
+ if (value != string.Empty)\r
queryParsed.DeInterlace = value;\r
break;\r
case "PictureDenoise":\r
\r
break;\r
case "PictureDenoiseCustom":\r
- if (value != "")\r
+ if (value != string.Empty)\r
queryParsed.DeNoise = value;\r
break;\r
case "PictureDetelecine":\r
if (value == "1") queryParsed.DeTelecine = "Default";\r
break;\r
case "PictureDetelecineCustom":\r
- if (value != "")\r
+ if (value != string.Empty)\r
queryParsed.DeTelecine = value;\r
break;\r
\r
- // Video Tab\r
+ // Video Tab\r
case "VideoAvgBitrate":\r
queryParsed.Width = int.Parse(value);\r
break;\r
queryParsed.TwoPass = value == "1";\r
break;\r
\r
- // Chapter Markers Tab\r
+ // Chapter Markers Tab\r
case "ChapterMarkers":\r
queryParsed.ChapterMarkers = value == "1";\r
break;\r
\r
- // Advanced x264 tab\r
+ // Advanced x264 tab\r
case "x264Option":\r
queryParsed.H264Query = value;\r
break;\r
\r
- // Preset Information\r
+ // Preset Information\r
case "PresetBuildNumber":\r
queryParsed.PresetBuildNumber = int.Parse(value);\r
break;\r
\r
// Header\r
Writer.WriteStartDocument();\r
- Writer.WriteDocType("plist", "-//Apple//DTD PLIST 1.0//EN", @"http://www.apple.com/DTDs/PropertyList-1.0.dtd", null);\r
+ Writer.WriteDocType("plist", "-//Apple//DTD PLIST 1.0//EN", \r
+ @"http://www.apple.com/DTDs/PropertyList-1.0.dtd", null);\r
\r
Writer.WriteStartElement("plist");\r
Writer.WriteStartElement("array");\r
// Closeout\r
Writer.Close();\r
}\r
- \r
+\r
/// <summary>\r
/// Write a Plist file\r
/// </summary>\r
/// </summary>\r
private void AddEncodeSettings()\r
{\r
- AddEncodeElement("ChapterMarkers", "integer", "");\r
- AddEncodeElement("Default", "integer", "");\r
- AddEncodeElement("FileFormat", "String", "");\r
+ AddEncodeElement("ChapterMarkers", "integer", string.Empty);\r
+ AddEncodeElement("Default", "integer", string.Empty);\r
+ AddEncodeElement("FileFormat", "String", string.Empty);\r
AddBooleanElement("Folder", true);\r
- AddEncodeElement("Mp4HttpOptimize", "integer", "");\r
- AddEncodeElement("Mp4LargeFile", "integer", "");\r
- AddEncodeElement("Mp4iPodCompatible", "integer", "");\r
- AddEncodeElement("PictureAutoCrop", "integer", "");\r
- AddEncodeElement("PictureBottomCrop", "integer", "");\r
- AddEncodeElement("PictureDeblock", "integer", "");\r
- AddEncodeElement("PictureDecomb", "integer", "");\r
- AddEncodeElement("PictureDecombCustom", "string", "");\r
- AddEncodeElement("PictureDecombDeinterlace", "integer", "");\r
- AddEncodeElement("PictureDeinterlace", "integer", "");\r
- AddEncodeElement("PictureDeinterlaceCustom", "string", "");\r
- AddEncodeElement("PictureDenoise", "integer", "");\r
- AddEncodeElement("PictureDenoiseCustom", "string", "");\r
- AddEncodeElement("PictureDetelecine", "integer", "");\r
- AddEncodeElement("PictureDetelecineCustom", "string", "");\r
- AddEncodeElement("PictureHeight", "integer", "");\r
- AddEncodeElement("PictureKeepRatio", "integer", "");\r
- AddEncodeElement("PictureLeftCrop", "integer", "");\r
- AddEncodeElement("PicturePAR", "integer", "");\r
- AddEncodeElement("PictureRightCrop", "integer", "");\r
- AddEncodeElement("PictureTopCrop", "integer", "");\r
- AddEncodeElement("PictureWidth", "integer", "");\r
- AddEncodeElement("PresetBuildNumber", "string", "");\r
- AddEncodeElement("PresetDescription", "string", "");\r
- AddEncodeElement("PresetName", "string", "");\r
- AddEncodeElement("Type", "integer", "");\r
- AddEncodeElement("UsesMaxPictureSettings", "integer", "");\r
- AddEncodeElement("UsesPictureFilters", "integer", "");\r
- AddEncodeElement("UsesPictureSettings", "integer", "");\r
- AddEncodeElement("VideoAvgBitrate", "string", "");\r
- AddEncodeElement("VideoEncoder", "string", "");\r
- AddEncodeElement("VideoFramerate", "string", "");\r
- AddEncodeElement("VideoGrayScale", "integer", "");\r
- AddEncodeElement("VideoQualitySlider", "real", "");\r
- AddEncodeElement("VideoQualityType", "integer", "");\r
- AddEncodeElement("VideoTargetSize", "string", "");\r
- AddEncodeElement("VideoTurboTwoPass", "integer", "");\r
- AddEncodeElement("VideoTwoPass", "integer", "");\r
- AddEncodeElement("x264Option", "string", "");\r
+ AddEncodeElement("Mp4HttpOptimize", "integer", string.Empty);\r
+ AddEncodeElement("Mp4LargeFile", "integer", string.Empty);\r
+ AddEncodeElement("Mp4iPodCompatible", "integer", string.Empty);\r
+ AddEncodeElement("PictureAutoCrop", "integer", string.Empty);\r
+ AddEncodeElement("PictureBottomCrop", "integer", string.Empty);\r
+ AddEncodeElement("PictureDeblock", "integer", string.Empty);\r
+ AddEncodeElement("PictureDecomb", "integer", string.Empty);\r
+ AddEncodeElement("PictureDecombCustom", "string", string.Empty);\r
+ AddEncodeElement("PictureDecombDeinterlace", "integer", string.Empty);\r
+ AddEncodeElement("PictureDeinterlace", "integer", string.Empty);\r
+ AddEncodeElement("PictureDeinterlaceCustom", "string", string.Empty);\r
+ AddEncodeElement("PictureDenoise", "integer", string.Empty);\r
+ AddEncodeElement("PictureDenoiseCustom", "string", string.Empty);\r
+ AddEncodeElement("PictureDetelecine", "integer", string.Empty);\r
+ AddEncodeElement("PictureDetelecineCustom", "string", string.Empty);\r
+ AddEncodeElement("PictureHeight", "integer", string.Empty);\r
+ AddEncodeElement("PictureKeepRatio", "integer", string.Empty);\r
+ AddEncodeElement("PictureLeftCrop", "integer", string.Empty);\r
+ AddEncodeElement("PicturePAR", "integer", string.Empty);\r
+ AddEncodeElement("PictureRightCrop", "integer", string.Empty);\r
+ AddEncodeElement("PictureTopCrop", "integer", string.Empty);\r
+ AddEncodeElement("PictureWidth", "integer", string.Empty);\r
+ AddEncodeElement("PresetBuildNumber", "string", string.Empty);\r
+ AddEncodeElement("PresetDescription", "string", string.Empty);\r
+ AddEncodeElement("PresetName", "string", string.Empty);\r
+ AddEncodeElement("Type", "integer", string.Empty);\r
+ AddEncodeElement("UsesMaxPictureSettings", "integer", string.Empty);\r
+ AddEncodeElement("UsesPictureFilters", "integer", string.Empty);\r
+ AddEncodeElement("UsesPictureSettings", "integer", string.Empty);\r
+ AddEncodeElement("VideoAvgBitrate", "string", string.Empty);\r
+ AddEncodeElement("VideoEncoder", "string", string.Empty);\r
+ AddEncodeElement("VideoFramerate", "string", string.Empty);\r
+ AddEncodeElement("VideoGrayScale", "integer", string.Empty);\r
+ AddEncodeElement("VideoQualitySlider", "real", string.Empty);\r
+ AddEncodeElement("VideoQualityType", "integer", string.Empty);\r
+ AddEncodeElement("VideoTargetSize", "string", string.Empty);\r
+ AddEncodeElement("VideoTurboTwoPass", "integer", string.Empty);\r
+ AddEncodeElement("VideoTwoPass", "integer", string.Empty);\r
+ AddEncodeElement("x264Option", "string", string.Empty);\r
}\r
\r
/// <summary>\r
/// </summary>\r
/// <param name="keyName"></param>\r
/// <param name="value"></param>\r
- private void AddBooleanElement(string keyName, Boolean value)\r
+ private void AddBooleanElement(string keyName, bool value)\r
{\r
Writer.WriteStartElement("key");\r
Writer.WriteString(keyName);\r