Table of Contents

Class SubscribedLyrics

Namespace
Nyra.EventArgs
Assembly
Nyra.dll

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

IReadOnlyList<SyncedLyricsLine>

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

string

SourceName

The name of the source the lyrics came from.

[JsonPropertyName("sourceName")]
[JsonInclude]
public string SourceName { get; }

Property Value

string

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

Property Value

string