Library / SDK
jacquesh/foo_openlyrics avatar
jacquesh/foo_openlyrics

foo_openlyrics: a lyrics panel for foobar2000 with its own editor and sources

An open-source lyric display panel for foobar2000

608 stars53 forksC++MIT

At a glance

What is it?
foo_openlyrics is a C++ foobar2000 component that replaces the ageing LyricShowPanel3, drawing a configurable scrolling lyrics panel, fetching lyrics from local files, ID3 tags or the internet, and letting you edit timestamps without leaving the player.
Who is it for?
Adopt foo_openlyrics if you use foobar2000 on Windows and want lyrics that scroll smoothly, can be edited in place, and come from sources that still work. Do not adopt it if you need a player-agnostic setup or a library-wide lyrics database, since it is a component for one specific player.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 33 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A replacement for a plugin that stopped working

The README is unusually candid about why this project exists, and that story tells you what kind of project you are adopting. At the time the author started, the most widely used lyrics plugin for foobar2000 was foo_uie_lyrics3, which had several built-in sources, but those had largely stopped working because the relevant websites went down or otherwise became generally unavailable. The original developer was nowhere in sight, and the source for the plugin did not appear to be available anywhere online. There was an SDK for building your own sources for foo_uie_lyrics3, but the author says building plugins for plugins did not take his fancy. Other, more up to date plugins did exist, but they were mostly distributed as binaries posted by strangers on Reddit, and the author's judgement is that running binaries published via Dropbox by random people on Reddit did not seem like the most amazing idea. So the motivation is availability and provenance, not novelty.

The panel, the editor and the sources are all in one component

What the project provides is described in one line: an open-source lyrics plugin for foobar2000 that includes its own UI panel for displaying lyrics and sources for downloading lyrics that are not available locally, intended as a replacement for LyricShowPanel3 so that it is fully featured and supports searching, saving and editing lyrics directly from within foobar2000. That is a meaningful scope difference from a bare tag reader. The feature list covers the display side, with what the README calls buttery-smooth lyric scrolling, customisable fonts and colours, and the option to use album art or any other image as the panel background with optional transparency and blur. The feature list also covers the data side, retrieving lyrics from local files, ID3 tags or the internet, checking the saved lyrics of any track in your library regardless of whether it is currently playing, and applying common edits such as removing blank lines in two clicks. The editor window gets its own screenshot in the README, and built-in support for timestamps is called out as part of editing.

Installing it is a component package, not a plugin file

Installation is four steps and it starts at the releases page, so there is no build step and no dependency to satisfy.

1. Find the latest release on GitHub. 2. Download the fb2k-component file attached to the release, and ignore the debug_symbols zip file. 3. Double-click the downloaded file. Assuming foobar2000 is installed, it opens with the installation dialog, and you restart foobar2000 when asked. 4. Add the OpenLyrics Panel to your layout.

Two details in that sequence are worth flagging. The artifact is a component package rather than a loose DLL, which means the installation is tied to a foobar2000 installation on the machine rather than being a file you copy into a shared plugin directory. And the debug_symbols zip is a separate optional download, which is the sort of detail that tells you the author expects people to attach stack traces to bug reports. The repository layout is consistent with a C++ component: src/ for the code, build/ for the build setup, 3rdparty/ for vendored dependencies, metrics/ for the collection of usage data, and a foo_pluginstall/ directory, which is the standard tool used to package foobar2000 components.

Lyric sources are yours to provide, which is the point

The design decision that follows from the origin story is that the plugin does not depend on someone else's website staying up. It ships with sources for downloading lyrics that are not available locally, and it reads what is already there, meaning lyrics embedded in local files and lyrics stored in ID3 tags. The README does not enumerate which online services are wired up, so the set of sources is something you would have to check in the interface or in the source. What the documentation does make clear is the division of labour. The plugin handles the panel, the search, the saving and the editing, and the sources are a separate concern that the plugin makes possible. That is the difference in approach from the plugins it replaces, whose built-in sources were tied to specific external sites and broke when those sites changed or disappeared. For a listener who keeps lyrics in local files or tags, the online sources are optional, and for one who wants to fetch and then keep them, the saving and editing path is the part that matters.

What the repository actually contains

The top level entries show a compact C++ project rather than a large one: .github/ for the workflows and readme assets, 3rdparty/ for vendored code, build/ for the build system, src/ for the source, metrics/ for the metrics collection, and foo_pluginstall/ for the packaging step that produces the component. The README carries a build-and-test workflow badge, so the build runs in CI. The repository has a .git-blame-ignore-revs file, which is a sign that the history has been rewritten at some point, usually to reformat the whole codebase, and that is worth knowing if you plan to read the commit history or contribute. The project is MIT licensed, and the README asks for issues or pull requests for bugs and features, with donation links through Buy Me a Coffee and Liberapay. The release cadence suggests a maintained project rather than an abandoned one, with v1.11 in September 2024, v1.12 in February 2025 and v1.13 in January 2026, and the last push to the repository on 2026-09-20.

Where foo_openlyrics is the wrong tool

There are clear boundaries. The first is platform and player lock in. This is a foobar2000 component, which means Windows and that specific player, and a listener on a different platform, or one who wants lyrics available everywhere, gets nothing from it here. The second is scope. The README says it is intended to be a replacement for LyricShowPanel3, and a single panel for a single player is not a lyrics database, so a user who wants a tagged, deduplicated lyrics collection synced across a library will find that this project does not attempt it. The third is the sources question. The whole reason the author wrote it was that built-in sources had broken, and while having your own source is the fix, you now have to supply and maintain those sources yourself, and the README does not document which ones are built in or how to add one. The alternative worth naming is a standalone lyrics tool or a tagging application that writes lyrics into your files, which decouples lyrics from the player and lets any player read them, at the cost of losing the in-panel editing and the smooth scrolling that are the reason to stay inside foobar2000.

Editorial conclusion

Adopt foo_openlyrics if you use foobar2000 on Windows and want lyrics that scroll smoothly, can be edited in place, and come from sources that still work. Do not adopt it if you need a player-agnostic setup or a library-wide lyrics database, since it is a component for one specific player. Verify first that the release you download matches your foobar2000 build, since the project ships as a component package rather than a plugin you can load from anywhere, and expect to supply the lyric sources yourself.

Frequently asked questions

How do I install foo_openlyrics for foobar2000?

Download the fb2k-component file from the latest GitHub release, ignoring the debug_symbols zip, double-click it so the foobar2000 installation dialog opens, restart foobar2000 when asked, and then add the OpenLyrics Panel to your layout.

Where does foo_openlyrics get lyrics from?

The README says it supports retrieving lyrics from local files, ID3 tags or the internet, and it includes sources for downloading lyrics that are not available locally. The documentation does not enumerate which online services are wired in.

Can I edit lyrics and their timestamps inside foobar2000?

Yes. The project includes an editor window, with built-in support for timestamps, and it is intended to let you edit lyrics directly inside foobar2000 rather than in an external text editor.

Why was foo_openlyrics written instead of using foo_uie_lyrics3?

The README says the built-in sources of foo_uie_lyrics3 had largely stopped working because the relevant websites went down or became generally unavailable, the original developer was nowhere in sight, and the source did not appear to be available online. Other up-to-date plugins existed but were distributed as binaries posted by strangers on Reddit.

Official sources

  1. Issues
  2. jacquesh/foo_openlyrics on GitHub
  3. License: MIT
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/jacquesh-foo-openlyrics.svg)](https://hysenlabs.com/projects/jacquesh-foo-openlyrics)

Was this useful?