From 40ff85e256ca9094fb75cdcbabd3442339f91ecd Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 2 May 2007 23:58:28 +0000 Subject: Added svn:ignore property to everything. Made engine and patch loader separate dynamically loaded modules. No more monolithic ingenuity (module loaded at runtime). git-svn-id: http://svn.drobilla.net/lad/ingen@491 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/Engine.cpp | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) (limited to 'src/libs/engine/Engine.cpp') diff --git a/src/libs/engine/Engine.cpp b/src/libs/engine/Engine.cpp index ddb9ea81..d9481786 100644 --- a/src/libs/engine/Engine.cpp +++ b/src/libs/engine/Engine.cpp @@ -35,6 +35,7 @@ #include "PostProcessor.h" #include "CreatePatchEvent.h" #include "EnablePatchEvent.h" +#include "OSCEngineReceiver.h" #ifdef HAVE_JACK_MIDI #include "JackMidiDriver.h" #endif @@ -139,14 +140,37 @@ Engine::main_iteration() } +void +Engine::start_jack_driver() +{ + _audio_driver = SharedPtr(new JackAudioDriver(*this)); +} + + +void +Engine::start_osc_driver(const std::string& port) +{ + _event_source = SharedPtr(new OSCEngineReceiver( + *this, pre_processor_queue_size, port.c_str())); +} + + +void +Engine::set_event_source(SharedPtr source) +{ + _event_source = source; +} + + bool -Engine::activate(SharedPtr ad, SharedPtr es) +Engine::activate() { if (_activated) return false; - // Setup drivers - _audio_driver = ad; + assert(_audio_driver); + assert(_event_source); + #ifdef HAVE_JACK_MIDI _midi_driver = new JackMidiDriver(((JackAudioDriver*)_audio_driver.get())->jack_client()); #elif HAVE_ALSA_MIDI @@ -155,9 +179,6 @@ Engine::activate(SharedPtr ad, SharedPtr es) _midi_driver = new DummyMidiDriver(); #endif - // Set event source (FIXME: handle multiple sources) - _event_source = es; - _event_source->activate(); // Create root patch -- cgit v1.2.1