MPD controlled by UPnP, it
/tmp/snapfifo
,UPnP
./usr/bin/shairport-sync
,AirPlay
,shairport-sync
’s stderr.shairport-sync
itself is configured to output audio to its stdout.$ cat /etc/default/snapserver
SNAPSERVER_OPTS="--stream pipe:///tmp/snapfifo?name=UPnP --stream process:///usr/bin/shairport-sync?name=AirPlay&sampleformat=44100:16:2&log_stderr=true"
On all the machines being Snapclients, install the snapclient
package, and configure their human-readable names. For example, for the Snapclient in my living room:
$ cat /etc/default/snapcast
SNAPCLIENT_OPTS="--hostID 'Living Room'"
I primarily control Snapcast using a CatBus daemon.
In addition, I have configured both shairport-sync
and upmpdcli
to switch Snapcast to their respective input when they start playing.