From 55e5415ef1f33291eb33316c863e8380de893894 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 15 Aug 2012 18:40:21 +0100 Subject: [PATCH] JackMeter: fix build with older jack versions --- c++/jack_utils.h | 5 ++++- c++/jackmeter/Makefile | 6 ++++++ c++/jackmeter/jackmeter.cpp | 8 ++++++++ src/catia.py | 1 + src/patchcanvas.py | 2 +- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/c++/jack_utils.h b/c++/jack_utils.h index 1b64124..ebf583b 100644 --- a/c++/jack_utils.h +++ b/c++/jack_utils.h @@ -20,9 +20,12 @@ #include #include -#include #include +#ifdef HAVE_JACKSESSION +#include +#endif + #include #include #include diff --git a/c++/jackmeter/Makefile b/c++/jackmeter/Makefile index 62d605c..314f87b 100644 --- a/c++/jackmeter/Makefile +++ b/c++/jackmeter/Makefile @@ -21,6 +21,12 @@ OBJS = \ jackmeter.o \ ../widgets/digitalpeakmeter.o +HAVE_JACKSESSION = $(shell pkg-config --atleast-version=0.121.0 jack && echo true) + +ifeq ($(HAVE_JACKSESSION),true) +BUILD_FLAGS += -DHAVE_JACKSESSION +endif + # -------------------------------------------------------------- all: cadence_jackmeter diff --git a/c++/jackmeter/jackmeter.cpp b/c++/jackmeter/jackmeter.cpp index fa0e56e..b93790e 100644 --- a/c++/jackmeter/jackmeter.cpp +++ b/c++/jackmeter/jackmeter.cpp @@ -72,6 +72,7 @@ void port_callback(jack_port_id_t, jack_port_id_t, int, void*) x_needReconnect = true; } +#ifdef HAVE_JACKSESSION void session_callback(jack_session_event_t* event, void* arg) { #ifdef Q_OS_LINUX @@ -90,6 +91,7 @@ void session_callback(jack_session_event_t* event, void* arg) jack_session_event_free(event); } +#endif // ------------------------------- // helpers @@ -188,7 +190,11 @@ int main(int argc, char* argv[]) // JACK initialization jack_status_t jStatus; +#ifdef HAVE_JACKSESSION jack_options_t jOptions = static_cast(JackNoStartServer|JackUseExactName|JackSessionID); +#else + jack_options_t jOptions = static_cast(JackNoStartServer|JackUseExactName); +#endif jClient = jack_client_open("M", jOptions, &jStatus); if (! jClient) @@ -205,7 +211,9 @@ int main(int argc, char* argv[]) jack_set_process_callback(jClient, process_callback, nullptr); jack_set_port_connect_callback(jClient, port_callback, nullptr); +#ifdef HAVE_JACKSESSION jack_set_session_callback(jClient, session_callback, argv[0]); +#endif jack_activate(jClient); reconnect_inputs(); diff --git a/src/catia.py b/src/catia.py index c6f1e42..02a3f60 100755 --- a/src/catia.py +++ b/src/catia.py @@ -44,6 +44,7 @@ if LINUX: if os.path.exists(os.path.join(iPATH, "aconnect")): from subprocess import getoutput haveALSA = True + print("Using experimental ALSA-MIDI support") break else: haveALSA = False diff --git a/src/patchcanvas.py b/src/patchcanvas.py index 36505d1..26807e2 100644 --- a/src/patchcanvas.py +++ b/src/patchcanvas.py @@ -296,7 +296,7 @@ def setFeatures(new_features): def init(appName, scene, callback, debug=False): if debug: - qDebug("PatchCanvas::init(%s, %s, %s)" % (scene, callback, bool2str(debug))) + qDebug("PatchCanvas::init(\"%s\", %s, %s, %s)" % (appName, scene, callback, bool2str(debug))) if canvas.initiated: qCritical("PatchCanvas::init() - already initiated")