Enhance video library management in PLib by introducing folder change tracking and improving video item metadata handling. Update IVideoRepository to include a method for loading video items with labels. Revise VideoPlayerViewModel to manage playback progress and integrate new UI elements for displaying watched status and resume options. Update MainWindowViewModel to observe folder changes for automatic rescanning. Enhance README.md to document these new features and usage instructions.
This commit is contained in:
@@ -24,4 +24,25 @@ public interface ILibraryService
|
||||
/// from scratch. Useful after changing the thumbnail width or capture position.
|
||||
/// </summary>
|
||||
Task ResetThumbnailsAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>Remembers where playback stopped so the video can be resumed later.</summary>
|
||||
Task SaveProgressAsync(Guid videoId, TimeSpan position, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>One video with its labels loaded, or <c>null</c> if it is gone.</summary>
|
||||
Task<VideoItem?> GetVideoWithLabelsAsync(Guid videoId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>Every tag and collection in the library, alphabetically.</summary>
|
||||
Task<IReadOnlyList<LibraryLabel>> GetLabelsAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Attaches a label to a video, creating it if this is the first time the name is used.
|
||||
/// Returns the label, whether it was new or not.
|
||||
/// </summary>
|
||||
Task<LibraryLabel> AttachLabelAsync(
|
||||
Guid videoId,
|
||||
string name,
|
||||
LabelKind kind,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task DetachLabelAsync(Guid videoId, Guid labelId, CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user