Table of Contents

Class SyncedLyricsLine

Namespace
Nyra.EventArgs
Assembly
Nyra.dll

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

string

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; }

Property Value

JsonElement?