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(a)lavabit.com>wrote;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(a)lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-user