Beispiel #1
0
        private static void CopyCd()
        {
            if (!Directory.Exists(outputPath))
            {
                Directory.CreateDirectory(outputPath);
            }

            char driveLetter = Char.ToUpperInvariant(drive[0]);

            if (!ignoreCdinfo)
            {
                Console.WriteLine("Retriving CD information");
                AudioCDInformation cdInformation = CdromUtils.ReadAudioCDInformation(driveLetter);
                Console.WriteLine("Saving CD information to " + MetadataFileName);
                SaveAudioCDInformation(Path.Combine(outputPath, MetadataFileName), cdInformation);
            }

            CdromFileInfo[] tracks = CdromUtils.ReadAllTracks(driveLetter);
            foreach (CdromFileInfo trackFileInfo in tracks)
            {
                try
                {
                    string outputFile = Path.Combine(outputPath, Path.GetFileName(trackFileInfo.Path));
                    CopyTrack(trackFileInfo, outputFile);
                }
                catch (Exception ex)
                {
                    Console.Error.WriteLine("ERROR: " + ex.Message);
                }
            }
        }
Beispiel #2
0
        private static void SaveAudioCDInformation(string path, AudioCDInformation cdInformation)
        {
            XmlSerializer     ser            = new XmlSerializer(typeof(AudioCDInformation));
            XmlWriterSettings writerSettings = new XmlWriterSettings();

            writerSettings.Indent = true;
            using (XmlWriter writer = XmlWriter.Create(path, writerSettings))
            {
                ser.Serialize(writer, cdInformation);
            }
        }