I have been building a desktop audio player for the last while and just made it public, so I figured this was the right crowd to show it to.
rawform is a local-library audio player; it’s highly inspired by Foobar2000: playlist tabs, configurable columns, a metadata pane, no streaming service, no account, no telemetry. C++20 with Qt 6 and QML. Runs on Linux and macOS.
The part I care most about is the layering. The audio engine is a standalone static library with zero Qt in it, sitting behind a thin Qt adapter, with QML only on top. Playback runs through a lock-free SPSC ring buffer, interleaved float32 is the canonical PCM format all the way through, and the output does bit-perfect device-rate switching rather than resampling everything to one fixed rate. Decoding goes through native reference libraries first (libsndfile, libFLAC, libmpg123) with FFmpeg as the long-tail fallback, so the common formats are not going through a general-purpose path they do not need.
Output is PipeWire on Linux and CoreAudio on macOS. Tagging is TagLib 2.x. ReplayGain scanning is built in via libebur128, including batch scanning from the UI. Output device enumeration and selection are there, as is master volume with a proper taper.
What is not there yet, so nobody is surprised: no MPRIS integration, no shuffle or repeat modes, no open-with. Those are on the list, not in the first public build.
Distribution is a Flatpak on Linux and a .dmg on macOS. GPL-3.0-or-later, third-party notices included in the repo.
Feedback and bug reports both welcome, and if it falls over on your setup I would rather hear about it.
Cheers!