Lyrics and karaoke for the music player
build-container / build (push) Successful in 12m8s

- full-screen lyrics view that follows the song: highlighted current line with a colour sweep (word by word when the source has word timing), tap a line to jump, text size, timing nudge, 'Wrong lyrics?' search
- Karaoke mode: the current line large and centered
- lyrics from Plex first, then the bundled Lyrica service (LRCLIB, Musixmatch via Lrcmux, NetEase, Megalobiz); YouTube captions never used; wrong-length recordings refused; answers kept in /data/lyrics
- lyrica/: Lyrica pinned to one commit, built by the workflow as hub-lyrica; compose service sharing the hub's network
- tools/lyrics-test.js

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 5.5 committed 2026-10-21 11:13:00 -04:00
1 parent bfd37967c3
commit fc0ae05415
10 files changed
+397 -10

No files matched your search

+19
View File
@@ -21,6 +21,7 @@ jobs:
- run: node tools/users-test.js # accounts: private data, tab limits, invites, migration
- run: node tools/plex-test.js # Plex sign-in stays signed in and repairs itself
- run: node tools/player-test.js # music player: queue, shuffle/repeat, stall recovery
- run: node tools/lyrics-test.js # lyrics: formats, wrong matches refused, remembered
- run: node tools/signal-test.js # Signal: linking, messages, sending, live updates
- run: node tools/webmail-test.js # the /webmail/ pass-through to the bundled webmail (Cypht)
@@ -71,3 +72,21 @@ jobs:
push: true
tags: ${{ steps.meta_rc.outputs.tags }}
labels: ${{ steps.meta_rc.outputs.labels }}
# The lyrics container (Lyrica, pinned)
- id: meta_ly
uses: docker/metadata-action@v5
with:
images: git.necloud.us/nate/hub-lyrica
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=sha,format=short
type=ref,event=tag
- uses: docker/build-push-action@v6
with:
context: ./lyrica
platforms: linux/amd64
push: true
tags: ${{ steps.meta_ly.outputs.tags }}
labels: ${{ steps.meta_ly.outputs.labels }}