Class SyncedLyricsLine
One synced lyrics line as delivered by the lyrics subscription.
public sealed class SyncedLyricsLine
- Inheritance
-
SyncedLyricsLine
- Inherited Members
Properties
Duration
Line duration, in milliseconds, LavaLyrics sends null when unknown, NodeLink always sends a number. How it is derived depends on the provider, the gap to the next line, the provider's own duration or 0.
[JsonPropertyName("duration")]
[JsonInclude]
[JsonConverter(typeof(RoundedInt64Converter))]
public long? Duration { get; }
Property Value
- long?
Remarks
Fractional values are rounded like every other integral member, a value that is not a number at all fails the read.
Text
The text of the line.
[JsonPropertyName("line")]
[JsonInclude]
public string Text { get; }
Property Value
Remarks
Absorbs a null the server sends, the getter never hands out null, a missing or nulled text reads as the empty string.
Time
Line start, in milliseconds.
[JsonPropertyName("timestamp")]
[JsonInclude]
[JsonConverter(typeof(RoundedInt64Converter))]
public long? Time { get; }
Property Value
- long?
Remarks
Null only from a hostile or future wire that sent none, both live servers always send a number.
Callers that need a number read ?? 0. Fractional values are rounded like every other integral
member, a value that is not a number at all fails the read.
Words
Per-word timings, when the provider supplies them.
[JsonPropertyName("words")]
[JsonInclude]
public JsonElement? Words { get; }