I've been testing on three different installations: Mint and Ubuntu with PipeWire on one computer, and Jack on another computer with Ubuntu.
Modifying channels always produces random behavior.
On JACK_
The problem doesn't manifest itself. However, sometimes the modification restarts the server (which has no real consequences; everything works as expected), other times it crashes Qtractor, and other times it works correctly without restarting Jack.
On PipeWire_
Sometimes it performs port modifications correctly. But generally, it's unable to interpret the modifications correctly. Updating in Qtractor does nothing. Updating in Qpwgraph sometimes does nothing, other times it changes things but doesn't quite do it correctly.
It's as if it doesn't know how to interpret what's being asked of it. If you send it 5 output channels, sometimes it creates 2 input and 3 output... It's as if you tell it 5, and it tries to distribute them randomly.
It seems to be a problem interpreting port names.
For example, if I have a Master bus, and I create a Master1 bus, PipeWire may not create the ports for Master1 and instead add ports to Master.
But as I said, you don't know what will happen... it's completely random.
What PipeWire does correctly is always create new ports, not modify them. Whenever you create a new bus, it works fine, creating the indicated ports (unless the name is the same as an already created bus plus numbering. Example: "Master1." As I said before, that sometimes fails).
So there is a solution. Instead of asking PipeWire to modify the ports, you have to ask it to delete the existing ones on that bus and create new ones for the requested ones.
I've been testing on three different installations: Mint and Ubuntu with PipeWire on one computer, and Jack on another computer with Ubuntu.
Modifying channels always produces random behavior.
On JACK_
The problem doesn't manifest itself. However, sometimes the modification restarts the server (which has no real consequences; everything works as expected), other times it crashes Qtractor, and other times it works correctly without restarting Jack.
On PipeWire_
Sometimes it performs port modifications correctly. But generally, it's unable to interpret the modifications correctly. Updating in Qtractor does nothing. Updating in Qpwgraph sometimes does nothing, other times it changes things but doesn't quite do it correctly.
It's as if it doesn't know how to interpret what's being asked of it. If you send it 5 output channels, sometimes it creates 2 input and 3 output... It's as if you tell it 5, and it tries to distribute them randomly.
It seems to be a problem interpreting port names.
For example, if I have a Master bus, and I create a Master1 bus, PipeWire may not create the ports for Master1 and instead add ports to Master.
But as I said, you don't know what will happen... it's completely random.
What PipeWire does correctly is always create new ports, not modify them. Whenever you create a new bus, it works fine, creating the indicated ports (unless the name is the same as an already created bus plus numbering. Example: "Master1." As I said before, that sometimes fails).
So there is a solution. Instead of asking PipeWire to modify the ports, you have to ask it to delete the existing ones on that bus and create new ones for the requested ones.