pw-viz icon indicating copy to clipboard operation
pw-viz copied to clipboard

Unification of multiple nodes belonging to the same application

Open mkrasnitski opened this issue 3 years ago • 6 comments

In comparison to using QjackCtl, if an application has multiple outputs or inputs, they each appear as separate nodes in the graph. Helvum also suffers from this problem. For example, if I open pavucontrol, each separate input is on a separate node, one for each currently running application, whereas QjackCtl unifies them into a single node. Here's a screenshot of QjackCtl: image

Compared to pw-viz: image

You'll notice QjackCtl doesn't unify everything. It puts inputs and outputs in the same node, but not monitors. pw-viz does the opposite, putting inputs and monitors together, but not outputs. I think it would be great to put them all in one node. Additionally, on the pavucontrol node, all the left channels are stacked together, and then the right channels. I think it'd be better to stack pairs together.

mkrasnitski avatar Nov 16 '21 17:11 mkrasnitski

That seems like a good idea, should be relatively straightforward to implement, I have setup a branch to experiment with this.

Ax9D avatar Nov 17 '21 06:11 Ax9D

Unification looks great, except in cases of self linkage, maybe there is a better way to display those 20220109105352

Atakku avatar Jan 09 '22 09:01 Atakku

also this may not be very intuitive when there are several tabs in Firefox for example, maybe add some sort of a divider in-between? 20220109115430

Atakku avatar Jan 09 '22 10:01 Atakku

Also apps that interact with my mic and headphones at the same time can look confusing (here is Discord for example) 20220109121913

Atakku avatar Jan 09 '22 11:01 Atakku

Unification looks great, except in cases of self linkage, maybe there is a better way to display those 20220109105352

I will be adding parameters to control the bezier curve, also you can make the node background transparent to better see the self links

also this may not be very intuitive when there are several tabs in Firefox for example, maybe add some sort of a divider in-between? 20220109115430

I agree, as a temporary workaround you can hold down the control key, which will show the id of the tabs in between

Also apps that interact with my mic and headphones at the same time can look confusing (here is Discord for example) 20220109121913

While I can see how this can be confusing I think this is fine as rerouting audio like this isn't that common; also grouping nodes together makes finding the input/output port you want to connect to easier(as they are in one place), plus this makes the graph easier to parse visually imo,

the ultimate solution to this would be to make grouping nodes a setting that the user can turn on and off based on their preference/usecase.

Other ideas/suggesetion are ofcourse welcome.

Ax9D avatar Jan 11 '22 20:01 Ax9D

I personally like the idea of being able to optionally split a node into its outputs, inputs, and monitors for nicer looking graphs. Combined is a sensible default, but the option would be nice.

mriise avatar Jan 14 '22 15:01 mriise