Volumio is a player, tied to its own sound card. Here the server needs none: it indexes, converts and serves URLs — other things do the playing. Three distinct outbound directions: a renderer plays now, a device holds a copy, an emitter lets others read.
The central mechanism
One queue
Scanning, transcoding, fingerprinting, podcasts, sync, acquisition, analysis, stream relaying — same shape, same implementation.
Persisted in SQLite, resumable, pausable, concurrency capped per kind.
The satellite protocol is this contract seen remotely: same schema, same display component.
Why a single outlet
We hand out a URL
Sonos, UPnP and AirPlay all work this way: "here is a URL, go fetch it".
No audio byte passes through memory — it is HTTP with Range.
The device declares its formats, the server converts only what will not play. Same rule for the iPod.
What is not on this map
The satellites
The iPod dock runs elsewhere, often on an armv6 Pi 1 — outside Node's reach.
It pulls files at its own pace and resumes after an interruption.
Transcoding and fingerprinting stay on the server; the satellite only writes the device database.