diff --git a/gtk2_ardour/ardev_common.sh.in b/gtk2_ardour/ardev_common.sh.in index 2bd9c51515..850a83c954 100644 --- a/gtk2_ardour/ardev_common.sh.in +++ b/gtk2_ardour/ardev_common.sh.in @@ -17,7 +17,7 @@ export ARDOUR_DATA_PATH=$TOP:$TOP/build:$TOP/gtk2_ardour:$TOP/build/gtk2_ardour: export ARDOUR_MIDIMAPS_PATH=$TOP/midi_maps:. export ARDOUR_MCP_PATH=$TOP/mcp:. export ARDOUR_EXPORT_FORMATS_PATH=$TOP/export:. -export ARDOUR_BACKEND_PATH=$TOP/build/libs/ardour +export ARDOUR_BACKEND_PATH=$libs/backends/jack # # even though we set the above variables, ardour requires that these diff --git a/libs/ardour/jack_api.cc b/libs/backends/jack/jack_api.cc similarity index 95% rename from libs/ardour/jack_api.cc rename to libs/backends/jack/jack_api.cc index fcfc499107..0136161181 100644 --- a/libs/ardour/jack_api.cc +++ b/libs/backends/jack/jack_api.cc @@ -17,9 +17,9 @@ */ -#include "ardour/jack_connection.h" -#include "ardour/jack_audiobackend.h" -#include "ardour/jack_portengine.h" +#include "jack_connection.h" +#include "jack_audiobackend.h" +#include "jack_portengine.h" using namespace ARDOUR; diff --git a/libs/ardour/jack_audiobackend.cc b/libs/backends/jack/jack_audiobackend.cc similarity index 99% rename from libs/ardour/jack_audiobackend.cc rename to libs/backends/jack/jack_audiobackend.cc index 8f3dffa40d..22e5a525ea 100644 --- a/libs/ardour/jack_audiobackend.cc +++ b/libs/backends/jack/jack_audiobackend.cc @@ -31,10 +31,10 @@ #include "ardour/session.h" #include "ardour/types.h" -#include "ardour/jack_audiobackend.h" -#include "ardour/jack_connection.h" -#include "ardour/jack_portengine.h" -#include "ardour/jack_utils.h" +#include "jack_audiobackend.h" +#include "jack_connection.h" +#include "jack_portengine.h" +#include "jack_utils.h" #include "i18n.h" diff --git a/libs/ardour/ardour/jack_audiobackend.h b/libs/backends/jack/jack_audiobackend.h similarity index 100% rename from libs/ardour/ardour/jack_audiobackend.h rename to libs/backends/jack/jack_audiobackend.h diff --git a/libs/ardour/jack_connection.cc b/libs/backends/jack/jack_connection.cc similarity index 98% rename from libs/ardour/jack_connection.cc rename to libs/backends/jack/jack_connection.cc index 5772d3dbb3..da0127c584 100644 --- a/libs/ardour/jack_connection.cc +++ b/libs/backends/jack/jack_connection.cc @@ -22,8 +22,8 @@ #include "pbd/epa.h" -#include "ardour/jack_connection.h" -#include "ardour/jack_utils.h" +#include "jack_connection.h" +#include "jack_utils.h" #define GET_PRIVATE_JACK_POINTER(j) jack_client_t* _priv_jack = (jack_client_t*) (j); if (!_priv_jack) { return; } #define GET_PRIVATE_JACK_POINTER_RET(j,r) jack_client_t* _priv_jack = (jack_client_t*) (j); if (!_priv_jack) { return r; } diff --git a/libs/ardour/ardour/jack_connection.h b/libs/backends/jack/jack_connection.h similarity index 100% rename from libs/ardour/ardour/jack_connection.h rename to libs/backends/jack/jack_connection.h diff --git a/libs/ardour/jack_portengine.cc b/libs/backends/jack/jack_portengine.cc similarity index 99% rename from libs/ardour/jack_portengine.cc rename to libs/backends/jack/jack_portengine.cc index 4595857175..bd352a2f11 100644 --- a/libs/ardour/jack_portengine.cc +++ b/libs/backends/jack/jack_portengine.cc @@ -22,8 +22,9 @@ #include "pbd/error.h" -#include "ardour/jack_portengine.h" -#include "ardour/jack_connection.h" +#include "jack_portengine.h" +#include "jack_connection.h" + #include "ardour/port_manager.h" #include "i18n.h" diff --git a/libs/ardour/ardour/jack_portengine.h b/libs/backends/jack/jack_portengine.h similarity index 100% rename from libs/ardour/ardour/jack_portengine.h rename to libs/backends/jack/jack_portengine.h diff --git a/libs/ardour/jack_slave.cc b/libs/backends/jack/jack_slave.cc similarity index 100% rename from libs/ardour/jack_slave.cc rename to libs/backends/jack/jack_slave.cc diff --git a/libs/ardour/jack_utils.cc b/libs/backends/jack/jack_utils.cc similarity index 99% rename from libs/ardour/jack_utils.cc rename to libs/backends/jack/jack_utils.cc index 4e2392aced..77f3d95aa1 100644 --- a/libs/ardour/jack_utils.cc +++ b/libs/backends/jack/jack_utils.cc @@ -18,10 +18,6 @@ */ -#ifdef WAF_BUILD -#include "libardour-config.h" -#endif - #ifdef HAVE_ALSA #include #endif @@ -51,7 +47,7 @@ #include "pbd/file_utils.h" #include "pbd/search_path.h" -#include "ardour/jack_utils.h" +#include "jack_utils.h" #ifdef __APPLE #include diff --git a/libs/ardour/ardour/jack_utils.h b/libs/backends/jack/jack_utils.h similarity index 100% rename from libs/ardour/ardour/jack_utils.h rename to libs/backends/jack/jack_utils.h diff --git a/libs/backends/jack/wscript b/libs/backends/jack/wscript new file mode 100644 index 0000000000..3c47f3a652 --- /dev/null +++ b/libs/backends/jack/wscript @@ -0,0 +1,51 @@ +#!/usr/bin/env python +from waflib.extras import autowaf as autowaf +import os +import sys +import re + +# Library version (UNIX style major, minor, micro) +# major increment <=> incompatible changes +# minor increment <=> compatible changes (additions) +# micro increment <=> no interface changes +JACKBACKEND_VERSION = '1.0.0' +I18N_PACKAGE = 'jack-backend' + +# Mandatory variables +top = '.' +out = 'build' + +def options(opt): + autowaf.set_options(opt) + +def configure(conf): + autowaf.configure(conf) + +def build(bld): + obj = bld(features = 'cxx cxxshlib') + obj.source = [ + 'jack_api.cc', + 'jack_connection.cc', + 'jack_audiobackend.cc', + 'jack_portengine.cc', + 'jack_utils.cc' + ] + obj.includes = ['.'] + obj.cxxflags = [ '-fPIC' ] + obj.name = 'jack_audiobackend' + obj.target = 'jack_audiobackend' + obj.uselib = [ 'JACK' ] + obj.use = 'ardour libpbd' + obj.vnum = JACKBACKEND_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'backends') + obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"'] + + + # + # device discovery code in the jack backend needs ALSA + # on Linux. + # + + if re.search ("linux", sys.platform) != None: + obj.uselib += [ 'ALSA' ] + diff --git a/libs/backends/wscript b/libs/backends/wscript new file mode 100644 index 0000000000..b8779b7713 --- /dev/null +++ b/libs/backends/wscript @@ -0,0 +1,27 @@ +#!/usr/bin/env python +from waflib.extras import autowaf as autowaf +import os + +# Mandatory variables +top = '.' +out = 'build' + +backends = [ 'jack' ] + +def options(opt): + autowaf.set_options(opt) + +def sub_config_and_use(conf, name, has_objects = True): + conf.recurse(name) + autowaf.set_local_lib(conf, name, has_objects) + +def configure(conf): + autowaf.set_recursive() + autowaf.configure(conf) + + for i in backends: + sub_config_and_use(conf, i) + +def build(bld): + for i in backends: + bld.recurse(i) diff --git a/wscript b/wscript index 6691f06dee..c4cba628dd 100644 --- a/wscript +++ b/wscript @@ -29,6 +29,7 @@ children = [ 'libs/rubberband', 'libs/surfaces', 'libs/panners', + 'libs/backends', 'libs/timecode', 'libs/ardour', 'libs/gtkmm2ext',