Class SubscribedLyrics
The full lyrics of the current track, as loaded by a lyrics subscription.
public sealed class SubscribedLyrics
- Inheritance
-
SubscribedLyrics
- Inherited Members
Remarks
The subscription shape carries no synced signal, the REST answer reports Synced, the subscription does not, and NodeLink maps text-only lyrics to lines with zeroed timestamps. Lyrics without timing and timing that genuinely starts at zero are indistinguishable here.
Properties
Lines
Timed lines, both servers deliver them on this event.
[JsonPropertyName("lines")]
[JsonInclude]
public IReadOnlyList<SyncedLyricsLine>? Lines { get; }
Property Value
Remarks
Lavalink answers LyricsNotFound instead when the provider returned text only, no lyrics, or none with timing, NodeLink maps text-only lyrics to lines with zeroed timestamps. Null entries the wire carries are dropped and a null list reads as empty, handlers never see null.
The drop shifts every line after it, LineIndex counts the server's own array, not this filtered one, so the pair only lines up when the wire carried no nulls.
Provider
The provider the lyrics came from.
[JsonPropertyName("provider")]
[JsonInclude]
public string? Provider { get; }
Property Value
SourceName
The name of the source the lyrics came from.
[JsonPropertyName("sourceName")]
[JsonInclude]
public string SourceName { get; }
Property Value
Remarks
LavaLyrics reports the lyrics source name, NodeLink reports the track's source name, the actual lyrics provider sits in Provider. Absorbs a null the server sends, the getter never hands out null, a missing or nulled name reads as the empty string.
Text
The lyrics as plain text, NodeLink joins the lines, LavaLyrics sends it directly.
[JsonPropertyName("text")]
[JsonInclude]
public string? Text { get; }