Implement metadata management features in PLib video library manager. Introduce functionality to query and apply metadata from external sources based on video fingerprints. Update ILibraryService and LibraryService to support metadata lookup and application, enhancing video item descriptions and labels. Revise UI components in VideoPlayerView and SettingsView to facilitate user interaction with metadata sources. Update README.md to document new metadata features and usage instructions.
This commit is contained in:
@@ -51,6 +51,12 @@ public sealed class VideoItem
|
||||
/// <summary>Human readable name; defaults to the file name without extension.</summary>
|
||||
public string Title { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Free text about the video. Never derived from the file — it only arrives from a
|
||||
/// metadata source or from the user, which is why refreshing the file leaves it alone.
|
||||
/// </summary>
|
||||
public string? Description { get; private set; }
|
||||
|
||||
public long SizeInBytes { get; private set; }
|
||||
|
||||
public TimeSpan? Duration { get; private set; }
|
||||
@@ -133,6 +139,10 @@ public sealed class VideoItem
|
||||
Title = title;
|
||||
}
|
||||
|
||||
/// <summary>Replaces the description; blank clears it rather than storing whitespace.</summary>
|
||||
public void Describe(string? description) =>
|
||||
Description = string.IsNullOrWhiteSpace(description) ? null : description.Trim();
|
||||
|
||||
public void ApplyTechnicalInfo(VideoTechnicalInfo info)
|
||||
{
|
||||
Duration = info.Duration;
|
||||
|
||||
Reference in New Issue
Block a user