Cover art functionality added. Left TODO's on where to continue on. #50

This commit is contained in:
amazing-username
2019-07-12 23:13:32 -04:00
parent 226ca44206
commit 026a528a81
6 changed files with 110 additions and 33 deletions
+35 -6
View File
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using Icarus.Controllers.Utilities;
using Icarus.Database.Repositories;
@@ -23,14 +24,42 @@ namespace Icarus.Controllers.Managers
#region Methods
public bool SaveCoverArt(Song song)
public void SaveCoverArtToDatabase(ref Song song, ref CoverArt coverArt,
CoverArtRepository coverArtRepository)
{
// TODO: Implement functionality to save
// cover art to the filesystem. The result
// will determine if the the cover art record will
// be saved to the DB
// TODO: Implement saving Cover Art record to
// the database.
}
public CoverArt SaveCoverArt(Song song)
{
try
{
var dirMgr = new DirectoryManager(_rootCoverArtPath);
dirMgr.CreateDirectory(song);
var imagePath = dirMgr.SongDirectory + song.Title + ".png";
var coverArt = new CoverArt
{
SongTitle = song.Title,
ImagePath = imagePath
};
Console.WriteLine($"Cover path {imagePath}");
var metaData = new MetadataRetriever();
var imgBytes = metaData.RetrieveCoverArtBytes(song);
Console.WriteLine("Saving image");
File.WriteAllBytes(imagePath, imgBytes);
return coverArt;
}
catch (Exception ex)
{
var msg = ex.Message;
_logger.Error(msg, "An error occurred");
Console.WriteLine(msg);
}
return false;
return null;
}
#endregion
}