Justin Smith wrote:
On many occasions I run more than one qjackctl with different servers. I wrote a jack client that connects to multiple jack servers as a "bridge". The trick with multiple qjackctls is to use the command line, and type "DEFAULT_JACK_SERVER=usb qjackctl& DEFAULT_JACK_SERVER=builtin qjackctl", and then hand configure each instance to use the proper settings (auto-start should be off, of course). Past releases of qjackctl work just fine for this purpose. The DEFAULT_JACK_SERVER environment variable is used directly in the jack libraries even if a client does not code in any support (there is a small chance I have the environment variable wrong, I am pretty sure it is DEFAULT_JACK_SERVER, I am using a friend's computer at the moment). I never figured out how to deal with the huge latency and xruns with the jack bridge program, so it has not seen the light of public release. Please do not remove this functionality, I find it useful, even with the buggyness of bridging between jack servers.
omg. anyway it's kind of late for that. you can avoid using this last qjackctl release, it won't work with this setup anymore
however, i'll be your friend :) and lend this patch to let it work for you; please test and report
btw, JACK_DEFAULT_SERVER is the variable name. -- rncbc aka Rui Nuno Capela rncbc@xxxxxxxxx
Index: src/main.cpp =================================================================== RCS file: /cvsroot/qjackctl/src/main.cpp,v retrieving revision 1.34 diff -u -r1.34 main.cpp --- src/main.cpp 21 May 2008 15:24:45 -0000 1.34 +++ src/main.cpp 8 Jun 2008 20:04:05 -0000 @@ -40,7 +40,7 @@ #include <X11/Xatom.h> #include <X11/Xlib.h> -#define QJACKCTL_XUNIQUE "qjackctlMainForm_xunique" +#define QJACKCTL_XUNIQUE "qjackctlApplication" #endif @@ -94,7 +94,13 @@ } #if defined(Q_WS_X11) m_pDisplay = QX11Info::display(); - m_aUnique = XInternAtom(m_pDisplay, QJACKCTL_XUNIQUE, false); + QString sUnique = QJACKCTL_XUNIQUE; + const char *pszServerName = ::getenv("JACK_DEFAULT_SERVER"); + if (pszServerName) { + sUnique += '_'; + sUnique += pszServerName; + } + m_aUnique = XInternAtom(m_pDisplay, sUnique.toUtf8().constData(), false); XGrabServer(m_pDisplay); m_wOwner = XGetSelectionOwner(m_pDisplay, m_aUnique); XUngrabServer(m_pDisplay);
_______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user