Namespace ModernLrc
Namespaces
Classes
- LrcDocument
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.
- LrcDocumentBuilder
Mutable builder for LrcDocument. Maintains insertion order; Build() sorts and freezes. Single-threaded contract — concurrent use from multiple threads is undefined (mirrors StringBuilder).
- LrcParseException
Thrown for catastrophic parse failures: encoding-detect failure, or a Strict-mode error on the first Error-severity diagnostic. PartialResult is populated for content failures; null for encoding/IO failures. Infrastructure errors (IOException, UnauthorizedAccessException, OperationCanceledException, etc.) are NOT wrapped — they propagate raw.
- LrcParseOptions
Configuration for a parse operation.
- LrcParseResult
Outcome of a parse operation: the document built (possibly partial under strict mode failure) and every diagnostic emitted in source order.
- LrcParser
Entry-point for parsing LRC text. All overloads converge on the canonical Parse(ReadOnlySpan<char>, LrcParseOptions?).
- LrcWriteOptions
Configuration for a write operation.
- LrcWriter
Entry-point for writing an LrcDocument. All overloads converge on the canonical Write(LrcDocument, LrcWriteOptions?).
Enums
- LrcLineEnding
Line-ending style for writing.
- LrcMetadataOrdering
Ordering policy for the metadata block.
- LrcStrictness
Parser strictness mode.
- LrcTimestampPrecision
Timestamp precision for writing.