diff options
-rw-r--r-- | src/libs/client/wscript | 35 | ||||
-rw-r--r-- | src/libs/engine/MidiDriver.hpp | 6 | ||||
-rw-r--r-- | src/libs/engine/wscript | 73 | ||||
-rw-r--r-- | src/libs/gui/App.cpp | 2 | ||||
-rw-r--r-- | src/libs/gui/GladeFactory.cpp | 6 | ||||
-rw-r--r-- | src/libs/gui/LoadPatchWindow.cpp | 2 | ||||
-rw-r--r-- | src/libs/gui/LoadSubpatchWindow.cpp | 2 | ||||
-rw-r--r-- | src/libs/gui/Makefile.am | 2 | ||||
-rw-r--r-- | src/libs/gui/wscript | 65 | ||||
-rw-r--r-- | src/libs/module/wscript | 17 | ||||
-rw-r--r-- | src/libs/serialisation/wscript | 16 | ||||
-rw-r--r-- | src/libs/shared/wscript | 19 | ||||
-rw-r--r-- | src/progs/ingen/wscript | 13 | ||||
l--------- | waf | 1 | ||||
-rw-r--r-- | wscript | 57 |
15 files changed, 308 insertions, 8 deletions
diff --git a/src/libs/client/wscript b/src/libs/client/wscript new file mode 100644 index 00000000..6b4408a7 --- /dev/null +++ b/src/libs/client/wscript @@ -0,0 +1,35 @@ +#!/usr/bin/env python +import Params + +def build(bld): + obj = bld.create_obj('cpp', 'shlib') + obj.source = ''' + ClientStore.cpp + NodeModel.cpp + ObjectModel.cpp + PatchModel.cpp + PluginModel.cpp + PluginUI.cpp + PortModel.cpp + ThreadedSigClientInterface.cpp + client.cpp + ''' + + if bld.env()['HAVE_SOUP']: + obj.source += ''' + HTTPClientReceiver.cpp + HTTPEngineSender.cpp + ''' + + if bld.env()['HAVE_XML2']: + obj.source += ' DeprecatedLoader.cpp ' + + if bld.env()['HAVE_LIBLO']: + obj.source += ' OSCClientReceiver.cpp OSCEngineSender.cpp ' + + obj.includes = ['..', '../../common', '../..'] + obj.name = 'libingen_client' + obj.target = 'ingen_client' + obj.uselib = 'GLIBMM SLV2 RAUL REDLANDMM SOUP XML2 SIGCPP' + obj.vnum = '0.0.0' + diff --git a/src/libs/engine/MidiDriver.hpp b/src/libs/engine/MidiDriver.hpp index bd801eb4..e268124b 100644 --- a/src/libs/engine/MidiDriver.hpp +++ b/src/libs/engine/MidiDriver.hpp @@ -80,9 +80,13 @@ public: void enable() {} void disable() {} + DriverPort* create_port(DuplexPort* patch_port) { return NULL; } + + DriverPort* driver_port(const Raul::Path& path) { return NULL; } + DriverPort* new_port(DuplexPort* patch_port) { return NULL; } - void add_port(DriverPort* port) {} + void add_port(DriverPort* port) {} DriverPort* remove_port(const Raul::Path& path) { return NULL; } void pre_process(ProcessContext& context) {} diff --git a/src/libs/engine/wscript b/src/libs/engine/wscript new file mode 100644 index 00000000..1ad135d3 --- /dev/null +++ b/src/libs/engine/wscript @@ -0,0 +1,73 @@ +#!/usr/bin/env python +import Params + +def build(bld): + obj = bld.create_obj('cpp', 'shlib') + obj.source = ''' + AudioBuffer.cpp + Buffer.cpp + ClientBroadcaster.cpp + ConnectionImpl.cpp + DuplexPort.cpp + Engine.cpp + EngineStore.cpp + Event.cpp + EventBuffer.cpp + EventSink.cpp + InputPort.cpp + InternalPlugin.cpp + JackAudioDriver.cpp + JackMidiDriver.cpp + LADSPAPlugin.cpp + LV2Info.cpp + LV2Plugin.cpp + MessageContext.cpp + MidiControlNode.cpp + MidiNoteNode.cpp + MidiTriggerNode.cpp + NodeBase.cpp + NodeFactory.cpp + OSCClientSender.cpp + OSCEngineReceiver.cpp + ObjectSender.cpp + OutputPort.cpp + PluginImpl.cpp + PortImpl.cpp + PostProcessor.cpp + ProcessSlave.cpp + QueuedEngineInterface.cpp + QueuedEvent.cpp + QueuedEventSource.cpp + TransportNode.cpp + engine.cpp + events/AllNotesOffEvent.cpp + events/ConnectionEvent.cpp + events/CreateNodeEvent.cpp + events/CreatePortEvent.cpp + events/DeactivateEvent.cpp + events/DestroyEvent.cpp + events/DisconnectAllEvent.cpp + events/DisconnectionEvent.cpp + events/LoadPluginsEvent.cpp + events/MidiLearnEvent.cpp + events/NoteEvent.cpp + events/RegisterClientEvent.cpp + events/RenameEvent.cpp + events/RequestAllObjectsEvent.cpp + events/RequestMetadataEvent.cpp + events/RequestObjectEvent.cpp + events/RequestPluginEvent.cpp + events/RequestPluginsEvent.cpp + events/RequestPortValueEvent.cpp + events/SendPortActivityEvent.cpp + events/SendPortValueEvent.cpp + events/SetMetadataEvent.cpp + events/SetPortValueEvent.cpp + events/UnregisterClientEvent.cpp + ''' + obj.includes = ['..', '../../common', '../..', './events'] + obj.name = 'libingen_engine' + obj.target = 'ingen_engine' + obj.uselib = 'GLIBMM GTHREAD SLV2 JACK LIBLO RAUL REDLANDMM SOUP' + obj.vnum = '0.0.0' + diff --git a/src/libs/gui/App.cpp b/src/libs/gui/App.cpp index 9cf69596..f49d394c 100644 --- a/src/libs/gui/App.cpp +++ b/src/libs/gui/App.cpp @@ -107,7 +107,7 @@ App::run(int argc, char** argv, Ingen::Shared::World* world) _instance->configuration()->apply_settings(); // Set default window icon - const Glib::ustring icon_path = PKGDATADIR "/ingen.svg"; + const Glib::ustring icon_path = INGEN_DATA_DIR "/ingen.svg"; try { if (Glib::file_test(icon_path, Glib::FILE_TEST_EXISTS)) Gtk::Window::set_default_icon_from_file(icon_path); diff --git a/src/libs/gui/GladeFactory.cpp b/src/libs/gui/GladeFactory.cpp index 63dc4d0b..2b4d3ec9 100644 --- a/src/libs/gui/GladeFactory.cpp +++ b/src/libs/gui/GladeFactory.cpp @@ -38,14 +38,14 @@ GladeFactory::find_glade_file() glade_filename = "./ingen_gui.glade"; ifstream fs(glade_filename.c_str()); - if (fs.fail()) { // didn't find it, check PKGDATADIR + if (fs.fail()) { // didn't find it, check INGEN_DATA_DIR fs.clear(); - glade_filename = PKGDATADIR; + glade_filename = INGEN_DATA_DIR; glade_filename += "/ingen_gui.glade"; fs.open(glade_filename.c_str()); if (fs.fail()) { - cerr << "[GladeFactory] Unable to find ingen_gui.glade in current directory or " << PKGDATADIR << "." << endl; + cerr << "[GladeFactory] Unable to find ingen_gui.glade in current directory or " << INGEN_DATA_DIR << "." << endl; throw; } fs.close(); diff --git a/src/libs/gui/LoadPatchWindow.cpp b/src/libs/gui/LoadPatchWindow.cpp index c33ad495..70d3ec5b 100644 --- a/src/libs/gui/LoadPatchWindow.cpp +++ b/src/libs/gui/LoadPatchWindow.cpp @@ -60,7 +60,7 @@ LoadPatchWindow::LoadPatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gno set_filter(filt); // Add global examples directory to "shortcut folders" (bookmarks) - string examples_dir = PKGDATADIR; + string examples_dir = INGEN_DATA_DIR; examples_dir.append("/patches"); DIR* d = opendir(examples_dir.c_str()); if (d != NULL) diff --git a/src/libs/gui/LoadSubpatchWindow.cpp b/src/libs/gui/LoadSubpatchWindow.cpp index 52a989af..71dbfb36 100644 --- a/src/libs/gui/LoadSubpatchWindow.cpp +++ b/src/libs/gui/LoadSubpatchWindow.cpp @@ -65,7 +65,7 @@ LoadSubpatchWindow::LoadSubpatchWindow(BaseObjectType* cobject, const Glib::RefP property_select_multiple() = true; // Add global examples directory to "shortcut folders" (bookmarks) - string examples_dir = PKGDATADIR; + string examples_dir = INGEN_DATA_DIR; examples_dir.append("/patches"); DIR* d = opendir(examples_dir.c_str()); if (d != NULL) diff --git a/src/libs/gui/Makefile.am b/src/libs/gui/Makefile.am index 6acd9b9f..41458812 100644 --- a/src/libs/gui/Makefile.am +++ b/src/libs/gui/Makefile.am @@ -15,7 +15,7 @@ module_LTLIBRARIES = libingen_gui.la libingen_gui_la_CXXFLAGS = \ -DINGEN_MODULE_DIR=\"$(libdir)/ingen\" \ - -DPKGDATADIR=\"$(pkgdatadir)\" \ + -DINGEN_DATA_DIR=\"$(pkgdatadir)\" \ @CURL_CFLAGS@ \ @FLOWCANVAS_CFLAGS@ \ @GNOMECANVASMM_CFLAGS@ \ diff --git a/src/libs/gui/wscript b/src/libs/gui/wscript new file mode 100644 index 00000000..8895c7bc --- /dev/null +++ b/src/libs/gui/wscript @@ -0,0 +1,65 @@ +#!/usr/bin/env python +import Params + +def build(bld): + obj = bld.create_obj('cpp', 'shlib') + obj.source = ''' + App.cpp + BreadCrumbBox.cpp + Configuration.cpp + ConnectWindow.cpp + ControlPanel.cpp + Controls.cpp + GladeFactory.cpp + LoadPatchWindow.cpp + LoadPluginWindow.cpp + LoadRemotePatchWindow.cpp + LoadSubpatchWindow.cpp + MessagesWindow.cpp + NewSubpatchWindow.cpp + NodeControlWindow.cpp + NodeMenu.cpp + NodeModule.cpp + NodePropertiesWindow.cpp + ObjectMenu.cpp + PatchCanvas.cpp + PatchPortModule.cpp + PatchPropertiesWindow.cpp + PatchTreeWindow.cpp + PatchView.cpp + PatchWindow.cpp + Port.cpp + PortMenu.cpp + PortPropertiesWindow.cpp + RenameWindow.cpp + SubpatchModule.cpp + ThreadedLoader.cpp + WindowFactory.cpp + gui.cpp + ''' + + if bld.env()['HAVE_CURL']: + obj.source += 'UploadPatchWindow.cpp' + + dir = Params.g_options.moduledir or bld.env()['PREFIX'] + 'lib/ingen' + + obj.includes = ['..', '../../common', '../..'] + obj.defines = 'INGEN_DATA_DIR=\\\"' + dir + '\\\"' + obj.name = 'libingen_gui' + obj.target = 'ingen_gui' + obj.vnum = '0.0.0' + obj.uselib_local = 'libingen_client libingen_shared' + obj.uselib = ''' + CURL + FLOWCANVAS + GLADEMM + GLIBMM + GNOMECANVASMM + GTKMM + RAUL + REDLANDMM + SIGCPP + SLV2 + SOUP + XML2 + ''' diff --git a/src/libs/module/wscript b/src/libs/module/wscript new file mode 100644 index 00000000..e202342d --- /dev/null +++ b/src/libs/module/wscript @@ -0,0 +1,17 @@ +#!/usr/bin/env python +import Params + +def build(bld): + dir = Params.g_options.moduledir or bld.env()['PREFIX'] + 'lib/ingen' + obj = bld.create_obj('cpp', 'shlib') + obj.source = ''' + Module.cpp + global.cpp + ''' + obj.includes = ['..', '../../common', '../..'] + obj.defines = 'INGEN_MODULE_DIR=\\\"' + dir + '\\\"' + obj.name = 'libingen_module' + obj.target = 'ingen_module' + obj.uselib = 'GLIBMM SLV2 RAUL REDLANDMM' + obj.vnum = '0.0.0' + diff --git a/src/libs/serialisation/wscript b/src/libs/serialisation/wscript new file mode 100644 index 00000000..c3e98b81 --- /dev/null +++ b/src/libs/serialisation/wscript @@ -0,0 +1,16 @@ +#!/usr/bin/env python +import Params + +def build(bld): + obj = bld.create_obj('cpp', 'shlib') + obj.source = ''' + Parser.cpp + Serialiser.cpp + serialisation.cpp + ''' + obj.includes = ['..', '../../common', '../..'] + obj.name = 'libingen_serialisation' + obj.target = 'ingen_serialisation' + obj.uselib = 'GLIBMM SLV2 RAUL REDLANDMM' + obj.vnum = '0.0.0' + diff --git a/src/libs/shared/wscript b/src/libs/shared/wscript new file mode 100644 index 00000000..1974a827 --- /dev/null +++ b/src/libs/shared/wscript @@ -0,0 +1,19 @@ +#!/usr/bin/env python +import Params + +def build(bld): + obj = bld.create_obj('cpp', 'shlib') + obj.source = ''' + Builder.cpp + ClashAvoider.cpp + LV2Features.cpp + LV2URIMap.cpp + OSCSender.cpp + Store.cpp + ''' + obj.includes = ['..', '../../common', '../..'] + obj.name = 'libingen_shared' + obj.target = 'ingen_shared' + obj.uselib = 'GLIBMM SLV2 RAUL REDLANDMM' + obj.vnum = '0.0.0' + diff --git a/src/progs/ingen/wscript b/src/progs/ingen/wscript new file mode 100644 index 00000000..ce802e36 --- /dev/null +++ b/src/progs/ingen/wscript @@ -0,0 +1,13 @@ +#!/usr/bin/env python + +def build(bld): + obj = bld.create_obj('cpp', 'program') + obj.target = 'ingen' + obj.source = 'main.cpp cmdline.c' + obj.includes = '.' + obj.includes = ['../../common', '../..', '../../libs'] + obj.defines = 'VERSION=\\\"' + bld.env()['INGEN_VERSION'] + '\\\"' + obj.uselib = 'GTHREAD GLIBMM REDLANDMM RAUL SLV2 INGEN LIBLO' + obj.uselib_local = 'libingen_module libingen_shared' + obj.inst_var = 0 + @@ -0,0 +1 @@ +../waf
\ No newline at end of file diff --git a/wscript b/wscript new file mode 100644 index 00000000..0ec02d5f --- /dev/null +++ b/wscript @@ -0,0 +1,57 @@ +#!/usr/bin/env python +import os +import Params + +# Variables for 'waf dist' +VERSION = 'svn' +APPNAME = 'ingen' + +# Mandatory variables +srcdir = '.' +blddir = 'build' + +def set_options(opt): + opt.tool_options('compiler_cxx') + opt.add_option('--data-dir', type='string', dest='datadir', + help="Ingen data install directory [Default: PREFIX/share/ingen]") + opt.add_option('--module-dir', type='string', dest='moduledir', + help="Ingen module install directory [Default: PREFIX/lib/ingen]") + +def configure(conf): + if not conf.env['CXX']: + conf.check_tool('compiler_cxx') + if not conf.env['HAVE_GLIBMM']: + conf.check_pkg('glibmm-2.4', destvar='GLIBMM', vnum='2.16.0', mandatory=True) + if not conf.env['HAVE_GTHREAD']: + conf.check_pkg('gthread-2.0', destvar='GTHREAD', vnum='2.16.0', mandatory=True) + if not conf.env['HAVE_JACK']: + conf.check_pkg('jack', destvar='JACK', vnum='0.107.0', mandatory=True) + if not conf.env['HAVE_SLV2']: + conf.check_pkg('slv2', destvar='SLV2', vnum='0.6.0', mandatory=True) + if not conf.env['HAVE_RAUL']: + conf.check_pkg('raul', destvar='RAUL', vnum='0.5.1', mandatory=True) + if not conf.env['HAVE_FLOWCANVAS']: + conf.check_pkg('flowcanvas', destvar='FLOWCANVAS', vnum='0.5.1', mandatory=True) + if not conf.env['HAVE_XML2']: + conf.check_pkg('libxml-2.0', destvar='XML2', vnum='2.6.0', mandatory=False) + if not conf.env['HAVE_GLADEMM']: + conf.check_pkg('libglademm-2.4', destvar='GLADEMM', vnum='2.6.0', mandatory=False) + if not conf.env['HAVE_SOUP']: + conf.check_pkg('libsoup-2.4', destvar='SOUP', vnum='2.4.0', mandatory=False) + if not conf.env['HAVE_LIBLO']: + conf.check_pkg('liblo', destvar='LIBLO', vnum='0.25', mandatory=False) + if not conf.env['HAVE_REDLANDMM']: + conf.check_pkg('redlandmm', destvar='REDLANDMM', vnum='0.0.0', mandatory=False) + conf.env['INGEN_VERSION'] = VERSION + conf.write_config_header('waf-config.h') + conf.env.append_value('CCFLAGS', '-DCONFIG_H_PATH=\\\"waf-config.h\\\"') + conf.env.append_value('CXXFLAGS', '-DCONFIG_H_PATH=\\\"waf-config.h\\\"') + +def build(bld): + bld.add_subdirs('src/libs/engine') + bld.add_subdirs('src/libs/serialisation') + bld.add_subdirs('src/libs/module') + bld.add_subdirs('src/libs/shared') + bld.add_subdirs('src/libs/client') + bld.add_subdirs('src/libs/gui') + bld.add_subdirs('src/progs/ingen') |