Split devices for capture/monitor and playback ports
Since recent PW versions, the merge/split behaviour for devices has changed (inputs and outputs are in same block, rather than separate since 0.3.67 for virtual devices).
According to PW devs they have no intentions of settings a standard on their side for tools that use PW directly and it should be implemented on the tools side, so I am suggesting that some toggles would be added for this.
The prior behaviour has forever been split for everything except applications running in JACK, like Calf, now everything except physical/alsa devices are merged in qpwgraph.
For anyone landing on this issue looking for a fix for this, I managed to revert the behaviour for now by changing the following bit in qpwgraph_pipewire.cpp
function bool qpwgraph_pipewire::findNodePort ()
:
const uint port_flags_mask = (Port::Physical | Port::Terminal);
if ((port_flags & port_flags_mask) != port_flags_mask) {
into
const uint port_flags_mask = (Port::Physical | Port::Terminal | Port::Monitor);
if ((port_flags & port_flags_mask) == 0) {