Hi all,<br><br>Let me know how this newer version works out for you. I've hopefully made the audio/MIDI distinction cleaner and bug-free, b/c now the script uses 'jack_lsp -t' to list the type. One can toggle between alsa-midi and jack-midi with the 'm' key. <br>
<br>Not being a user of a2jackmidi bridge or whatever that program is, I cannot vouch for how this works with it...does anyone want to try it out and let me know?<br><br><a href="http://www.akjmusic.com/software/jackctl20100604.py">http://www.akjmusic.com/software/jackctl20100604.py</a><br>
<br>Best,<br>AKJ<br><br><div class="gmail_quote">On Sat, May 29, 2010 at 11:42 AM, Aaron Krister Johnson <span dir="ltr"><<a href="mailto:aaron@akjmusic.com">aaron@akjmusic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On 5/29/10, <a href="mailto:akjmicro@gmail.com">akjmicro@gmail.com</a> <<a href="mailto:akjmicro@gmail.com">akjmicro@gmail.com</a>> wrote:<br>
</div><div><div></div><div class="h5">> Hey all,<br>
><br>
> Yes, grepping for the port type which appears underneath with a 'jack_lsp<br>
> -t' will be more consistent and dependable. Or, using a python-jack lib<br>
> function and not depending on any system shell calls. The problem then<br>
> becomes, is the jack lib for python well documented? If so, I think that's<br>
> the real future of jackctl.py<br>
><br>
> PS Qjackctl may be lightweight, but installing the entire QT toolkit just to<br>
> use it is not!<br>
><br>
> AKJ<br>
><br>
> Sent from my Verizon Wireless BlackBerry<br>
><br>
> -----Original Message-----<br>
> From: Robin Gareus <<a href="mailto:robin@gareus.org">robin@gareus.org</a>><br>
> Date: Sat, 29 May 2010 14:00:52<br>
> To: Julien Claassen<<a href="mailto:julien@c-lab.de">julien@c-lab.de</a>><br>
> Cc: Aaron Krister Johnson<<a href="mailto:aaron@akjmusic.com">aaron@akjmusic.com</a>>;<br>
> <<a href="mailto:linux-audio-user@lists.linuxaudio.org">linux-audio-user@lists.linuxaudio.org</a>>;<br>
> <<a href="mailto:linux-audio-dev@lists.linuxaudio.org">linux-audio-dev@lists.linuxaudio.org</a>><br>
> Subject: Re: [LAD] [LAU] like "qjackctl", but trimmed of all fat<br>
><br>
> Hi Julien, Hey Aaron,<br>
><br>
> read 'jack_lsp --help'.<br>
><br>
> '-t' does not take any arguments; it just makes jack_lsp print the type.<br>
> the filter-string only acts on the port-name (BTW, not only the<br>
> beginning of the port-name; but it's case-sensitive: strstr() )<br>
><br>
> Anyway I can reproduce the problem, some jack-midi ports show up in the<br>
> audio-tab of jackctl20100528b.py.<br>
><br>
> jackctl20100528b checks for lowercase 'midi' in the port-name instead of<br>
> looking up the port-type. So a2jmidi for example with an upper-case M<br>
> "Midi.." ends up in the audio-panel.<br>
><br>
> Your suggestion to parse the output of 'jack_lsp -t -c' is spot on.<br>
> the (currently 2) possible return values are (indented by tab):<br>
><br>
> #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio"<br>
> #define JACK_DEFAULT_MIDI_TYPE "8 bit raw midi"<br>
><br>
> ..or as you suggest using the python-module for JACK may also simplify<br>
> things and make jackctl easier to maintain.<br>
><br>
> Cheers!<br>
> robin<br>
><br>
> PS. Oh, and which of qjackctl's features makes it 'fat'? it's not<br>
> bloated in any way. I'd rather put it the other way 'round and say that<br>
> jackctl is 'slim'. Sorry could not resist.<br>
><br>
><br>
> On 05/29/2010 12:23 PM, Julien Claassen wrote:<br>
>> Hello Aaron and Jack-Team!<br>
>>   There seems to be a bug in my jack_lsp. I just started a2jmidid and<br>
>> j2amidi_bridge. when I do a jack_lsp I get all the ports.<br>
>>   When I do: jack_lsp -t midi I only get one port from jack_midi_clock,<br>
>> but none of the other ones.<br>
>>   When I type: jack_lsp -t, I can't see a difference between the<br>
>> jack_midi_clock port and the others:<br>
>> jack_lsp -t<br>
>> [...]<br>
>> a2j:Virtual Raw MIDI 0-0 [16] (capture): VirMIDI 0-0<br>
>>         8 bit raw midi<br>
>> a2j:Virtual Raw MIDI 0-0 [16] (playback): VirMIDI 0-0<br>
>>         8 bit raw midi<br>
>> a2j:Virtual Raw MIDI 0-1 [17] (capture): VirMIDI 0-1<br>
>>         8 bit raw midi<br>
>> a2j:Virtual Raw MIDI 0-1 [17] (playback): VirMIDI 0-1<br>
>>         8 bit raw midi<br>
>> a2j:Virtual Raw MIDI 0-2 [18] (capture): VirMIDI 0-2<br>
>>         8 bit raw midi<br>
>> a2j:Virtual Raw MIDI 0-2 [18] (playback): VirMIDI 0-2<br>
>>         8 bit raw midi<br>
>> a2j:Virtual Raw MIDI 0-3 [19] (capture): VirMIDI 0-3<br>
>>         8 bit raw midi<br>
>> a2j:Virtual Raw MIDI 0-3 [19] (playback): VirMIDI 0-3<br>
>>         8 bit raw midi<br>
>> a2j:M Audio Delta 1010LT [20] (capture): M Audio Delta 1010LT MIDI<br>
>>         8 bit raw midi<br>
>> a2j:M Audio Delta 1010LT [20] (playback): M Audio Delta 1010LT MIDI<br>
>>         8 bit raw midi<br>
>> j2a_bridge:playback<br>
>>         8 bit raw midi<br>
>> a2j:j2a_bridge [129] (capture): capture<br>
>>         8 bit raw midi<br>
>> Jack MIDI Clock:midi_out<br>
>>         8 bit raw midi<br>
>><br>
>>   Or is the argument "midi" only seen as the start of a port_name?<br>
>>   If so, Aaron, you must rewrite this part of jackctl (I guess you do<br>
>> what I described, because I get exactly your output). You should rewrite<br>
>> it using:<br>
>> jack_lsp -t<br>
>>   And then parse the type info underneath each name. I think a simple<br>
>> grabbing for "audio" or "midi" will do. But I guess, that in the long<br>
>> run, using the python module for jack, will be more efficient and easy<br>
>> to use.<br>
>>   Kindly yours<br>
>>           Julien<br>
>><br>
><br>
<br>
<br>
</div></div><div><div></div><div class="h5">--<br>
<br>
Aaron Krister Johnson<br>
<a href="http://www.akjmusic.com" target="_blank">http://www.akjmusic.com</a><br>
<a href="http://www.untwelve.org" target="_blank">http://www.untwelve.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Best,<br><br>Aaron Krister Johnson<br><a href="http://www.akjmusic.com">http://www.akjmusic.com</a><br><a href="http://www.untwelve.org">http://www.untwelve.org</a><br>
<br>