Table of Contents

Class LrcDocument

Namespace
ModernLrc
Assembly
ModernLrc.dll

Root model: metadata block + sorted-by-timestamp lines. The parser and LrcDocumentBuilder maintain the sort guarantee; the type itself does not validate ordering on assignment.

public sealed record LrcDocument : IEquatable<LrcDocument>
Inheritance
LrcDocument
Implements
Inherited Members
Extension Methods

Remarks

Documents are immutable records — use with expressions or LrcDocumentBuilder to derive new instances.

Use the helpers in LrcDocumentExtensions for playback queries (FindLineAt, LinesInRange, GetEffectiveTime).

Properties

Empty

Singleton empty document.

public static LrcDocument Empty { get; }

Property Value

LrcDocument

Lines

Lyric lines, sorted ascending by timestamp. Sort guarantee is supplied by the parser and by Build(); constructing a document directly bypasses that check.

public EquatableArray<LrcLine> Lines { get; init; }

Property Value

EquatableArray<LrcLine>

Metadata

Document metadata (default: Empty).

public LrcMetadata Metadata { get; init; }

Property Value

LrcMetadata