Ax9D / pw-viz

Pipewire graph editor written in Rust. WIP⚠️
GNU General Public License v3.0
230 stars 14 forks source link

Support cycles #5

Closed minijackson closed 1 year ago

minijackson commented 2 years ago

Hello and thank you for this project, it looks great!

The only issue I've seen so far from my very limited testing, is that pw-viz does not support cycles. The usecase I had was using Ardour, an audio work station:

I have a session with two tracks (Top and Bottom in the screenshot), whose audio is routed to the Master bus, and the Master bus is then forwarded to the speakers.

Here's how it looks in Patchage:

screenshot

In pw-viz, the message ERROR [pw_viz::ui::graph] Cycle detected is displayed on the terminal. Here's how it looks:

20211117_19h10m28s_grim

Thanks again!

skryking commented 2 years ago

I see the same thing with Ardour as well.

jansol commented 2 years ago

Calfjackhost also exposes all plugins as one node, which necessitates looping back to the same node (patchage):

image

Ax9D commented 2 years ago

I made some changes in the grouped_nodes branch, nodes with cycles seem to be working, although cyclic graphs as a whole are not supported yet image

jansol commented 2 years ago

Nice! May I suggest making the link curves protrude from the ports a bit more aggressively? They turn behind the nodes rather quickly now, if they made a slightly bigger loop before disappearing that might help with readability a bit. Also if it's easily possible to make the nodes slightly transparent without hurting the readability that would help with following links that pass behind nodes.

Ax9D commented 2 years ago

Support for cycles was added in 415a619, although i'll keep this issue open till the next release