JACK -- isn't QjackCtrl supposed to reconnect things?

What other apps and distros do you use to round out your studio?

Moderators: MattKingUSA, khz

Post Reply
ThatJackElliott
Established Member
Posts: 57
Joined: Thu Jul 27, 2023 4:06 pm
Been thanked: 3 times

JACK -- isn't QjackCtrl supposed to reconnect things?

Post by ThatJackElliott »

Hi, I really appreciate the help I'm getting here from the community, JACK is new to me and I'm running into little puzzles and things that you all have been helping me with immeasurably!

Here's another: I have a JACK-aware command line program that I'm running in the background (darkice). Darkice is fairly intolerant of network issues and if the network glitches darkice goes into endless error-message looping and it ceases sending its icecast stream*. The device is still visible in QjackCtl's Graph. Once the program is terminated in Terminal with ctrl-C, the device disappears. When relaunched, the device reappears but is unconnected. So, manual re-wiring.

Is this expected behavior that QjackCtl does not reconnect things?

  • If anyone knows of a Linux JACK-aware Icecast source-client software that is more robust, please tell!

-- Jack Elliott
They'll never take me alive

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: JACK -- isn't QjackCtrl supposed to reconnect things?

Post by Impostor »

ThatJackElliott wrote: Wed Aug 02, 2023 6:50 pm

Is this expected behavior that QjackCtl does not reconnect things?

You must first create a patchbay with all desired connections, save it, then activate patchbay persistence. (All within QJackCtl)

ThatJackElliott
Established Member
Posts: 57
Joined: Thu Jul 27, 2023 4:06 pm
Been thanked: 3 times

Re: JACK -- isn't QjackCtrl supposed to reconnect things?

Post by ThatJackElliott »

Thank you!

So I have to take whatever I've rigged up in Graph and duplicate it into Patchbay for Saving and Loading and persistence. Seems clunky. I thought computers were supposed to do such drudgery automagically.

[ EDIT ]: I have several clients with multiple input and output ports. In Patchbay I can't seem to make connections between individual Input Sockets / Plugs and individual Output Sockets / Plugs. One of my clients (zita-MU1) has quite a collection of ports/sockets. How's a fellow supposed to route to them?

The first image on this page https://www.rncbc.org/drupal/node/76 shows an example of individual socket connections, it's what I want to do, but he doesn't reveal how.

-- Jack Elliott
They'll never take me alive

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: JACK -- isn't QjackCtrl supposed to reconnect things?

Post by Impostor »

ThatJackElliott wrote: Wed Aug 02, 2023 7:49 pm

Thank you!

So I have to take whatever I've rigged up in Graph and duplicate it into Patchbay for Saving and Loading and persistence. Seems clunky. I thought computers were supposed to do such drudgery automagically.

What's clunky about it? You connect the stuff you want to connect. That's user control. When patchbay persistence is activated, those connections are automatically made whenever they can be made. The only thing you have to do is start qjackctl. But even that can be automated.

You could even set it up so that, for example, when you turn on your midi keyboard, a script is executed which starts* qjackctl, sets your cpu to performance mode, starts your preferred audio programs and anything else; and all necessary connections, which you have specified in the patchbay, are automatically made by qjackctl.

Doesn't get much more automagical than that.

*Edit: Well, that's apparently harder to accomplish than I thought. Running a script on a connecting/disconnecting udev rule works fine, but running a gui-program from within that script is not something udev seems to like.

Last edited by Impostor on Thu Aug 03, 2023 6:15 pm, edited 2 times in total.
User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: JACK -- isn't QjackCtrl supposed to reconnect things?

Post by Impostor »

ThatJackElliott wrote: Wed Aug 02, 2023 7:49 pm

[ EDIT ]: I have several clients with multiple input and output ports. In Patchbay I can't seem to make connections between individual Input Sockets / Plugs and individual Output Sockets / Plugs. One of my clients (zita-MU1) has quite a collection of ports/sockets. How's a fellow supposed to route to them?

In the "Add.." in- and output Sockets/Plugs dialog, choose type, client, and plug. You can create distinct sockets for different plugs of the same client, so you can route them independently.

ThatJackElliott
Established Member
Posts: 57
Joined: Thu Jul 27, 2023 4:06 pm
Been thanked: 3 times

Re: JACK -- isn't QjackCtrl supposed to reconnect things?

Post by ThatJackElliott »

Okay, so in the case of zita-mu1, and let's say I want to connect to input sockets 1L/1R from client No.1, and to input sockets 2L/2R from client No.2, I would Add Client "zita\-mu1" (that's how it appears) and Plugs "in_1\.L" and "in_1\.R" and connect my first client to it. Then add another instance Client "zita\-mu1" and Plugs "in_2\.L" and "in_2\.R" and connect my second client to it. In both cases the two clients are connected to the same zita-mu1 thingie but this double entry is needed because QjackCtl (and maybe JACK in general) knows only L/R stereo routing. Am I getting warm? Tell me I'm getting warm . . .

Thank you for the hand-holding.

-- Jack Elliott
They'll never take me alive

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: JACK -- isn't QjackCtrl supposed to reconnect things?

Post by Impostor »

ThatJackElliott wrote: Wed Aug 02, 2023 10:39 pm

but this double entry is needed because QjackCtl (and maybe JACK in general) knows only L/R stereo routing.

Not exactly. In the patchbay, if you have an out-socket with, say, 7 plugs, and connect it to an in-socket with 3 plugs, three connections will be made, in order of appearance.

But, you can also create a (new) patchbay from connections you've drawn in the graph. Just select "snapshot". The resulting list will be a bit of a mess though, imo, so I usually just manually add sockets and plugs to the patchbay, if needed.

User avatar
Linuxmusician01
Established Member
Posts: 1548
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland (Europe)
Has thanked: 784 times
Been thanked: 144 times

Re: JACK -- isn't QjackCtrl supposed to reconnect things?

Post by Linuxmusician01 »

ThatJackElliott wrote: Wed Aug 02, 2023 6:50 pm

[...]

Is this expected behavior that QjackCtl does not reconnect things?

I hope so. I wouldn't like JackAudio to not free up my connections when I disconnect hardware. It's the age-old story: what's a bug to some is a feature to others. Peace. :)

Post Reply