MediaConvertGUI.MediaInfo.SaveAsSchemeToXML C# (CSharp) Method

SaveAsSchemeToXML() public method

public SaveAsSchemeToXML ( string fileName ) : void
fileName string
return void
        public void SaveAsSchemeToXML(string fileName)
        {
            // Create a new XmlTextWriter instance
            XmlTextWriter writer = new
                XmlTextWriter(fileName, Encoding.UTF8);

            writer.Formatting = Formatting.Indented;
            writer.Indentation = 4;

            // start writing!
            writer.WriteStartDocument();
            writer.WriteStartElement("MultimediaScheme");

            writer.WriteElementString("Container", MediaInfoBase.VideoContainerToFFMpegContainer[TargetContainer]);

            // Video

            writer.WriteStartElement("Video");

                writer.WriteElementString("Codec", TargetVideoCodec.ToString());

                if  (TargetVideoCodec != VideoCodecEnum.none)
                {
                    var firstVideoTrack =  FirstVideoTrack;

                    if (firstVideoTrack != null)
                    {
                        if (EditResolution)
                        {
                            writer.WriteElementString("Width", firstVideoTrack.Width.ToString());
                            writer.WriteElementString("Height", firstVideoTrack.Height.ToString());
                        }

                        if (EditAspect) writer.WriteElementString("Aspect", firstVideoTrack.Aspect);
                        if (EditBitRate) writer.WriteElementString("Bitrate", firstVideoTrack.Bitrate.ToString());
                        if (EditFrameRate) writer.WriteElementString("Framerate", firstVideoTrack.FrameRate.ToString(System.Globalization.CultureInfo.InvariantCulture));
                    }
                }

            writer.WriteEndElement();

            // Audio

            writer.WriteStartElement("Audio");

                foreach (var track in Tracks)
                {
                    if (track.TrackType == "Audio")
                    {
                        writer.WriteStartElement("Track");

                            writer.WriteElementString("Codec", track.TargetAudioCodec.ToString());

                            if  ((track.TargetAudioCodec != AudioCodecEnum.none) && (track.TargetAudioCodec != AudioCodecEnum.copy) )
                            {
                                writer.WriteElementString("Channels", track.Channels.ToString());
                                writer.WriteElementString("Bitrate", track.Bitrate.ToString());
                                writer.WriteElementString("SamplingRate", track.SamplingRateHz.ToString());
                            }

                        writer.WriteEndElement();
                    }
                }

            writer.WriteEndElement();

            writer.WriteEndDocument();
            writer.Close();
        }