With the Airplay and Spotify integration I’m thinking more and more about how to turn Volumio into a more Sonos-like system.
I dont have much experience with the Spotify integration since in don’t have a premium account, but have used Airplay a few times. Im sure you guys have thought of this more than once, and maybe its already on the schedule, so forgive me if this topic has been discussed.
As far as I know, MPD, Airplay (UPnP/DLNA) and Spotify dont interact with eachother. Since they have to share the ALSA the other services get stopped/paused.
My idea is to build a system (not sure how much is needed, maybe only a few scripts, perhaps a whole program package) that controls the MPD/Airplay/Spotify/Future integrations. Think of how Sonos handles its playlist, you can mix spotify/local phone/nas songs into 1 playlist.
This would allow you to play songs from a NAS-server, add a song from your phone to the playlist to play next and some spotify song randomly added without any interrupts.
The system would handle the webserver input stuff so you would still be able to controll the playback/playlist/database stuff with the nice Volumio GUI and the forward the right stuff to the right service. The system would keep his own kind of playlist, which then controls the right server for the right songs.
MPD has a nice API which would let you keep track of the playback status, and im sure there is way to get the Spotify/Airplay playback status as well.
Hope this image will give you a better idea of the concept. (Professional Paint skills, dont ya think? )
MPD/spotify/Airplay wont have to remember its playlists since the system will save the playlist with the right data for each song. It could send the MPD the command to just play a file from filepath, MPD doesnt need to have its own playlist for this to work.
I would be happy to contribute to this system. At the moment im working on my own app for Volumio (mostly MPD, spotify/airplay to be implemented) to make it more of a complete system instead of multiple, different services.
Let me know what you think!