Esempio n. 1
0
        internal bool ExportArtwork(XMLSettings config)
        {
            if (this.Tags.Pictures.Length > 0)
            {
                try
                {
                    string   ext  = "jpg";
                    string[] mime = this.Tags.Pictures[0].MimeType.ToString().Trim().Split('/');
                    if (mime.Length > 1)
                    {
                        ext = mime[1].Replace("jpeg", "jpg");
                    }

                    string fp = Path.Combine(Path.GetDirectoryName(this.Location), config.ArtworkFileNameWithoutExtension + "." + ext);

                    if (!System.IO.File.Exists(fp))
                    {
                        using (FileStream fs = new FileStream(fp, FileMode.Create))
                        {
                            fs.Write(this.Tags.Pictures[0].Data.Data, 0, this.Tags.Pictures[0].Data.Data.Length);
                            DebugHelper.WriteLine(this.FileName + " --> exported artwork");
                        }
                    }
                    return(true);
                }
                catch (Exception ex)
                {
                    DebugHelper.WriteException(ex, "while exporting artwork");
                }
            }

            return(false);
        }
Esempio n. 2
0
        public XmlLibrary(XMLSettings config)
        {
            Report       = new ReportWriter();
            AlbumArtists = new List <XmlAlbumArtist>();
            Albums       = new List <XmlAlbum>();
            Discs        = new List <XmlDisc>();
            Tracks       = new List <XmlTrack>();

            Config = config;

            Worker.DoWork += Worker_DoWork;
        }
Esempio n. 3
0
 internal void EmbedArtwork(XMLSettings xMLSettings, ReportWriter reportWriter)
 {
     if (this.Tags.Pictures.Length == 0)
     {
         foreach (string fileName in xMLSettings.ArtworkLookupFileNames)
         {
             string fp = Path.Combine(Path.GetDirectoryName(this.Location), fileName);
             if (AddArtwork(fp))
             {
                 break;
             }
         }
     }
 }
Esempio n. 4
0
        internal void CheckLowResArtwork(XMLSettings xMLSettings, ReportWriter reportWriter)
        {
            List <string> artwork_low = new List <string>();

            if (this.Artwork.Width > 0 && this.Artwork.Width < xMLSettings.LowResArtworkSize)
            {
                artwork_low.Add(this.Artwork.Width.ToString());
            }

            if (this.Artwork.Height > 0 && this.Artwork.Height < xMLSettings.LowResArtworkSize)
            {
                artwork_low.Add(this.Artwork.Height.ToString());
            }

            if (artwork_low.Count > 0)
            {
                reportWriter.AddTrackLowResArtwork(this, artwork_low);
            }
        }