class Qjackctl < Formula desc "simple Qt application to control the JACK sound server daemon" homepage "http://qjackctl.sourceforge.net" head "http://git.code.sf.net/p/qjackctl/code", :using=>:git stable do url "https://downloads.sourceforge.net/qjackctl/qjackctl-0.4.1.tar.gz" sha256 "98024e1ea9f55ac16c290feda051d6494b2261e83f6a918f0fa583b509e2bfd1" # fixes compile error with getDeviceUIDFromID and combo box device selection is general # also fixes linking without X11 # # patch is composed of # https://sourceforge.net/p/qjackctl/code/ci/ce7bbc6814da9be44b9320fbe20dd524516d525f # https://sourceforge.net/p/qjackctl/code/ci/1983c9c4ce3ef663e29e8d07addee1d6856664fd # https://sourceforge.net/p/qjackctl/code/ci/979f0a5afef3107288b17a508966ca5f27ce7069 patch :DATA end bottle do sha256 "5eb11af861de629ba8afba7d75c71b02029817a69d2a6a2db15f13fb3bea9594" => :el_capitan sha256 "5cf871c347c52298c161c83443f12a825cd18ce8037286dcc9cd552ab3857e9e" => :yosemite sha256 "671c6d52aa37729c4471390673310fa90c68139dae697f1630552b3b2511d690" => :mavericks end depends_on "autoconf" => :build depends_on "qt" depends_on "jack" def install system "./autogen.sh" system "./configure", "--disable-debug", "--enable-qt4", "--disable-dbus", "--disable-xunique", "--prefix=#{prefix}" system "make", "install" prefix.install "#{bin}/qjackctl.app" bin.install_symlink "#{prefix}/qjackctl.app/Contents/MacOS/qjackctl" end test do assert_match /QjackCtl: \d+\.\b+/, shell_output("qjackctl --version 2>&1", 1) end end __END__ From ce7bbc6814da9be44b9320fbe20dd524516d525f Mon Sep 17 00:00:00 2001 From: David Date: Sun, 22 Nov 2015 09:08:04 +0100 Subject: [PATCH] Fix compile without X11 https://sourceforge.net/p/qjackctl/code/ce7bbc6814da9be44b9320fbe20dd524516d525f When compiling without X11 (--disable-xunique) linking against X11 is not required and would lead to an error. diff --git a/configure.ac b/configure.ac index 86ac6bd..ac0e66a 100644 --- a/configure.ac +++ b/configure.ac @@ -360,9 +360,6 @@ if test "x$ac_portaudio" = "xyes"; then fi fi -# Some recent distros (eg. fedora, debian) require this. -ac_libs="$ac_libs -lX11" - AC_SUBST(ac_libs) @@ -455,6 +452,10 @@ fi # Check for X11 unique/single instance. if test "x$ac_xunique" = "xyes"; then AC_DEFINE(CONFIG_XUNIQUE, 1, [Define if X11 unique/single instance is enabled.]) + + # Some recent distros (eg. fedora, debian) require this. + ac_libs="$ac_libs -lX11" + fi # Check for debugging stack-trace. From 1983c9c4ce3ef663e29e8d07addee1d6856664fd Mon Sep 17 00:00:00 2001 From: Matthias Kronlachner Date: Thu, 12 Nov 2015 06:51:22 +0100 Subject: [PATCH] switched entries in interfacecombobox to make it work for osx https://sourceforge.net/p/qjackctl/code/ci/1983c9c4ce3ef663e29e8d07addee1d6856664fd Need because without an human readable interface name is passed to jackd instead of the internal UID diff --git a/src/qjackctlInterfaceComboBox.cpp b/src/qjackctlInterfaceComboBox.cpp index fccabc4..274c330 100644 --- a/src/qjackctlInterfaceComboBox.cpp +++ b/src/qjackctlInterfaceComboBox.cpp @@ -425,7 +425,7 @@ void qjackctlInterfaceComboBox::populateModel (void) // only show human readable name // humanreadable \t UID sSubName = QString(coreDeviceName); - addCard(sSubName, sName); + addCard(sName, sSubName); if (sCurName == sName || sCurName == sSubName) iCurCard = iCards; ++iCards; From 979f0a5afef3107288b17a508966ca5f27ce7069 Mon Sep 17 00:00:00 2001 From: rncbc Date: Tue, 3 Nov 2015 12:25:15 +0000 Subject: [PATCH] - Blind fix to a FTBFS on macosx/coreaudio platforms, a leftover from the unified interface device selection combo-box inception, almost two years ago. (TESTING) https://sourceforge.net/p/qjackctl/code/ci/979f0a5afef3107288b17a508966ca5f27ce7069 getDeviceUIDFromID is not defined anywhere (at least on El Capitan) so without this, compilation will fail diff --git a/src/qjackctlInterfaceComboBox.cpp b/src/qjackctlInterfaceComboBox.cpp index b33a7d8..fccabc4 100644 --- a/src/qjackctlInterfaceComboBox.cpp +++ b/src/qjackctlInterfaceComboBox.cpp @@ -111,6 +111,25 @@ void qjackctlInterfaceComboBox::addCard ( } +#ifdef CONFIG_COREAUDIO + +// borrowed from jackpilot source +static OSStatus getDeviceUIDFromID( AudioDeviceID id, + char *name, UInt32 nsize ) +{ + UInt32 size = sizeof(CFStringRef); + CFStringRef UI; + OSStatus res = AudioDeviceGetProperty(id, 0, false, + kAudioDevicePropertyDeviceUID, &size, &UI); + if (res == noErr) + CFStringGetCString(UI,name,nsize,CFStringGetSystemEncoding()); + CFRelease(UI); + return res; +} + +#endif // CONFIG_COREAUDIO + + #ifdef CONFIG_PORTAUDIO #include