diff --git a/Source/AaxDecrypter/AudiobookDownloadBase.cs b/Source/AaxDecrypter/AudiobookDownloadBase.cs index 44031193..932e7273 100644 --- a/Source/AaxDecrypter/AudiobookDownloadBase.cs +++ b/Source/AaxDecrypter/AudiobookDownloadBase.cs @@ -118,11 +118,7 @@ namespace AaxDecrypter public abstract Task CancelAsync(); protected abstract Task Step_DownloadAndDecryptAudiobookAsync(); - public virtual void SetCoverArt(byte[] coverArt) - { - if (coverArt is not null) - OnRetrievedCoverArt(coverArt); - } + public virtual void SetCoverArt(byte[] coverArt) { } protected void OnRetrievedTitle(string title) => RetrievedTitle?.Invoke(this, title); diff --git a/Source/FileLiberator/DownloadDecryptBook.cs b/Source/FileLiberator/DownloadDecryptBook.cs index c2d9701a..b0da10d0 100644 --- a/Source/FileLiberator/DownloadDecryptBook.cs +++ b/Source/FileLiberator/DownloadDecryptBook.cs @@ -351,11 +351,15 @@ namespace FileLiberator private void AaxcDownloader_RetrievedCoverArt(object _, byte[] e) { + if (Configuration.Instance.AllowLibationFixup) + { + e = OnRequestCoverArt(); + abDownloader.SetCoverArt(e); + } + if (e is not null) OnCoverImageDiscovered(e); - else if (Configuration.Instance.AllowLibationFixup) - abDownloader.SetCoverArt(OnRequestCoverArt()); - } + } /// Move new files to 'Books' directory /// Return directory if audiobook file(s) were successfully created and can be located on disk. Else null. diff --git a/Source/LibationAvalonia/ViewModels/ProcessBookViewModel.cs b/Source/LibationAvalonia/ViewModels/ProcessBookViewModel.cs index 80d16cf8..941310b8 100644 --- a/Source/LibationAvalonia/ViewModels/ProcessBookViewModel.cs +++ b/Source/LibationAvalonia/ViewModels/ProcessBookViewModel.cs @@ -264,9 +264,12 @@ namespace LibationAvalonia.ViewModels private byte[] AudioDecodable_RequestCoverArt(object sender, EventArgs e) { - byte[] coverData = PictureStorage - .GetPictureSynchronously( - new PictureDefinition(LibraryBook.Book.PictureId, PictureSize._500x500)); + var quality + = Configuration.Instance.FileDownloadQuality == Configuration.DownloadQuality.High + ? new PictureDefinition(LibraryBook.Book.PictureLarge, PictureSize.Native) + : new PictureDefinition(LibraryBook.Book.PictureId, PictureSize._500x500); + + byte[] coverData = PictureStorage.GetPictureSynchronously(quality); AudioDecodable_CoverImageDiscovered(this, coverData); return coverData; diff --git a/Source/LibationWinForms/ProcessQueue/ProcessBook.cs b/Source/LibationWinForms/ProcessQueue/ProcessBook.cs index ecb372f5..16fc8427 100644 --- a/Source/LibationWinForms/ProcessQueue/ProcessBook.cs +++ b/Source/LibationWinForms/ProcessQueue/ProcessBook.cs @@ -249,9 +249,12 @@ namespace LibationWinForms.ProcessQueue private byte[] AudioDecodable_RequestCoverArt(object sender, EventArgs e) { - byte[] coverData = PictureStorage - .GetPictureSynchronously( - new PictureDefinition(LibraryBook.Book.PictureId, PictureSize._500x500)); + var quality + = Configuration.Instance.FileDownloadQuality == Configuration.DownloadQuality.High + ? new PictureDefinition(LibraryBook.Book.PictureLarge, PictureSize.Native) + : new PictureDefinition(LibraryBook.Book.PictureId, PictureSize._500x500); + + byte[] coverData = PictureStorage.GetPictureSynchronously(quality); AudioDecodable_CoverImageDiscovered(this, coverData); return coverData;