FAST
It moves when you do.
Press play and the window has already changed. Change the volume from the remote, or from someone else's phone, and it changes here too — not a second later, not on a refresh.
BluOS controller · Bluesound, NAD and PSB · Linux, macOS and Windows
A fast, native controller for BluOS players. Your library and every service the player offers, cover art throughout, every room grouped how you like — on all three desktops, from one small application.
Rust throughout · Slint for the interface
no webviewno Electronno accountno telemetry
Inputs
Bluetooth HDMI ARCMusic Services
Library Radio Radio Paradise TuneIn My Stations Settings HelpMore from Halve Moon
Tracks
ui/app-window.slint. Pick a track, or open the player list
from the pill — the colour behind everything is taken from the sleeve.
The music is invented; the layout is not.
IT JUST FINDS THEM
No pairing, no account, no setup screen. Azzurro finds every BluOS player on your network and remembers them, so one that was switched off last night is waiting when you come back.
FAST
Press play and the window has already changed. Change the volume from the remote, or from someone else's phone, and it changes here too — not a second later, not on a refresh.
LIGHT
Written in Rust and drawn natively. There is no browser hidden inside it, no Electron, no Qt — which is why it starts instantly, sits at a few tens of megabytes, and does nothing at all while you are not using it.
EVERYTHING, NOT THE HIGHLIGHTS
Artists, albums, songs, genres, composers, folders and playlists, with cover art throughout. Your radio services, your presets, your inputs. Long lists jump to a letter from the keyboard or the alphabet down the side, so two thousand songs is a keystroke rather than a scroll.
IT LOOKS LIKE THE MUSIC
Every cover washes the window in its own colour — a red sleeve and a green one feel different from across the room, before you are close enough to read anything. Light and dark themes, and it follows the one your desktop is already using.
EVERY ROOM
Group rooms from the player list — one at a time, or everything at once. Each keeps its own volume, so the kitchen can be loud while the bedroom is not.
EVERY DESKTOP
Linux, macOS and Windows, from one codebase — not a port and not a web page in a frame. On Linux each speaker also appears to the desktop as its own media player, so your media keys work.
GET IT
Signed checksums for everything. The macOS build is notarised by Apple; the Windows build carries its own C runtime, so it needs nothing else.
Linux, as a Flatpak bundle for x86_64 or aarch64. It carries its own runtime, so it does not care what your distribution ships.
flatpak install --user azzurro-v0.1.0-x86_64.flatpak
macOS, signed and stapled, so it opens on first launch:
brew install --cask jzbz/azzurro/azzurro
Windows, from the package manager it already has:
winget install Azzurro.Azzurro
Every release ships a SHA256SUMS signed with
my key. Check it before you trust any of the
above — it is the one artefact that survives a compromise of the
rest.
gpg --verify SHA256SUMS.asc SHA256SUMS && sha256sum -c SHA256SUMS
Or build it. Rust 1.85 or newer; on Debian and Ubuntu the Slint crates want two development packages present.
sudo apt-get install -y libfontconfig-dev libxkbcommon-dev
cargo run --bin azzurro
bluosctl is the same protocol crate with a command line on
it, and the fast way to try something against real hardware.
cargo run --bin bluosctl -- discover