Patchbay concept too inflexible
The concept of patchbays in qpwgraph feel very restrictive to me. This is contrasted by your other program qjackctl, whose patchbay feels very granular and easy to control.
As I understand it, the concept behind the qpwgraph patchbay is to persist every active connection without the concept of "editing" the patchbay file separately from the live session. "Editing" the file consists of making live connections and disconnections directly to pipewire, and saving the patchbay saves all active connections to the patchbay file and enforces them later. This is far too rigid for me, I want to have only a few specific connections persisted by the patchbay and leave everything else handled by my session manager automatically.
A workaround was mentioned in an earlier issue:
I see your point: and you can workaround the issue by:
- disconnecting all the connections you don't want, then:
- Patchbay > Save, and after that:
- Edit > Undo all the disconnections you made before the save (if you really want them :)).
This does work, except when I undo all the disconnections, qpwgraph considers me to have "unsaved changes" to the patchbay. Since the live connections are the "edit mode" of the patchbay, closing the program brings up a prompt to save, even though I do not consider these changes as relevant to my patchbay. This quite simply makes no sense to me anymore and I can't find a way to justify this over a separate edit mode that lets me dictate exactly which connections are a part of the patchbay file, and thus relevant to enforce.
Qjackctl allows this very easily. It has a separate "editor" window which allows you to define the connections to persist and maintain, any connections not defined in that editor window are not a part of the patchbay and are allowed to roam free from the supervision of qjackctl. I fail to understand why this is undesired behavior for qpwgraph.
Editing the live graph in qjackctl does not directly modify the patchbay at all, in fact the only way to modify the patchbay is to use the editor. This is exactly the behavior I would like to have in whatever way works.
It is a lot easier and more convenient to edit the patchbay using the graph interface, but I feel this could be re-used for a patchbay edit mode as well, the interface of qjackctl does not need to be reimplemented. I think when editing the patchbay the graph interface disengages from pipewire and reflects only what is in the patchbay file. I think a button to "enable" and "disable" nodes from the patchbay would work well, with enabled nodes having their connections enforced by the patchbay, and disabled nodes not even saved in the patchbay file and left alone. Disabled nodes could be grayed out.
I find it extremely frustrating to be forced into qpwgraph's concept of patchbay and want the granularity of qjackctl's implementation back. Is there anything we can do to make this happen?