Use event return value instead of passing a set delegate.

This commit is contained in:
Michael Bucari-Tovo 2022-05-24 15:47:30 -06:00
parent c88f47eed4
commit bc0009be6c
3 changed files with 11 additions and 13 deletions

View file

@ -59,7 +59,6 @@ namespace LibationWinForms.ProcessQueue
private Processable CurrentProcessable => _currentProcessable ??= Processes.Dequeue().Invoke();
private Processable NextProcessable() => _currentProcessable = null;
private Processable _currentProcessable;
private Func<byte[]> GetCoverArtDelegate;
private readonly Queue<Func<Processable>> Processes = new();
private readonly LogMe Logger;
@ -231,11 +230,14 @@ namespace LibationWinForms.ProcessQueue
BookText = $"{title}\r\nBy {authorNames}\r\nNarrated by {narratorNames}";
}
public void AudioDecodable_RequestCoverArt(object sender, Action<byte[]> setCoverArtDelegate)
private byte[] AudioDecodable_RequestCoverArt(object sender, EventArgs e)
{
byte[] coverData = GetCoverArtDelegate();
setCoverArtDelegate(coverData);
byte[] coverData = PictureStorage
.GetPictureSynchronously(
new PictureDefinition(LibraryBook.Book.PictureId, PictureSize._500x500));
AudioDecodable_CoverImageDiscovered(this, coverData);
return coverData;
}
private void AudioDecodable_CoverImageDiscovered(object sender, byte[] coverArt)
@ -272,11 +274,6 @@ namespace LibationWinForms.ProcessQueue
Logger.Info($"{Environment.NewLine}{((Processable)sender).Name} Step, Begin: {libraryBook.Book}");
GetCoverArtDelegate = () => PictureStorage.GetPictureSynchronously(
new PictureDefinition(
libraryBook.Book.PictureId,
PictureSize._500x500));
title = libraryBook.Book.Title;
authorNames = libraryBook.Book.AuthorNames();
narratorNames = libraryBook.Book.NarratorNames();