[LAU] Getting Rhythmbox to Appear in qjackctl

Stuart Longland stuartl at longlandclan.id.au
Sat May 23 23:37:50 CEST 2020


On 23/5/20 2:29 am, Samir Parikh wrote:
>> How do I get Rhythmbox (GNOME application similar to iTunes) to appear
>> in qjackctl?
> 
> Rythumbox must have the ability to open as a jack client built in.
> Therefore, the place to check would be in the
> setting/preferences/options/whatever dialog and see if it is possible to
> set audio out to jack

I think we're flogging a dead horse with Rhythmbox.

> RC=0 stuartl at rikishi ~ $ emerge -pv rhythmbox
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies... done!
> [ebuild   R    ] media-sound/rhythmbox-3.4.4::gentoo  USE="cdr dbus libnotify mtp python udev -daap -gnome-keyring -ipod -lirc -test -upnp-av" PYTHON_SINGLE_TARGET="python3_7 -python3_6 (-python3_8)" 0 KiB

I installed it here (my machine runs Gentoo Linux rather than Ubuntu) to
see if it could be pointed directly at JACK.  It seems it only
communicates with PulseAudio, so that's a firm *no*.  Jitsi/Zoom also
have the same limitation, they only talk to PulseAudio.

Yes, you'll be able to "hear" it through JACK, because PulseAudio has a
JACK plug-in.  That's where that experiment ends, because as far as JACK
is concerned, it sees one client called "PulseAudio".

JACK cannot differentiate between Jitsi/Zoom or Rhythmbox, because as
far as it's concerned, it sees a pre-mixed audio stream from both
applications, it is unable to separate the audio from one and feed it
into the other.

JACK has just found itself in the milk bar with a chocolate milkshake
and is trying to figure out how to separate the cocoa from the milk.

If you could convince PulseAudio to present each PA client to JACK as a
separate audio stream, *then* you could make this work.  (And probably
also make your Bluetooth headset work.)

The other option is if you can convince Rhythmbox to talk to ALSA, since
the JACK plug-in for ALSA does present each ALSA program as a separate
JACK source/sink.  The challenge is the name won't necessarily reflect
the name of the program.

I've just pointed Clementine at the "default ALSA" output (which in my
case is configured via ~/.asoundrc to point to JACK)… `jack_lsp` reports
this:

> RC=0 stuartl at rikishi ~ $ jack_lsp 
> system:capture_1
> system:playback_1
> system:playback_2
> PulseAudio JACK Sink:front-left
> PulseAudio JACK Sink:front-right
> PulseAudio JACK Source:front-left
> PulseAudio JACK Source:front-right
> alsa-jack.jackP.231786.0:out_000
> alsa-jack.jackP.231786.0:out_001

So right there, we can see the microphone and two speaker channels for
my USB headset, the PulseAudio plug-in and one instance of the ALSA JACK
plug-in.  Note the digits present in the client name:

> RC=0 stuartl at rikishi ~ $ ps aux | grep 231786
> stuartl  206969  0.0  0.0  14076  1012 pts/6    S+   07:32   0:00 grep --colour=auto 231786
> stuartl  231786  1.7  3.1 3009116 249316 tty1   SLl  May23  22:36 clementine

That's the PID of the clementine process which is talking to ALSA.

If RhythmBox had such an option, that's what you'd be looking for in
qjackctl.  Jitsi/Zoom would likely continue to use PulseAudio, and you'd
be able to "draw" a connection between RhythmBox's output to the
"PulseAudio JACK Source" to connect it to Jitsi/Zoom.
-- 
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
  ...it's backed up on a tape somewhere.


More information about the Linux-audio-user mailing list