From 19045ab92aa7e996971584a0dc8780d1d58b498b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 19 Dec 2009 21:37:50 +0000 Subject: New ingen module (library, not e.g. LV2 plugin) design. Much cleaner interface and general usage of Ingen as a library. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2314 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/Engine.cpp | 15 +++++++-- src/engine/Engine.hpp | 41 ++++++++++++----------- src/engine/HTTPEngineReceiver.cpp | 28 ++-------------- src/engine/HTTPEngineReceiver.hpp | 7 ---- src/engine/JackAudioDriver.cpp | 19 ++--------- src/engine/JackAudioDriver.hpp | 9 ----- src/engine/MessageContext.hpp | 2 +- src/engine/OSCEngineReceiver.cpp | 11 ------- src/engine/OSCEngineReceiver.hpp | 6 ---- src/engine/QueuedEngineInterface.cpp | 2 +- src/engine/ingen.lv2/ingen_lv2.cpp | 4 +-- src/engine/ingen_engine.cpp | 50 +++++++++++++--------------- src/engine/ingen_engine.hpp | 42 ----------------------- src/engine/ingen_http.cpp | 49 +++++++++++++++++++++++++++ src/engine/ingen_jack.cpp | 48 +++++++++++++++++++++++++++ src/engine/ingen_osc.cpp | 50 ++++++++++++++++++++++++++++ src/engine/wscript | 64 ++++++++++++++++-------------------- 17 files changed, 240 insertions(+), 207 deletions(-) delete mode 100644 src/engine/ingen_engine.hpp create mode 100644 src/engine/ingen_http.cpp create mode 100644 src/engine/ingen_jack.cpp create mode 100644 src/engine/ingen_osc.cpp (limited to 'src/engine') diff --git a/src/engine/Engine.cpp b/src/engine/Engine.cpp index 07529caf..432b7afc 100644 --- a/src/engine/Engine.cpp +++ b/src/engine/Engine.cpp @@ -22,13 +22,13 @@ #include "raul/Deletable.hpp" #include "raul/Maid.hpp" #include "raul/SharedPtr.hpp" +#include "uri-map.lv2/uri-map.h" #include "common/interface/EventType.hpp" #include "events/CreatePatch.hpp" #include "module/World.hpp" #include "shared/LV2Features.hpp" #include "shared/LV2URIMap.hpp" #include "shared/Store.hpp" -#include "uri-map.lv2/uri-map.h" #include "AudioDriver.hpp" #include "BufferFactory.hpp" #include "ClientBroadcaster.hpp" @@ -44,6 +44,7 @@ #include "PostProcessor.hpp" #include "ProcessContext.hpp" #include "ProcessSlave.hpp" +#include "QueuedEngineInterface.hpp" #include "QueuedEventSource.hpp" #include "ThreadManager.hpp" #include "tuning.hpp" @@ -91,7 +92,6 @@ Engine::~Engine() delete _node_factory; delete _osc_driver; delete _post_processor; - //delete _lash_driver; delete _maid; @@ -166,6 +166,13 @@ Engine::main_iteration() } +Ingen::QueuedEngineInterface* +Engine::new_local_interface() +{ + return new Ingen::QueuedEngineInterface(*this, Ingen::event_queue_size); +} + + void Engine::add_event_source(SharedPtr source) { @@ -181,12 +188,14 @@ Engine::set_midi_driver(MidiDriver* driver) bool -Engine::activate(size_t parallelism) +Engine::activate() { assert(_audio_driver); _message_context->Thread::start(); + uint32_t parallelism = _world->conf->option("parallelism").get_int32(); + if (!_midi_driver) _midi_driver = new DummyMidiDriver(); diff --git a/src/engine/Engine.hpp b/src/engine/Engine.hpp index 5851e9a1..a8674c12 100644 --- a/src/engine/Engine.hpp +++ b/src/engine/Engine.hpp @@ -34,20 +34,21 @@ namespace Raul { class Maid; } namespace Ingen { class AudioDriver; -class MidiDriver; -class OSCDriver; -class NodeFactory; +class BufferFactory; class ClientBroadcaster; +class Driver; class EngineStore; +class Event; class EventSource; +class MessageContext; +class MidiDriver; +class NodeFactory; +class OSCDriver; class PostProcessor; -class Event; -class QueuedEvent; -class Driver; -class ProcessSlave; class ProcessContext; -class MessageContext; -class BufferFactory; +class ProcessSlave; +class QueuedEngineInterface; +class QueuedEvent; /** The main class for the Engine. @@ -74,22 +75,22 @@ public: * Note that it will take some time. */ virtual void quit() { _quit_flag = true; } - virtual bool activate(size_t parallelism); + virtual bool activate(); virtual void deactivate(); void process_events(ProcessContext& context); virtual bool activated() { return _activated; } - Raul::Maid* maid() const { return _maid; } - AudioDriver* audio_driver() const { return _audio_driver.get(); } - MidiDriver* midi_driver() const { return _midi_driver; } - OSCDriver* osc_driver() const { return _osc_driver; } - PostProcessor* post_processor() const { return _post_processor; } - ClientBroadcaster* broadcaster() const { return _broadcaster; } - NodeFactory* node_factory() const { return _node_factory; } - MessageContext* message_context() const { return _message_context; } - BufferFactory* buffer_factory() const { return _buffer_factory; } + Raul::Maid* maid() const { return _maid; } + AudioDriver* audio_driver() const { return _audio_driver.get(); } + MidiDriver* midi_driver() const { return _midi_driver; } + OSCDriver* osc_driver() const { return _osc_driver; } + PostProcessor* post_processor() const { return _post_processor; } + ClientBroadcaster* broadcaster() const { return _broadcaster; } + NodeFactory* node_factory() const { return _node_factory; } + MessageContext* message_context() const { return _message_context; } + BufferFactory* buffer_factory() const { return _buffer_factory; } SharedPtr engine_store() const; @@ -102,6 +103,8 @@ public: virtual void add_event_source(SharedPtr source); + Ingen::QueuedEngineInterface* new_local_interface(); + Ingen::Shared::World* world() { return _world; } typedef std::vector ProcessSlaves; diff --git a/src/engine/HTTPEngineReceiver.cpp b/src/engine/HTTPEngineReceiver.cpp index 532a4371..ecb8d018 100644 --- a/src/engine/HTTPEngineReceiver.cpp +++ b/src/engine/HTTPEngineReceiver.cpp @@ -25,7 +25,6 @@ #include "interface/ClientInterface.hpp" #include "module/Module.hpp" #include "serialisation/Parser.hpp" -#include "serialisation/serialisation.hpp" #include "serialisation/Serialiser.hpp" #include "ClientBroadcaster.hpp" #include "Engine.hpp" @@ -55,20 +54,8 @@ HTTPEngineReceiver::HTTPEngineReceiver(Engine& engine, uint16_t port) cout << "Started HTTP server on port " << soup_server_get_port(_server) << endl; Thread::set_name("HTTP Receiver"); - if (!engine.world()->serialisation_module) - engine.world()->serialisation_module = Ingen::Shared::load_module("ingen_serialisation"); - - if (engine.world()->serialisation_module) { - if (!engine.world()->serialiser) - engine.world()->serialiser = SharedPtr( - Ingen::Serialisation::new_serialiser(engine.world(), engine.engine_store())); - - if (!engine.world()->parser) - engine.world()->parser = SharedPtr( - Ingen::Serialisation::new_parser()); - } else { - cerr << "WARNING: Failed to load ingen_serialisation module, HTTP disabled." << endl; - } + if (!engine.world()->parser || !engine.world()->serialiser) + engine.world()->load("ingen_serialisation"); Thread::set_name("HTTP Receiver"); } @@ -242,14 +229,3 @@ HTTPEngineReceiver::ReceiveThread::_run() } // namespace Ingen - -extern "C" { - -Ingen::HTTPEngineReceiver* -new_http_receiver(Ingen::Engine& engine, uint16_t port) -{ - return new Ingen::HTTPEngineReceiver(engine, port); -} - -} // extern "C" - diff --git a/src/engine/HTTPEngineReceiver.hpp b/src/engine/HTTPEngineReceiver.hpp index db8dd0f7..79101e90 100644 --- a/src/engine/HTTPEngineReceiver.hpp +++ b/src/engine/HTTPEngineReceiver.hpp @@ -55,13 +55,6 @@ private: SoupServer* _server; }; - } // namespace Ingen -extern "C" { - /// Module interface - extern Ingen::HTTPEngineReceiver* new_http_receiver( - Ingen::Engine& engine, uint16_t port); -} - #endif // HTTPENGINERECEIVER_H diff --git a/src/engine/JackAudioDriver.cpp b/src/engine/JackAudioDriver.cpp index bb330435..05b0c45b 100644 --- a/src/engine/JackAudioDriver.cpp +++ b/src/engine/JackAudioDriver.cpp @@ -205,7 +205,8 @@ JackAudioDriver::activate() } if (!_client) - attach("", "ingen", NULL); + attach(_engine.world()->conf->option("jack-server").get_string(), + _engine.world()->conf->option("jack-client").get_string(), NULL); jack_set_process_callback(_client, process_cb, this); @@ -435,19 +436,3 @@ JackAudioDriver::_buffer_size_cb(jack_nframes_t nframes) } // namespace Ingen - -extern "C" { - -Ingen::JackAudioDriver* -new_jack_audio_driver( - Ingen::Engine& engine, - const std::string server_name, - const std::string client_name, - void* jack_client) -{ - Ingen::JackAudioDriver* driver = new Ingen::JackAudioDriver(engine); - driver->attach(server_name, client_name, jack_client); - return driver; -} - -} diff --git a/src/engine/JackAudioDriver.hpp b/src/engine/JackAudioDriver.hpp index 0e062b22..9681dd71 100644 --- a/src/engine/JackAudioDriver.hpp +++ b/src/engine/JackAudioDriver.hpp @@ -191,13 +191,4 @@ inline int JackAudioDriver::sample_rate_cb(jack_nframes_t nframes, void* jack_dr } // namespace Ingen -extern "C" { - /// Module interface - extern Ingen::JackAudioDriver* new_jack_audio_driver( - Ingen::Engine& engine, - std::string server_name = "", - std::string client_name = "", - void* jack_client = 0); -} - #endif // JACKAUDIODRIVER_H diff --git a/src/engine/MessageContext.hpp b/src/engine/MessageContext.hpp index 1195d7f5..c0813e69 100644 --- a/src/engine/MessageContext.hpp +++ b/src/engine/MessageContext.hpp @@ -47,7 +47,7 @@ class MessageContext : public Context, public Raul::Thread public: MessageContext(Engine& engine) : Context(engine, MESSAGE) - , Raul::Thread("message-context") + , Raul::Thread("MessageContext") , _sem(0) , _requests(message_context_queue_size) , _end_time(0) diff --git a/src/engine/OSCEngineReceiver.cpp b/src/engine/OSCEngineReceiver.cpp index 10e725c1..159397a0 100644 --- a/src/engine/OSCEngineReceiver.cpp +++ b/src/engine/OSCEngineReceiver.cpp @@ -764,14 +764,3 @@ OSCEngineReceiver::unknown_cb(const char* path, const char* types, lo_arg** argv } // namespace Ingen - - -extern "C" { - -Ingen::OSCEngineReceiver* -new_osc_receiver(Ingen::Engine& engine, size_t queue_size, uint16_t port) -{ - return new Ingen::OSCEngineReceiver(engine, queue_size, port); -} - -} // extern "C" diff --git a/src/engine/OSCEngineReceiver.hpp b/src/engine/OSCEngineReceiver.hpp index c1061792..8285652b 100644 --- a/src/engine/OSCEngineReceiver.hpp +++ b/src/engine/OSCEngineReceiver.hpp @@ -114,10 +114,4 @@ private: } // namespace Ingen -extern "C" { - /// Module interface - extern Ingen::OSCEngineReceiver* new_osc_receiver( - Ingen::Engine& engine, size_t queue_size, uint16_t port); -} - #endif // OSCENGINERECEIVER_H diff --git a/src/engine/QueuedEngineInterface.cpp b/src/engine/QueuedEngineInterface.cpp index d2ff74df..09e711cc 100644 --- a/src/engine/QueuedEngineInterface.cpp +++ b/src/engine/QueuedEngineInterface.cpp @@ -109,7 +109,7 @@ QueuedEngineInterface::activate() static bool in_activate = false; if (!in_activate) { in_activate = true; - _engine.activate(1); + _engine.activate(); } QueuedEventSource::activate_source(); push_queued(new Events::Ping(_engine, _responder, now())); diff --git a/src/engine/ingen.lv2/ingen_lv2.cpp b/src/engine/ingen.lv2/ingen_lv2.cpp index 2dd8cedc..9be7c30a 100644 --- a/src/engine/ingen.lv2/ingen_lv2.cpp +++ b/src/engine/ingen.lv2/ingen_lv2.cpp @@ -98,7 +98,7 @@ ingen_cleanup(LV2_Handle instance) { IngenPlugin* plugin = (IngenPlugin*)instance; plugin->engine.reset(); - Ingen::Shared::destroy_world(); + ingen_destroy_world(); free(instance); } @@ -120,7 +120,7 @@ ingen_instantiate(const LV2_Descriptor* descriptor, Shared::bundle_path = bundle_path; - plugin->world = Ingen::Shared::get_world(); + plugin->world = ingen_get_world(); plugin->engine = SharedPtr(new Engine(plugin->world)); plugin->world->local_engine = plugin->engine; diff --git a/src/engine/ingen_engine.cpp b/src/engine/ingen_engine.cpp index 07d2c921..b5fe92a9 100644 --- a/src/engine/ingen_engine.cpp +++ b/src/engine/ingen_engine.cpp @@ -15,39 +15,35 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include -#include -#include "raul/Process.hpp" -#include "ingen_engine.hpp" +#include "module/Module.hpp" #include "Engine.hpp" -#include "tuning.hpp" +#include "QueuedEngineInterface.hpp" #include "util.hpp" +#include "tuning.hpp" -namespace Ingen { - -Engine* -new_engine(Ingen::Shared::World* world) -{ - set_denormal_flags(); - return new Engine(world); -} +using namespace Ingen; +struct IngenEngineModule : public Ingen::Shared::Module { + void load(Ingen::Shared::World* world) { + set_denormal_flags(); + world->local_engine = SharedPtr(new Engine(world)); + SharedPtr interface( + new Ingen::QueuedEngineInterface(*world->local_engine, event_queue_size)); + world->engine = interface; + world->local_engine->add_event_source(interface); + } +}; -bool -launch_osc_engine(int port) -{ - char port_str[6]; - snprintf(port_str, 6, "%u", port); - const std::string cmd = std::string("ingen -e --engine-port=").append(port_str); +static IngenEngineModule* module = NULL; - if (Raul::Process::launch(cmd)) { - return true; - } else { - std::cerr << "Failed to launch engine process." << std::endl; - return false; - } -} +extern "C" { +Ingen::Shared::Module* +ingen_module_load() { + if (!module) + module = new IngenEngineModule(); -} // namespace Ingen + return module; +} +} // extern "C" diff --git a/src/engine/ingen_engine.hpp b/src/engine/ingen_engine.hpp deleted file mode 100644 index c55b7809..00000000 --- a/src/engine/ingen_engine.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/* This file is part of Ingen. - * Copyright (C) 2007-2009 Dave Robillard - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef INGEN_ENGINE_H -#define INGEN_ENGINE_H - -namespace Ingen { - -namespace Shared { class World; } - -class Engine; - -extern "C" { - - /** Create a new engine in this process */ - Engine* new_engine(Ingen::Shared::World* world); - - /** Launch an OSC engine as a completely separate process - * \return true if successful - */ - bool launch_osc_engine(int port); -} - - -} // namespace Ingen - -#endif // INGEN_ENGINE_H - diff --git a/src/engine/ingen_http.cpp b/src/engine/ingen_http.cpp new file mode 100644 index 00000000..dade5bd3 --- /dev/null +++ b/src/engine/ingen_http.cpp @@ -0,0 +1,49 @@ +/* This file is part of Ingen. + * Copyright (C) 2007-2009 Dave Robillard + * + * Ingen is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include "module/Module.hpp" +#include "module/World.hpp" +#include "HTTPEngineReceiver.hpp" +#include "Engine.hpp" +#include "tuning.hpp" + +using namespace std; +using namespace Ingen; + +struct IngenHTTPModule : public Ingen::Shared::Module { + void load(Ingen::Shared::World* world) { + SharedPtr interface( + new Ingen::HTTPEngineReceiver(*world->local_engine.get(), + world->conf->option("engine-port").get_int32())); + world->local_engine->add_event_source(interface); + } +}; + +static IngenHTTPModule* module = NULL; + +extern "C" { + +Ingen::Shared::Module* +ingen_module_load() { + if (!module) + module = new IngenHTTPModule(); + + return module; +} + +} // extern "C" diff --git a/src/engine/ingen_jack.cpp b/src/engine/ingen_jack.cpp new file mode 100644 index 00000000..a721383d --- /dev/null +++ b/src/engine/ingen_jack.cpp @@ -0,0 +1,48 @@ +/* This file is part of Ingen. + * Copyright (C) 2007-2009 Dave Robillard + * + * Ingen is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include "module/Module.hpp" +#include "module/World.hpp" +#include "JackAudioDriver.hpp" +#include "Engine.hpp" + +using namespace std; +using namespace Ingen; + +struct IngenJackModule : public Ingen::Shared::Module { + void load(Ingen::Shared::World* world) { + Ingen::JackAudioDriver* driver = new Ingen::JackAudioDriver(*world->local_engine.get()); + driver->attach(world->conf->option("jack-server").get_string(), + world->conf->option("jack-client").get_string(), NULL); + world->local_engine->set_driver(Shared::PortType::AUDIO, SharedPtr(driver)); + } +}; + +static IngenJackModule* module = NULL; + +extern "C" { + +Ingen::Shared::Module* +ingen_module_load() { + if (!module) + module = new IngenJackModule(); + + return module; +} + +} // extern "C" diff --git a/src/engine/ingen_osc.cpp b/src/engine/ingen_osc.cpp new file mode 100644 index 00000000..0599adb8 --- /dev/null +++ b/src/engine/ingen_osc.cpp @@ -0,0 +1,50 @@ +/* This file is part of Ingen. + * Copyright (C) 2007-2009 Dave Robillard + * + * Ingen is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include "module/Module.hpp" +#include "module/World.hpp" +#include "OSCEngineReceiver.hpp" +#include "Engine.hpp" +#include "tuning.hpp" + +using namespace std; +using namespace Ingen; + +struct IngenOSCModule : public Ingen::Shared::Module { + void load(Ingen::Shared::World* world) { + cout << "FIXME: OSC port" << endl; + uint16_t port = 16180; + SharedPtr interface( + new Ingen::OSCEngineReceiver(*world->local_engine.get(), event_queue_size, port)); + world->local_engine->add_event_source(interface); + } +}; + +static IngenOSCModule* module = NULL; + +extern "C" { + +Ingen::Shared::Module* +ingen_module_load() { + if (!module) + module = new IngenOSCModule(); + + return module; +} + +} // extern "C" diff --git a/src/engine/wscript b/src/engine/wscript index ee98b125..10478637 100644 --- a/src/engine/wscript +++ b/src/engine/wscript @@ -31,33 +31,8 @@ def build(bld): PortImpl.cpp PostProcessor.cpp ProcessSlave.cpp - QueuedEvent.cpp - events/SendPortActivity.cpp - events/SendPortValue.cpp - ingen_engine.cpp - internals/Controller.cpp - internals/Note.cpp - internals/Trigger.cpp - ''' - - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = core_source - if bld.env['HAVE_LADSPA_H'] == 1: - obj.source += ' LADSPAPlugin.cpp LADSPANode.cpp ' - if bld.env['HAVE_SLV2'] == 1: - obj.source += ' LV2Info.cpp LV2Plugin.cpp LV2Node.cpp ' - obj.export_incdirs = ['.'] - obj.includes = ['.', '..', '../..', '../common'] - obj.name = 'libingen_engine' - obj.target = 'ingen_engine' - obj.install_path = '${LIBDIR}/ingen' - obj.uselib_local = 'libingen_shared' - core_libs = 'GLIBMM GTHREAD LV2CORE SLV2 RAUL REDLANDMM' - autowaf.use_lib(bld, obj, core_libs) - - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' QueuedEngineInterface.cpp + QueuedEvent.cpp QueuedEventSource.cpp events/AllNotesOff.cpp events/ClearPatch.cpp @@ -77,15 +52,30 @@ def build(bld): events/RequestAllObjects.cpp events/RequestMetadata.cpp events/RequestPlugins.cpp + events/SendPortActivity.cpp + events/SendPortValue.cpp events/SetMetadata.cpp events/SetPortValue.cpp events/UnregisterClient.cpp + ingen_engine.cpp + internals/Controller.cpp + internals/Note.cpp + internals/Trigger.cpp ''' + + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = core_source + if bld.env['HAVE_LADSPA_H'] == 1: + obj.source += ' LADSPAPlugin.cpp LADSPANode.cpp ' + if bld.env['HAVE_SLV2'] == 1: + obj.source += ' LV2Info.cpp LV2Plugin.cpp LV2Node.cpp ' obj.export_incdirs = ['.'] - obj.includes = ['.', '..', '../..', '../common', '../engine'] - obj.name = 'libingen_engine_queued' - obj.target = 'ingen_engine_queued' + obj.includes = ['.', '..', '../..', '../common'] + obj.name = 'libingen_engine' + obj.target = 'ingen_engine' obj.install_path = '${LIBDIR}/ingen' + obj.uselib_local = 'libingen_shared' + core_libs = 'GLIBMM GTHREAD LV2CORE SLV2 RAUL REDLANDMM' autowaf.use_lib(bld, obj, core_libs) if bld.env['HAVE_SOUP'] == 1: @@ -95,10 +85,11 @@ def build(bld): QueuedEngineInterface.cpp HTTPClientSender.cpp HTTPEngineReceiver.cpp + ingen_http.cpp ''' obj.includes = ['.', '..', '../..', '../common', '../engine'] - obj.name = 'libingen_engine_http' - obj.target = 'ingen_engine_http' + obj.name = 'libingen__http' + obj.target = 'ingen_http' obj.install_path = '${LIBDIR}/ingen' autowaf.use_lib(bld, obj, core_libs + ' SOUP') @@ -109,21 +100,22 @@ def build(bld): QueuedEngineInterface.cpp OSCClientSender.cpp OSCEngineReceiver.cpp + ingen_osc.cpp ''' obj.export_incdirs = ['.'] obj.includes = ['.', '..', '../..', '../common', '../engine'] - obj.name = 'libingen_engine_osc' - obj.target = 'ingen_engine_osc' + obj.name = 'libingen_osc' + obj.target = 'ingen_osc' obj.install_path = '${LIBDIR}/ingen' autowaf.use_lib(bld, obj, core_libs + ' LIBLO') if bld.env['HAVE_JACK'] == 1: obj = bld.new_task_gen('cxx', 'shlib') - obj.source = 'JackAudioDriver.cpp JackMidiDriver.cpp' + obj.source = 'JackAudioDriver.cpp JackMidiDriver.cpp ingen_jack.cpp' obj.export_incdirs = ['.'] obj.includes = ['.', '..', '../..', '../common', '../engine'] - obj.name = 'libingen_engine_jack' - obj.target = 'ingen_engine_jack' + obj.name = 'libingen_jack' + obj.target = 'ingen_jack' obj.install_path = '${LIBDIR}/ingen' autowaf.use_lib(bld, obj, core_libs + ' JACK') -- cgit v1.2.1