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