MPD controlled by UPnP, it
shairport-syncitself 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
upmpdcli to switch Snapcast to their respective input when they start playing.