Multi room funtionality strategies (Mopidy development)

Not sure if this is the right venue, but if someone was to make changes to modipy to accommodate multiroom installations, what would they be ?

I have a house with a dozen audio zones. The speakers in all the zones are wired back to a central location where I have 2 12 channel amplifiers. I intend to run a server with multiple modipy instances. I will have 1 USB DAC “sound card” for each audio zone.

The first question that comes to mind is if I should have 1 modipy instance per zone or 1 modipy instance per user. The way modipy is currently used, it makes more sense to have 1 per zone. (Kitchen, dining room, great room, etc.) However, if we modified modipy so that we could select the target zone(s) in the gui for the output, it would make more sense to have 1 per user and let the user pick which zone(s) get the output from that instance.

Has anyone given any thought to how zones should work ? How is this supported in the MPD protocol ? I haven’t seen an MPD client that supports multiple outputs.

There are other multizone issues, but lets start with that.

I think most MPD clients I have seen support multiple outputs. Mopidy however, does not currently support this feature due to issues in gstreamer0.10. With the upcoming move to gstreamer 1.0 maybe it will be looked at again at some point.

What issue is there with gstreamer-0.10 that prevents it from using different outputs ?

What are your thoughts about 1 client per user or per zone ? Seems to me that 1 per user makes more sense. But then how do you organize them from the web address point of view ? Should each instance be tabbed in a main instance ?

BTW, is there a way to run modipy on a box that is also serving html content from another server process ?

They are documented throughout the github issue tracker. With gstreamer 1.0 on the horizon, it’s not worth getting into it.

I don’t know of any web client that supports anything like that.

Yes, you can have any process serving whatever you like on whatever port you like. Although obviously two processes can not use the same port. Are you asking about using Mopidy behind a reverse proxy? if so, try https://raw.githubusercontent.com/jcass77/Pi-MusicBox/nginx/filechanges/etc/nginx/sites-available/default or https://github.com/pimusicbox/mopidy-musicbox-webclient/issues/65#issuecomment-132984693

Not a reverse proxy server. I’ll leave this topic alone for now.

linux_guy, it sounds like we’re doing the same thing, i.e. I share your desire to use multiple mopidy instances for a multi-source, multi-sink sound system. As kingofsticks said, most mpd clients support dynamically selecting the outputs that the server it’s connected to uses at any given time. I’ve been using this for years with my system and it works, although the interface for changing outputs isn’t very graceful in most clients bc it’s not something MOST people use frequently so they don’t make it readily accessible.

Is there a reason you need to use mopidy instead of mpd? If you’re like most, the reason is that you want more sources than mpd supports (spotify! soundcloud!). For details on setting all this up, let’s put the details in the other thread I started: