- Sources: "free" (Creative Commons songs with media from
github.com/UltraStar-Deluxe/songs) and "usdb" (usdb.animux.de with an
account; audio/video via yt-dlp from the song's #VIDEO hints or YouTube
links in the comments, covers from fanart.tv/YouTube)
- Aggregated search (all sources in parallel, in-library flag), download
queue into <library>/Downloads/<source>/<Artist - Title>, then rescan
- Web UI in wwwroot (plain JS, no build): search, downloads with progress,
library; phone first, dark mode, installable
- Docker image with yt-dlp, ffmpeg and deno; library mounted writable
- Tests for matching, USDB parsing and song rewriting
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- VocaluxeSongServer: ASP.NET Core server that scans an UltraStar library and
serves the song list (ETag), single files (Range) and zip bundles; optional
API key; Dockerfile and Gitea workflow for git.disi.dev/projects/vocaluxe-song-server
- Game: config section SongServer (Url, ApiKey). At song loading, the song text
files are mirrored into a local cache that is loaded like a song folder;
without connection the last library is used
- VocaluxeLib: CSongFiles hook for all song file access; media are downloaded on
demand (covers in the background, preview audio, everything before singing
with progress in the sing screen)
- Tests for scanner, API and downloads (incl. resume); AGENTS.md for the fork
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>