Пример #1
0
        private static void SaveDictionaryToXmlNode(Dictionary <decimal, string> dict, EnhancedXmlDocument xmlDoc, XmlElement parentNode, string mainNodeName, string nodeName)
        {
            var mainNode = xmlDoc.CreateElement(mainNodeName);

            parentNode.AppendChild(mainNode);

            foreach (var keyAndValue in dict)
            {
                var node = xmlDoc.CreateElement(nodeName);
                node.SetAttribute("value", keyAndValue.Key.ToString());
                node.SetAttribute("title", keyAndValue.Value);
                mainNode.AppendChild(node);
            }
        }
Пример #2
0
        public void SaveToXmlnode(EnhancedXmlDocument xmlDoc, XmlElement parentNode)
        {
            var node = xmlDoc.CreateElement("Container");

            node.SetAttribute("name", Name);
            node.SetAttribute("title", Title);
            node.SetAttribute("ext", Extension);

            var exts = String.Join(",", ExtensionList);

            node.SetAttribute("extList", exts);

            if (Default)
            {
                node.SetAttribute("default", "true");
            }

            if (!Encode)
            {
                node.SetAttribute("encode", "false");
            }

            node.SetAttribute("link", Link);

            parentNode.AppendChild(node);
        }
Пример #3
0
        public void SaveToXmlnode(EnhancedXmlDocument xmlDoc, XmlElement parentNode)
        {
            var node = xmlDoc.CreateElement("Codec");

            node.SetAttribute("name", Name);
            node.SetAttribute("title", Title);
            node.SetAttribute("link", Link);
            node.SetAttribute("cmd", Command);

            if (!string.IsNullOrEmpty(HWAcceleration))
            {
                node.SetAttribute("hwaccel", HWAcceleration);
            }

            if (!Encode)
            {
                node.SetAttribute("encode", "false");
            }

            parentNode.AppendChild(node);
        }
Пример #4
0
        public static void Save(string filename)
        {
            var xmlDoc   = new EnhancedXmlDocument();
            var rootNode = xmlDoc.CreateElement("MediaConvertGUIConfiguration");

            xmlDoc.AppendChild(rootNode);

            xmlDoc.CreateTextSingleValueElement(rootNode, "MediaInfoPath", MediaInfoPath);
            xmlDoc.CreateTextSingleValueElement(rootNode, "FFMpegPath", FFMpegPath);

            var appNode = xmlDoc.CreateElement("Applications");

            rootNode.AppendChild(appNode);

            var appOpenWithNode = xmlDoc.CreateElement("OpenWith");

            appNode.AppendChild(appOpenWithNode);

            var appOpenWithCommentNode = xmlDoc.CreateComment(" <Application>vlc</Application> ");

            appOpenWithNode.AppendChild(appOpenWithCommentNode);

            foreach (var app in OpenWithApplications)
            {
                var node = xmlDoc.CreateElement("Application");
                node.InnerText = app;
                appOpenWithNode.AppendChild(node);
            }

            var codecsNode      = xmlDoc.CreateElement("AvailableCodecs");
            var videoCodecsNode = xmlDoc.CreateElement("Video");
            var audioCodecsNode = xmlDoc.CreateElement("Audio");

            rootNode.AppendChild(codecsNode);
            codecsNode.AppendChild(videoCodecsNode);
            codecsNode.AppendChild(audioCodecsNode);

            foreach (var codec in VideoCodecs)
            {
                codec.SaveToXmlnode(xmlDoc, videoCodecsNode);
            }

            foreach (var codec in AudioCodecs)
            {
                codec.SaveToXmlnode(xmlDoc, audioCodecsNode);
            }

            var containersNode = xmlDoc.CreateElement("AvailableContainers");

            rootNode.AppendChild(containersNode);

            foreach (var container in Containers)
            {
                container.SaveToXmlnode(xmlDoc, containersNode);
            }

            SaveDictionaryToXmlNode(DefaultVideoBitRates, xmlDoc, rootNode, "DefaultVideoBitrates", "Bitrate");
            SaveDictionaryToXmlNode(DefaultSamplingRates, xmlDoc, rootNode, "DefaultSamplingRates", "Rate");
            SaveDictionaryToXmlNode(DefaultAudioBitrates, xmlDoc, rootNode, "DefaultAudioBitrates", "Bitrate");

            xmlDoc.Save(filename);
        }