Social: lyrics Plugin with UI view #27
Labels
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#21 Plugin API: third-party DSP and playback events
SBDeveloper/medley
Reference
SBDeveloper/medley#27
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #13
What to build
Optional Plugin that shows lyrics for the current Track in its own UI view, built on playback events and the UI view capability.
The Lyrics view is an overlay tab of the big player (#41) registered through the plugin UI API (#45).
Open question (needs a human)
Which lyrics provider, and its licensing and terms of use. Decide before this ticket becomes ready-for-agent.
Acceptance criteria
Blocked by
Agent Brief
Decisions: provider is LRCLIB (open, no API key or auth). Show time-synced lyrics with plain-text fallback.
Category: enhancement
Summary: Optional Plugin that shows lyrics for the current Track in a Lyrics view, an overlay tab of the big player (#41) registered through the plugin UI API (#45).
Behaviour:
lrclib.net, playback events, UI view).GET https://lrclib.net/api/getwithtrack_name,artist_name,album_name,duration(seconds). Fall back to/api/searchifgetreturns 404.syncedLyrics(LRC): highlight and scroll to the current line from playback position events. If onlyplainLyricsexists, show static text. Instrumental Tracks (instrumental: true) show an "Instrumental" state.User-Agent(app name/version) per LRCLIB etiquette.Acceptance criteria:
Out of scope: other providers, user-submitted/edited lyrics, publishing lyrics to LRCLIB, translation, Deezer-native lyrics.
Dependencies: blocked by #45 (declarative plugin UI and overlay tab slot). The Plugin also needs network and playback-position event capabilities from the plugin API (#18/#19);
crates/plugin-apihas neither today, so add them there rather than special-casing this Plugin. LRCLIB data is community-submitted with no licensing guarantee, so keep lyrics in memory only and do not persist them to disk.