How rzatf/foo_beautifoo works
Beautifoo is a foobar2000 WebView karaoke-lyrics panel. Playback metadata flows through the bridge and local API to the lyrics engine, which checks available local/cache data and queries lyric providers; parsed, timed lyrics return to the renderer for synchronized highlighting. The README documents scrolling, Romaji toggling, and karaoke rendering. Provider and parser coverage is represented from the tree and engine imports; their detailed wiring was not sampled, so uncertain provider-to-parser links are omitted.
Main entry points: lyricsEngine.js Lyrics engine · bridge.js Playback bridge · netease.js NetEase provider · qqmusic.js QQ Music provider
Components 19
Playback and API
- Playback bridge
src/utils/bridge.js - Lyrics API
server.js
Lyrics retrieval
- Lyrics engine
src/lyricsEngine.js - Disk cache
src/lyricsEngine.js - Local lyrics
src/providers/localLyrics.js - NetEase provider
src/providers/netease.js - SyncLRC provider
src/providers/synclrc.js - KaraLyr provider
src/providers/karalyr.js - Kugou provider
src/providers/kugou.js - QQ Music provider
src/providers/qqmusic.js - LRCLIB provider
src/providers/lrclib.js - Musixmatch provider
src/providers/musixmatch.js
Provider formats
- Lyric decryptors
src/decryptor - Lyric parsers
src/parsers - Romaji conversion
src/utils/romaji.js
Karaoke display
- Lyrics renderer
renderer/app.js - WebView panel
renderer/index.html
Other components
- foobar2000
- Music services
Connections 25
- foobar2000 → Playback bridge: provides playback
- Playback bridge → Lyrics API: requests lyrics
- Lyrics API → Lyrics engine: calls
- Lyrics engine → Disk cache: reads and writes
- Lyrics engine → Local lyrics: checks local lyrics
- Lyrics engine → NetEase provider: queries
- Lyrics engine → SyncLRC provider: queries
- Lyrics engine → KaraLyr provider: queries
- Lyrics engine → Kugou provider: queries
- Lyrics engine → QQ Music provider: queries
- Lyrics engine → LRCLIB provider: queries
- Lyrics engine → Musixmatch provider: queries
- NetEase provider → Music services: requests
- SyncLRC provider → Music services: requests
- KaraLyr provider → Music services: requests
- Kugou provider → Music services: requests
- QQ Music provider → Music services: requests
- LRCLIB provider → Music services: requests
- Musixmatch provider → Music services: requests
- QQ Music provider → Lyric decryptors: decrypts QRC
- NetEase provider → Lyric decryptors: decrypts EAPI
- Lyrics engine → Lyric parsers: parses provider data
- Lyrics engine → Romaji conversion: attaches Romaji
- Playback bridge → Lyrics renderer: supplies lyrics and state
- WebView panel → Lyrics renderer: hosts