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); }
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; }
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; } } } }
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); } }