Clementine: Jack plug names change with each stream (jackaudiosink)

Created on 13 Jan 2014  路  3Comments  路  Source: clementine-player/Clementine

I could be missing something here, but it's driving me nuts. I use jackd as my playback sound server and have the option set in Clementine's prefs.

As playback rolls along, Clementine creates/switches between jack sockets "Clementine" and "Clementine_01" for each song. That's OK, I guess, but it also creates unique plug names under those sockets each time, like so, "out_jackaudiosink-X_Y" where Y is 1 or 2 (good), but X is any 'ol number (It may have a logic to it, I don't know, but that doesn't matter except to create a problem in jack)

Trouble is, with ever unique socket/plugnames being created, jack's patchbay can never map an automatic patch to the appropriate system output.

Every time a song changes, Clementine create the new socket and "random" plug name, so Jack has no idea what to do with them. User has to reconnect the patch by hand, every time, to restore music output.

I believe the "fix" is to just call the plugs "out_L" and "out_R", and losing they rest, but most particularly deleting "X" from the plugname.

Most helpful comment

This is being my problem too, but for use for _patchbay_ specifically (so far), I have come up with a workaround - not exactly the cleanest kind, but it works nevertheless. Try using some regular expressions as shown below.

a.)For the jack clients named _Clementine_ and/or _Clementine-A_ (where _A_ is typically an integer) as declared by _Clementine_ , you could get _patchbay_ to refer to them by altering

Clementine

with

^Clementine[-][0-9]

This should make _patchbay_ follow clients with names starting with _Clementine_ and with or without hyphens and numbers following it.

b.)For jack plugs named _out_jackaudiosink-X_1_ and _out_jackaudiosink-X_2_ where_X_ typically is a number with digits of unknown lengths, you could hand-edit the two entries to alter

out_jackaudiosink-X_1
out_jackaudiosink-X_2

with

^out_jackaudiosink-[0-9]+_1
^out_jackaudiosink-[0-9]+_2

respectively.

All 3 comments

This is being my problem too, but for use for _patchbay_ specifically (so far), I have come up with a workaround - not exactly the cleanest kind, but it works nevertheless. Try using some regular expressions as shown below.

a.)For the jack clients named _Clementine_ and/or _Clementine-A_ (where _A_ is typically an integer) as declared by _Clementine_ , you could get _patchbay_ to refer to them by altering

Clementine

with

^Clementine[-][0-9]

This should make _patchbay_ follow clients with names starting with _Clementine_ and with or without hyphens and numbers following it.

b.)For jack plugs named _out_jackaudiosink-X_1_ and _out_jackaudiosink-X_2_ where_X_ typically is a number with digits of unknown lengths, you could hand-edit the two entries to alter

out_jackaudiosink-X_1
out_jackaudiosink-X_2

with

^out_jackaudiosink-[0-9]+_1
^out_jackaudiosink-[0-9]+_2

respectively.

I just started getting into Jack and was looking for an audio player with nice library management and jack support and this looked great but this issue drives me nuts. I use QjackCtl to manage my connections but since Clementine does this QjackCtl cannot keep track of the connections and auto connect them.

This is being my problem too, but for use for _patchbay_ specifically (so far), I have come up with a workaround - not exactly the cleanest kind, but it works nevertheless. Try using some regular expressions as shown below.

a.)For the jack clients named _Clementine_ and/or _Clementine-A_ (where _A_ is typically an integer) as declared by _Clementine_ , you could get _patchbay_ to refer to them by altering

Clementine

with

^Clementine[-]_[0-9]_

This should make _patchbay_ follow clients with names starting with _Clementine_ and with or without hyphens and numbers following it.

b.)For jack plugs named _out_jackaudiosink-X_1_ and _out_jackaudiosink-X_2_ where_X_ typically is a number with digits of unknown lengths, you could hand-edit the two entries to alter

out_jackaudiosink-X_1
out_jackaudiosink-X_2

with

^out_jackaudiosink-[0-9]+_1
^out_jackaudiosink-[0-9]+_2

respectively.

This does seem to work. Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Clementine-Issue-Importer picture Clementine-Issue-Importer  路  6Comments

technicaltitch picture technicaltitch  路  5Comments

teneri66 picture teneri66  路  4Comments

JulianVolodia picture JulianVolodia  路  5Comments

MoOx picture MoOx  路  4Comments