Library / SDK
fooyin/fooyin avatar
fooyin/fooyin

fooyin: a customisable Qt music player built around plugins and FooScript

A customisable music player

2,507 stars106 forksC++GPL-3.0

At a glance

What is it?
fooyin is a GPL-3.0 desktop music player for Linux and Windows that starts from a blank layout and grows through plugins, FooScript formatting and preset layouts. The interesting parts are the plugin boundaries and the scripting layer; the cost is that you assemble much of the experience yourself.
Who is it for?
Adopt fooyin if you want a player whose layout, formatting and decoder set you control, and you are comfortable reading docs.fooyin.org rather than expecting a finished default. Skip it if you need a player that works well the moment it opens, or if you need official macOS support, which the README says is coming soon rather than available.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
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 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What fooyin is for, and who it is actually aimed at

Most desktop music players ship a fixed interface and let you toggle a few panels. fooyin inverts that. The README describes it as a customisable desktop music player that can be rearranged "from a blank canvas or adapted from preset layouts", which means the default experience is closer to a construction kit than a finished product. That is the specific problem it solves: listeners who have a mental model of how their library should be browsed, tagged and displayed, and who find that existing players force someone else's model on them.

The audience follows from that. fooyin is built for people who keep large local libraries, care about tag consistency and ReplayGain values, and are willing to spend an evening arranging widgets. The feature list backs this up: CUE sheet support including embedded CUE sheets, AccurateRip verification for complete discs, archive playback, M3U/M3U8 import and export, autoplaylists, and a Quick Tagger for repeatable metadata actions. None of that is aimed at someone who just wants to press play on a streaming service.

It is also explicitly a Linux-first project. The README states that fooyin is developed and supported on Linux and Windows, with build configurations and CI workflows maintained for macOS, and that official macOS support is "coming soon". Audio CD playback and ripping are marked Linux-only. If you are on macOS, you are building from source against a configuration the project maintains but does not yet support.

Plugins, FooScript and the shape of the architecture

The README says fooyin "supports plugins for widgets, decoders, tag readers, DSPs, and integrations". That single sentence explains most of the design. Playback, metadata reading, interface widgets and external services are not one monolith; they are extension points, and the built-in features are largely plugins that happen to ship with the application.

The practical consequence is that audio format support is not fixed at compile time. The README lists FLAC, MP3, MP4, Vorbis, Opus, WavPack, WAV, AIFF, MKA, Musepack and Monkey's Audio as supported formats, and separately notes that native support for VGM and tracker/module formats comes "through optional plugins". So the format list in the README is a description of what the project can do, not a guarantee about what your installed build will do. If you listen to chiptunes, the plugin is the feature.

FooScript is the second structural piece. The README describes it as the mechanism for "advanced display formatting, queries, autoplaylists, and widget behaviour", and says rich text and script formatting are supported "across most widgets and views". This is where the customisation stops being about dragging panels around. Autoplaylists and queries mean the library view can be defined by expressions rather than by clicking through filter menus, and widget behaviour means the same scripting layer reaches into how components react, not just how they render text.

The integration surface is similarly plugin-shaped: MPRIS, desktop notifications with playback controls, sleep and display inhibition, scrobbling to Last.fm, Libre.fm, ListenBrainz and custom services, Discord Rich Presence, and Run Services for launching external applications. Each of those is a decision you opt into rather than behaviour baked into the player.

Installing fooyin and getting a first layout working

The README does not give a package-manager command. It points at the download page at fooyin.org/download, which "lists the Flathub package and packages available through Linux distribution repositories", and at GitHub Releases for release notes and downloadable artifacts. There is also a nightly build published under the nightly release tag for testing upcoming changes. So the first step is a lookup, not a command, and the exact package name depends on which repository carries it. Check the download page before assuming your distribution has a current version.

If you are building from source, the README defers to BUILD.md for "dependencies, build options, and installation instructions". The repository root contains CMakeLists.txt, CMakePresets.json, a cmake/ directory and a vcpkg.json, which tells you the build is CMake-driven and that there is a vcpkg manifest for dependency resolution. The project uses C++23, per the repository topics. Read BUILD.md rather than guessing at flags; nothing in the README documents a configure line.

Once installed, the useful first move is to load a preset layout rather than start from the blank canvas. The README names several in its screenshots: Simple, Directory browser, Obsidian, Gallery, Radio, Waveform and Custom. Starting from one of these gives you a working arrangement you can then edit, which is a far better introduction to the widget system than an empty window.

After that, point the player at your music. The README lists a library tree and a directory browser as separate views, plus M3U/M3U8 import for existing playlists. If your collection is already organised in folders with a playlist file, importing that is the shortest path to a populated library. The README states that command-line playback controls exist and that the player supports opening files, directories and remote URLs from the command line, but it does not document the flag names, so check the binary's own help output before wiring an invocation into a desktop shortcut.

Where fooyin gets in your way

The blank canvas is the selling point and the main cost. A player that starts empty and expects you to build a layout is slower to adopt than one that opens with a sensible default, and the README's own framing ("rearranged from a blank canvas or adapted from preset layouts") is an admission that the preset path is the one most people should take first. If you are not interested in arranging widgets, you are paying for flexibility you will not use.

Platform support is genuinely uneven. macOS is described as maintained in CI but not officially supported, with official support "coming soon". Audio CD playback and ripping are Linux-only, so Windows users lose that entirely. Anyone whose workflow depends on ripping discs should treat fooyin as a Linux tool with a Windows build, not as a cross-platform one.

The plugin architecture cuts both ways. Optional plugins for VGM and tracker formats, and for projectM visualisations, mean those capabilities depend on packaging. A distribution package that omits a plugin gives you a player that looks like it should play a file and does not. The README does not document which plugins ship in which package, so that is something to check against your distribution's build rather than against the project's feature list.

Finally, the release cadence is fast. v0.13.0 and v0.13.1 are both dated 2026-09-21 and 2026-09-24, and a nightly build is published separately. A fast-moving pre-1.0 project with a nightly channel is a reasonable place to be if you enjoy that, and a poor place to be if you need configuration stability across upgrades. The README does not document a migration path for layouts or settings between versions.

fooyin against foobar2000 and Strawberry

The comparison people actually search for is fooyin versus foobar2000, and the honest difference is platform and openness of the extension model. foobar2000 is a Windows-first player with a long history and a component ecosystem built around its own SDK. fooyin is developed and supported on Linux and Windows, is written in C++23 against Qt, and defines its extension points as plugins for widgets, decoders, tag readers, DSPs and integrations. If your library lives on Linux, foobar2000 is not a like-for-like option, which is precisely why the comparison comes up.

Strawberry is the closer neighbour: a Qt-based music player with library management, playlists and tag editing, and a more conventional out-of-the-box interface. The difference in approach is where the customisation lives. Strawberry gives you a working player and a set of settings. fooyin gives you preset layouts plus FooScript, a scripting layer the README says covers formatting, queries, autoplaylists and widget behaviour. If you want to define a view by writing a query, fooyin is the one with that surface. If you want to open a player and see your music, Strawberry asks less of you.

There is a third axis worth naming: bit-perfect and gapless playback, plus ReplayGain scanning and DSP chains with equaliser, resampling, tempo, pitch and rate. Those are listed in the README as fooyin features, and they matter most to people with large lossless libraries and external DACs. That audience overlaps heavily with the foobar2000 crowd, which is why the comparison keeps appearing in search results even though the platforms differ.

Licence, maintenance and what upgrading costs you

fooyin is released under the GNU General Public License, version 3 or later, per the COPYING file and the README's licence section. For an end user that changes nothing. For anyone distributing a modified build, the copyleft terms apply to the whole work, and the README also mentions a code signing policy with a free code signing programme, which is relevant if you plan to ship signed binaries. This is not legal advice; read COPYING if you intend to redistribute.

On maintenance, the repository is not archived and the last push was on 2026-09-28. Release activity is visible in the changelog and the releases page: v0.13.0 on 2026-09-21, v0.13.1 on 2026-09-24, and a nightly build tagged for 2026-09-28. The README points to ROADMAP.md for upcoming releases and long-term plans and CHANGELOG.md for previous changes, which is where to look before upgrading rather than after.

The upgrade cost is mostly configuration. A fast release cadence on a pre-1.0 player means layouts, plugin sets and FooScript expressions are the things most likely to need attention between versions. The README does not document a settings migration procedure, so the practical approach is to keep a copy of your layout and script files before moving between releases, and to prefer the stable release over the nightly tag unless you specifically want to test upcoming changes. The nightly is published for that purpose and the README describes it that way.

Editorial conclusion

Adopt fooyin if you want a player whose layout, formatting and decoder set you control, and you are comfortable reading docs.fooyin.org rather than expecting a finished default. Skip it if you need a player that works well the moment it opens, or if you need official macOS support, which the README says is coming soon rather than available. Before committing, verify three things: whether your distribution or Flathub carries a current package, whether the optional plugins you need (VGM, tracker modules, projectM) are packaged for your system, and whether your layout survives when you switch between the stable release and the nightly build.

Frequently asked questions

What is fooyin?

fooyin is a customisable desktop music player released under the GPL-3.0. It combines playback, library management, playlists and scripting in an interface you can rearrange from a blank canvas or adapt from preset layouts, and it supports plugins for widgets, decoders, tag readers, DSPs and integrations.

How do I install fooyin?

The README points to the download page at fooyin.org/download, which lists the Flathub package and packages available through Linux distribution repositories. Release notes and downloadable artifacts are published on GitHub Releases, and building from source is covered in BUILD.md.

How does fooyin compare with foobar2000?

The main difference is platform and extension model. fooyin is developed and supported on Linux and Windows, with macOS build configurations maintained but official support described as coming soon, and it exposes plugins for widgets, decoders, tag readers, DSPs and integrations. foobar2000 is Windows-first, so the two only overlap directly on Windows.

How does fooyin compare with Strawberry?

Both are Qt-based players with library management and playlists, but they put customisation in different places. Strawberry gives you a working interface and settings; fooyin gives you preset layouts plus FooScript, which the README says handles advanced display formatting, queries, autoplaylists and widget behaviour.

What is a good fooyin alternative?

The closest comparison in the README's own feature set is another Qt-based player with library management and playlists, such as Strawberry, which offers a more conventional interface where fooyin offers preset layouts and FooScript. What separates them is where customisation lives, not whether library management exists.

Official sources

  1. fooyin/fooyin on GitHub
  2. License: GPL-3.0
  3. Project website
  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/fooyin-fooyin.svg)](https://hysenlabs.com/projects/fooyin-fooyin)