[LAU] [LAD] like "qjackctl", but trimmed of all fat

Robin Gareus robin at gareus.org
Sat May 29 12:00:52 UTC 2010


Hi Julien, Hey Aaron,

read 'jack_lsp --help'.

'-t' does not take any arguments; it just makes jack_lsp print the type.
the filter-string only acts on the port-name (BTW, not only the
beginning of the port-name; but it's case-sensitive: strstr() )

Anyway I can reproduce the problem, some jack-midi ports show up in the
audio-tab of jackctl20100528b.py.

jackctl20100528b checks for lowercase 'midi' in the port-name instead of
looking up the port-type. So a2jmidi for example with an upper-case M
"Midi.." ends up in the audio-panel.

Your suggestion to parse the output of 'jack_lsp -t -c' is spot on.
the (currently 2) possible return values are (indented by tab):

#define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"
#define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"

..or as you suggest using the python-module for JACK may also simplify
things and make jackctl easier to maintain.

Cheers!
robin

PS. Oh, and which of qjackctl's features makes it 'fat'? it's not
bloated in any way. I'd rather put it the other way 'round and say that
jackctl is 'slim'. Sorry could not resist.


On 05/29/2010 12:23 PM, Julien Claassen wrote:
> Hello Aaron and Jack-Team!
>   There seems to be a bug in my jack_lsp. I just started a2jmidid and
> j2amidi_bridge. when I do a jack_lsp I get all the ports.
>   When I do: jack_lsp -t midi I only get one port from jack_midi_clock,
> but none of the other ones.
>   When I type: jack_lsp -t, I can't see a difference between the
> jack_midi_clock port and the others:
> jack_lsp -t
> [...]
> a2j:Virtual Raw MIDI 0-0 [16] (capture): VirMIDI 0-0
>         8 bit raw midi
> a2j:Virtual Raw MIDI 0-0 [16] (playback): VirMIDI 0-0
>         8 bit raw midi
> a2j:Virtual Raw MIDI 0-1 [17] (capture): VirMIDI 0-1
>         8 bit raw midi
> a2j:Virtual Raw MIDI 0-1 [17] (playback): VirMIDI 0-1
>         8 bit raw midi
> a2j:Virtual Raw MIDI 0-2 [18] (capture): VirMIDI 0-2
>         8 bit raw midi
> a2j:Virtual Raw MIDI 0-2 [18] (playback): VirMIDI 0-2
>         8 bit raw midi
> a2j:Virtual Raw MIDI 0-3 [19] (capture): VirMIDI 0-3
>         8 bit raw midi
> a2j:Virtual Raw MIDI 0-3 [19] (playback): VirMIDI 0-3
>         8 bit raw midi
> a2j:M Audio Delta 1010LT [20] (capture): M Audio Delta 1010LT MIDI
>         8 bit raw midi
> a2j:M Audio Delta 1010LT [20] (playback): M Audio Delta 1010LT MIDI
>         8 bit raw midi
> j2a_bridge:playback
>         8 bit raw midi
> a2j:j2a_bridge [129] (capture): capture
>         8 bit raw midi
> Jack MIDI Clock:midi_out
>         8 bit raw midi
> 
>   Or is the argument "midi" only seen as the start of a port_name?
>   If so, Aaron, you must rewrite this part of jackctl (I guess you do
> what I described, because I get exactly your output). You should rewrite
> it using:
> jack_lsp -t
>   And then parse the type info underneath each name. I think a simple
> grabbing for "audio" or "midi" will do. But I guess, that in the long
> run, using the python module for jack, will be more efficient and easy
> to use.
>   Kindly yours
>           Julien
> 


More information about the Linux-audio-user mailing list