On Sat, 22 Jan 2022 13:57:45 -0800 (PST) Len Ovens wrote:
On Sat, 22 Jan 2022, John Murphy wrote:
My QJackCtl Patchbay doesn't work any more
and it's obvious there are
new ways to get similar functionality with WirePlumber, but a little
example would help. I seem to want to pipe the output of pw-link -l
somewhere (pw-link -l | wireplumber --make_it_so).
Need to always connect jack-play this way:
$ pw-link -l
alsa_output.usb-EDIROL_M-16DX-00.pro-output-0:playback_AUX0
|<- jack-play:out_1
alsa_output.usb-EDIROL_M-16DX-00.pro-output-0:playback_AUX1
|<- jack-play:out_2
jack-play:out_1
|-> alsa_output.usb-EDIROL_M-16DX-00.pro-output-0:playback_AUX0
jack-play:out_2
|-> alsa_output.usb-EDIROL_M-16DX-00.pro-output-0:playback_AUX1
I think you can (via PW setup) change the name of your USB to
system:playback_1 (and 2) and then Qjackctl's patchbay might just work.
https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#be…
Change node.name to system and audio.position = [ FL FR ] to [ 1 2 ] etc.
I am not sure why PW, in it's JACK compatibility does not allow one of the
devices to be chosen as master and called system:* for compatibility with
all the JACK software out there... but it is what it is. I am sure someone
will come up with a configuring app(let) that does this better for
profesional audio use. To be honest, I am not really sure what optimal
would be.
Thanks Len, it works fine now. I copied /etc/pipewire/client-rt.conf) to
/etc/pipewire/virtual-sink.conf and added, in the modules section:
{ name = libpipewire-module-loopback
args = {
node.name = "system"
node.description = "the system"
capture.props = {
media.class = "Audio/Sink"
audio.position = [ FL FR ]
}
playback.props = {
audio.position = [ AUX0 AUX1 ]
node.target = "alsa_output.usb-EDIROL_M-16DX-00.pro-output-0"
stream.dont-remix = true
node.passive = true
}
}
}
I don't see a connection line in QJackCtl's Connections, but it's there.
Maybe I'll try some variations on the audio.position settings.
It's well documented, although over-my-head, but I needed to get that
working quickly so my Qt program, which uses jack-play via QProcess, works.
--
John.