I built exactly what you are asking for about a year ago and have been using it A LOT ever since. I currently have 6 zones (5 sets of speakers + icecast output) and 4 mpd instances. I also have a very rudimentary interface to allow any mpd instance to play its sound out of any zone (or multiple zones, synced).

I warn you the code is hacky, but perhaps with someone interested in the problem it could be cleaned up and turned into a proper open source project. It is also based on 0.9.10 and because it works so well (like it has NEVER crashed) I haven't ever upgraded anything except MPD to get replaygain support.

Email me directly if you are interested.

Matt



Timothy J Massey wrote:
Hello!

I am trying to build your typical multi-room audio server. I would like to have a single computer with e.g. 4 copies of MPD as 4 sources, and e.g. 8 USB soundcards, creating 8 sinks. I would like users to be able to select, independently, for each of the sinks the source that it is using--without disturbing any of the other sinks. A single source could be played back by any number of sinks independently of each other, and each source would be able to select from any of the available sources, regardless of who else is using it as well.

>From what I can tell, with PA you can pick only which (single) sink a source is connected to. If you pick a new sink for the source, it is removed from whatever sink it was using before. And AFAICT, if you want to have a source play via more than one sink, the only way to do this is to create a virtual sink that is a combination of more than one sink. Is this correct? It's not really practical to create a virtual sink for each of the possible combinations of e.g. 8 different sinks...

I'm looking for a more flexible structure. I would like to be able to connect a sink to a source, and leave whatever other sinks that might already be playing from that source *alone*. For example, if I'm listening to MPD#1 in the living room, and I start moving between the living room and the kitchen, I want to be able to select MPD#1 in the kitchen *and* leave it undisturbed in the living room. Then, if someone moves into the living room and switches it to MPD#2, I want my playback in the kitchen undisturbed.

What I'm describing is a very typical bus setup that any higher-end multi-zone audio (or mixing board) would support. Each output can independently connect to one of a number of available sources without affecting any of the other output channels. The sources don't care which channels (if any) are connecting to them, and the sinks don't care what the other channels are doing.

I apologize in advance if this is a FAQ: I'm very willing to RTFM--just please tell me which FM to R! :) I am open to any suggestions how I might be able to accomplish this, including both different Linux distributions and different sound management layers (i.e. would Jack be better for this?).

Thank you,

Tim Massey

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

Reply via email to