#94: Saving the file type of cover art, but there is still some work to do

The filename of cover art is hard coded to have the png extension. Need to correct this
This commit is contained in:
kdeng00
2024-06-20 20:20:47 -04:00
parent 562bc87822
commit 3dd143fa4d
7 changed files with 89 additions and 14 deletions
+26 -10
View File
@@ -48,11 +48,11 @@ public class CoverArtManager : BaseManager
try
{
var stockCoverArtPath = _rootCoverArtPath + "CoverArt.png";
if (!string.Equals(stockCoverArtPath, coverArt.ImagePath,
if (!string.Equals(stockCoverArtPath, coverArt.ImagePath(),
StringComparison.CurrentCultureIgnoreCase))
{
_logger.Info("Song does not contain the stock cover art");
File.Delete(coverArt.ImagePath);
File.Delete(coverArt.ImagePath());
_logger.Info("Cover art deleted from the filesystem");
}
else
@@ -82,9 +82,11 @@ public class CoverArtManager : BaseManager
};
var segment = coverArt.GenerateFilename(0);
var imagePath = dirMgr.SongDirectory + segment + defaultExtension;
// var imagePath = dirMgr.SongDirectory + segment + defaultExtension;
coverArt.ImagePath = imagePath;
// coverArt.ImagePath = imagePath;
coverArt.Directory = dirMgr.SongDirectory;
coverArt.Filename = segment + defaultExtension;
var metaData = new MetadataRetriever();
var imgBytes = metaData.RetrieveCoverArtBytes(song);
@@ -92,17 +94,29 @@ public class CoverArtManager : BaseManager
if (imgBytes != null)
{
_logger.Info("Saving cover art to the filesystem");
File.WriteAllBytes(coverArt.ImagePath, imgBytes);
File.WriteAllBytes(coverArt.ImagePath(), imgBytes);
}
else
{
_logger.Info("Song has no cover art, applying stock cover art");
var coverArtFilePath = _rootCoverArtPath + $"{segment}{defaultExtension}";
coverArt.ImagePath = DirectoryPaths.CoverArtPath;
// coverArt.ImagePath = DirectoryPaths.CoverArtPath;
coverArt.Directory = DirectoryPaths.CoverArtDirectory;
coverArt.Filename = DirectoryPaths.CoverArtFilename;
metaData.UpdateCoverArt(song, coverArt);
coverArt.ImagePath = coverArtFilePath;
File.WriteAllBytes(coverArt.ImagePath, _stockCoverArt);
coverArt.Directory = this._rootCoverArtPath;
coverArt.Filename = $"{segment}{defaultExtension}";
// coverArt.ImagePath = coverArtFilePath;
File.WriteAllBytes(coverArt.ImagePath(), _stockCoverArt);
}
coverArt.Type = metaData.CoverArtFileExtensionType(coverArt);
if (string.IsNullOrEmpty(coverArt.Type))
{
Console.WriteLine("File type is empty");
Console.WriteLine($"Directory: {coverArt.Directory}");
Console.WriteLine($"Filename: {coverArt.Filename}");
}
return coverArt;
@@ -129,9 +143,11 @@ public class CoverArtManager : BaseManager
var segment = cover.GenerateFilename(0);
var imagePath = dirMgr.SongDirectory + segment + defaultExtension;
cover.ImagePath = imagePath;
cover.Directory = dirMgr.SongDirectory;
cover.Filename = segment + defaultExtension;
// cover.ImagePath = imagePath;
using (var fileStream = new FileStream(imagePath, FileMode.Create))
using (var fileStream = new FileStream(cover.ImagePath(), FileMode.Create))
{
data.CopyTo(fileStream);
}