Download high quality cover art

This commit is contained in:
Mbucari 2023-07-09 09:35:40 -06:00
parent 5d5e3a6671
commit 1bf86b05ec
4 changed files with 20 additions and 14 deletions

View File

@ -118,11 +118,7 @@ namespace AaxDecrypter
public abstract Task CancelAsync(); public abstract Task CancelAsync();
protected abstract Task<bool> Step_DownloadAndDecryptAudiobookAsync(); protected abstract Task<bool> Step_DownloadAndDecryptAudiobookAsync();
public virtual void SetCoverArt(byte[] coverArt) public virtual void SetCoverArt(byte[] coverArt) { }
{
if (coverArt is not null)
OnRetrievedCoverArt(coverArt);
}
protected void OnRetrievedTitle(string title) protected void OnRetrievedTitle(string title)
=> RetrievedTitle?.Invoke(this, title); => RetrievedTitle?.Invoke(this, title);

View File

@ -351,10 +351,14 @@ namespace FileLiberator
private void AaxcDownloader_RetrievedCoverArt(object _, byte[] e) private void AaxcDownloader_RetrievedCoverArt(object _, byte[] e)
{ {
if (Configuration.Instance.AllowLibationFixup)
{
e = OnRequestCoverArt();
abDownloader.SetCoverArt(e);
}
if (e is not null) if (e is not null)
OnCoverImageDiscovered(e); OnCoverImageDiscovered(e);
else if (Configuration.Instance.AllowLibationFixup)
abDownloader.SetCoverArt(OnRequestCoverArt());
} }
/// <summary>Move new files to 'Books' directory</summary> /// <summary>Move new files to 'Books' directory</summary>

View File

@ -264,9 +264,12 @@ namespace LibationAvalonia.ViewModels
private byte[] AudioDecodable_RequestCoverArt(object sender, EventArgs e) private byte[] AudioDecodable_RequestCoverArt(object sender, EventArgs e)
{ {
byte[] coverData = PictureStorage var quality
.GetPictureSynchronously( = Configuration.Instance.FileDownloadQuality == Configuration.DownloadQuality.High
new PictureDefinition(LibraryBook.Book.PictureId, PictureSize._500x500)); ? new PictureDefinition(LibraryBook.Book.PictureLarge, PictureSize.Native)
: new PictureDefinition(LibraryBook.Book.PictureId, PictureSize._500x500);
byte[] coverData = PictureStorage.GetPictureSynchronously(quality);
AudioDecodable_CoverImageDiscovered(this, coverData); AudioDecodable_CoverImageDiscovered(this, coverData);
return coverData; return coverData;

View File

@ -249,9 +249,12 @@ namespace LibationWinForms.ProcessQueue
private byte[] AudioDecodable_RequestCoverArt(object sender, EventArgs e) private byte[] AudioDecodable_RequestCoverArt(object sender, EventArgs e)
{ {
byte[] coverData = PictureStorage var quality
.GetPictureSynchronously( = Configuration.Instance.FileDownloadQuality == Configuration.DownloadQuality.High
new PictureDefinition(LibraryBook.Book.PictureId, PictureSize._500x500)); ? new PictureDefinition(LibraryBook.Book.PictureLarge, PictureSize.Native)
: new PictureDefinition(LibraryBook.Book.PictureId, PictureSize._500x500);
byte[] coverData = PictureStorage.GetPictureSynchronously(quality);
AudioDecodable_CoverImageDiscovered(this, coverData); AudioDecodable_CoverImageDiscovered(this, coverData);
return coverData; return coverData;