Re: [LAU] Kmix + jackd strange behaviour

From: Crypto <crypto@email-addr-hidden>
Date: Thu Oct 30 2008 - 13:53:04 EET

On Thursday 30 October 2008 11:04:38 Rui Nuno Capela wrote:

> this device list, assuming you're referring to the qjackctl setup
> drop-down menu as shown by the [>] button on the right to interface and
> input/output device entry fields and "alsa" is the selected driver, is
> just the enumeration of all alsa_pcm devices available in your system.
>
> this list is not created by qjackctl. it is indeed queried by qjackctl
> to the alsa control layer and is built everytime you pop the menu up, so
> it doesn't matter at all whether you restart qjackctl or not.
>
> otoh, i suspect that it is amarok, which you must ensure that its xine
> engine is sure having jack as its output plugin, that needs to be reset
> or recycled whenever you restart jackd (via qjackctl).
>
> byee

Ah, I have found it. It is a matter of confusion ;-) And, unfortunately, it IS
a problem in qjackctl. Maybe it is a feature though ;-)

I have had a look at the .jackdrc file which in my case contains a single
line:

/usr/bin/jackd -R -dalsa -dhw:1 -r48000 -p128 -n2 -Phw:0,0 -S -o2 -Xseq

This is the line that jackd gets on startup when launched by qjackctl.

It is set to -d hw:1 which means output to hw:1 (my external USB device).

The tricky thing is the -P parameter.

It means: -P --playback Provide playback ports. Optionally set device
(default: none)

It is wrongly set to hw0:0 which is the onboard sound of my notebook.

Why is that?

Look in qjackctl: one can select from the "Audio" menu to have duplex
or "Playback only" or "Capture only".

If You - as I did - select "Playback only", then the menus for "Input Device"
and "Output Device" are greyed out and cannot be selected. I thought that the
ONLY relevant device, that is, the device for audio output in this case, is
then selected ONLY by the menu "Interface".

Unfortunately, the values of the menu "Output device" is still saved in
the .jackdrc file and therefore sent to jackd.

So: if the "Output Device" is greyed out and/or one has not been set before to
the correct output port (in my case: external USB card), then the wrong
output device will be placed in the .jackrc file and sent to jackd.

It is easy to circumvent this, though:

-> Select "duplex" in the top menu,
-> Set both "Output device" and "Input device" (just in case) to the desired
ports, in my case that is external USB audio device,
-> revert top menu to "Playback only" and select external USB device (again)
in the "Interface" menu
-> start jackd, which will save new .jackdrc file which now looks like this:

/usr/bin/jackd -R -dalsa -dhw:1,0 -r48000 -p128 -n2 -Phw:1,0 -S -o2 -Xseq

It contains the -P option which now outputs to hw:1,0 which is external USB
audio correctly.

Suggestion for improvement: Leave out the "Interface" menu on top and switch
interfaces only by "Input Device" and "Output Device". Grey out (make
unselectable) the Device which is not relevant, i.e. if chosing "Capture
Only" grey out "Output Device", but make sure that the output device is not
placed in the jackdrc file. And vice versa.

It seems to me like the three interface menus are treated differently. Maybe
there was a good reason to include the -P option in the jackdrc-file?

Regards,
Crypto.

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
Received on Thu Oct 30 16:15:02 2008

This archive was generated by hypermail 2.1.8 : Thu Oct 30 2008 - 16:15:02 EET