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

Aaron Krister Johnson aaron at akjmusic.com
Wed May 26 14:50:22 UTC 2010


Hi Philipp,

What version of jack and jack_lsp are you using? I see that you are getting
what look like verbose messages, which is not how my version behaves. Did
you enable them by default in some kind of config file? I don't understand
why that's happening except that some newer or older version than what I
have is enabling verbose behavior by default.

My script depends on a clean output to predictably be summoned by a simple
call to 'jack_lsp -c'....what is the output of this command on your system?
On mine, I just get a list of ports and any connections, no extra messages.
I'm using jack 0.118.0. What's your version.

I *can* make a robust way of mining this output, but I would need to know
what different jack_lsp versions do!!! ARGH!

AKJ

On Wed, May 26, 2010 at 7:29 AM, Philipp Überbacher
<hollunder at lavabit.com>wrote:

> Excerpts from alexander's message of 2010-05-26 14:08:18 +0200:
> > On 05/26/2010 02:23 PM, Aaron Krister Johnson wrote:
> > > Hi linux-audio peoples,
> > >
> > > I want to announce my new and fun and useful python script -- I call
> > > it 'jackctl' -- it basically is a frontend to the jack tools
> > > 'jack_lsp' and 'jack_connect'. It's like 'qjackctl' , but since it's
> > > command line, no 'q' !!!
> > >
> > > get it here:
> > > http://www.akjmusic.com/software/jackctl20100526.py
> > >
> > > Why would I embark on writing such a script? Who would want to use
> this?
> > >
> > > You'll want to try this if one or any of the the following apply:
> > >
> > > 1) You don't want to have to install the entire QT toolkit for a
> > > single program.
> > > 2) If you like the command line, use a console, but still use jack
> > > often enough
> > > 3) You've used jack and 'jack_connect' through the command line
> > > before, but hated having to type the full name of the jack ports.
> > > 4) You've noticed that 'qjackctl' introduces CPU overhead and xruns
> > > you don't have when you use command-line jack, i.e. you are obsessed
> > > with the lowest possible latency
> > > 5) You want a fast, simple interface to connect jack ports that is
> > > even faster than a GUI---no need to point the mouse, just type two
> > > numbers and go!
> > >
> > > It's very simple. All you need is Python (and who doesn't have that on
> > > their machine). You put the script in your PATH, or link it/rename it,
> > > making sure it's exectuable. When you run it, you'll see a list of
> > > current numbered jack ports, and you can connect them by typing two
> > > numbers separated by a space. You can disconnect them by typing 'd'
> > > then the two numbers separated by a space. No hassles, and a nice
> > > feature is that it will protect you from making ear-blasting feedback
> > > connections. It's even quicker than qjackctl, b/c it takes more time
> > > to point your mouse at the ports in the GUI and then click 'connect'
> > > than it does to type two single-digit numbers and then hit return, yes?
> > >
> > > Let me know how you like it...I'm interested in reasonable feature
> > > requests. One potential TODO would be to make this script have a
> > > user-friendly way to start the jack daemon, but for now, I do that
> > > manually....
> > >
> > > Enjoy, comments welcome!
> > >
> > Quite cool, seems simple enough. However, my usb keyboard doesn't show
> > up, or anything else that normally shows up under the "alsa" tab in
> qjackctl
> >
> I like the idea, but here it crashed immediately.
> jack2 1.9.5 built with --profile
> python 2.6.5
>
> $ ./jackctl20100526.py
>
> Welcome to jackctl.py! Enter the two numbers you want to connect,
> separated by a space, then hit return. To see the list again, type 'l'.
> To disconnect clients type 'd' and then the two clients separated by a
> space
> Control-D will end the program
>
> here's what's connected to jack so far:
>   0) Jack: JackClient::SetupDriverSync driver sem in flush mode
>   1) Jack: JackFifo::ConnectAux name = /dev/shm/jack_fifo.1000_default_lsp
>   2) Jack: Already connected name = lsp
>   3) Jack: Clock source : system clock via clock_gettime
>   4) Jack: JackLibClient::Open name = lsp refnum = 4
> 5) system:capture_1
> 6) system:capture_2
> 7) system:playback_1
>   9) aqualung:out_L
> 8) system:playback_2
>   10) aqualung:out_R
> 9) aqualung:out_L
>   7) system:playback_1
> 10) aqualung:out_R
>   8) system:playback_2
>   11) Jack: jack_client_close
>   12) Jack: JackClient::Close ref = 4
>   13) Jack: JackClient::Deactivate
>   14) Jack: JackSocketClientChannel::Stop
>   15) Jack: JackPosixThread::Kill
>   16) Jack: JackClientSocket::Close
>   16) Jack: JackClientSocket::Close
>   18) Jack: JackFifo::Disconnect /dev/shm/jack_fifo.1000_default_lsp
>   19) Jack: JackLibClient::~JackLibClient
>   20) Jack: JackShmReadWritePtr1::~JackShmReadWritePtr1 4
>   21) Jack: Succeeded in unlocking 120 byte memory area
> Traceback (most recent call last):
>  File "./jackctl20100526.py", line 27, in <module>
>    get_list()
>  File "./jackctl20100526.py", line 22, in get_list
>    print "   %s) %s" % (listp.index(i.lstrip()), i.lstrip())
> ValueError: list.index(x): x not in list
> --
>
> Regards,
> Philipp
>
> -----
> "Wir stehen selbst enttäuscht und sehn betroffen / Den Vorhang zu und alle
> Fragen offen." Bertolt Brecht, Der gute Mensch von Sezuan
>
> _______________________________________________
> Linux-audio-user mailing list
> Linux-audio-user at lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-user
>



-- 

Aaron Krister Johnson
http://www.akjmusic.com
http://www.untwelve.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-user/attachments/20100526/9592f026/attachment.htm>


More information about the Linux-audio-user mailing list