Refactor PLib video library manager to use ReactiveUI, replacing CommunityToolkit.Mvvm. Update dependencies, enhance thumbnail caching logic, and improve UI responsiveness with reactive commands. Remove obsolete PLib.slnx file and update README.md to reflect changes.

This commit is contained in:
Leonid Pershin
2026-08-08 11:37:36 +03:00
parent bf4a3bb922
commit 625eae7ead
18 changed files with 693 additions and 359 deletions
@@ -12,4 +12,20 @@ public interface IThumbnailGenerator
string videoPath,
TimeSpan? duration,
CancellationToken cancellationToken = default);
/// <summary>
/// True when a previously generated poster frame is still present in the cache. The
/// cache directory is ordinary user-writable storage, so a path the library remembers
/// is not proof that the file behind it still exists.
/// </summary>
bool IsAvailable(string? thumbnailPath);
/// <summary>
/// Deletes cached frames that no library item points at any more, and returns how many
/// files were removed. Call only after a complete scan: anything not in
/// <paramref name="inUsePaths"/> is treated as garbage.
/// </summary>
Task<int> PurgeUnusedAsync(
IReadOnlyCollection<string> inUsePaths,
CancellationToken cancellationToken = default);
}