Re: Fwd: [ANN] QjackCtl 0.3.3 (unstable-qt4) released!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux