So I watched the video. I guess what I find confusing is this notion of "Moving" streams. I think a lot could be resolved instead by getting rid of the notion of moving streams and instead conceptually have streams exist always and independent (similar to now) but instead of moving streams you just specify which outputs they are conneced to.
<br><br>So, if I want to direct a stream to my three outputs (o1,o2,o3), I can just specify in the gui by checking those three boxes. This really simplifies things because some of the more confusing concepts in pulse just go away. For example, you don't need virtual devices anymore (you might keep them around as a convenient shorthand for saying hook up these a,b,c devices to this stream but you don't need them anymore and only advanced users would care about the shortcut). Also the confusion with multicast streams and looping back to speakers goes away. You just treat multicast output as another output device and if you also want audio to come out of your local speakers, you just also leave your local speakers checked.
<br><br>I think the current gui actually has a bug because you are using check boxes instead of radio boxes for moving streams but in the change I'm talking about, that would actually be what you want except that you could check multiple boxes at once.
<br><br>So on a stream when I right clicked, instead of seeing "Move stream", I would see "Set stream output devices" and I could do something like this:<br><br>[ x ] Speakers<br>[ ] Headphones<br>[ x ] Audio broadcast (Multicast Stream)
<br>[ x ] Speakers@living_room_stereo_server<br><br>Somewhere you could specify the list of what outputs are enabled by default.<br><br>My idea in the image I send was just in recognition of that fact that many gui apps are associated with a single stream so it makes sense to also expose this exact dialog in the window menu so you can direct the output of that app direct from the app instead of having to open and extra pulse dialogs.
<br><br>Anyway, this just seems more intuitive to me and eliminates a few existing dialogs and concepts so simpler seems better to me. Also, it allows you to implement access to all the important access people would want 99% of the time right in the application window menu which is also simpler and more intuitive.
<br><br>Having things associated with the window manager is also cool because just like remembering window locations and dimensions when a program is launched, the window manager (or whatever) could remember audio settings from previous launches so you wouldn't really have to ever set this stuff up except when you wanted to change it which for most streams you never would. For example, once I specify that I want all my desktop sounds only to go to the local speakers, I'm never going to change that, same thing with directing my audio player outputs to my living room stereo.
<br><br>Also, the concept of multicast streams is very confusing. Right now if the gui for this stuff is confusing and I have only gotten network play to work by pure trial and error. Most of that is simply not needed if you rearrange things like I suggesting except for playing someone else's stream locally. For that a person probably would need to go to a dedicated stream manager or something but that could be done from the existing stream/output/input dialogs or there could be a pulse audio "player" that does only that. Then you don't need the stream/output/input tool at all.
<br><br>Again, just my 2c.<br><br>Thanks and good luck with this great project.<br><br><br>