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?
Well and what if you set "Interface" to your hw:x,x device, "Input
device" and
"Output device" to "default"? Here this results in a ~/.jackdrc file
containing
-P only, omitting device name, which should also work for you...
AFAIK the In/Output device choice is not a very old feature in jack, and its
intention is to let you choose different devices for each, in cases where that's
possible (I don't know a real-world use case, and may be missing the picture).
If you don't want to do that you should leave those two options alone
("default"
setting in qjackctl)
Regards,
Crypto.
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user(a)lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user