From 48f87f1f1649fb7e169fdaac2cd38370e8a4a1fa Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 8 Sep 2006 03:58:00 +0000 Subject: De-singleton-ified Engine Slight rework of Responder/ClientKey/ClientInterface for Requests git-svn-id: http://svn.drobilla.net/lad/ingen@119 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/Engine.cpp | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) (limited to 'src/libs/engine/Engine.cpp') diff --git a/src/libs/engine/Engine.cpp b/src/libs/engine/Engine.cpp index 75c544ac..a98f4fbf 100644 --- a/src/libs/engine/Engine.cpp +++ b/src/libs/engine/Engine.cpp @@ -49,20 +49,9 @@ using std::cout; using std::cerr; using std::endl; namespace Ingen { -Engine* Engine::m_instance = NULL; - - -void -Engine::instantiate(const char* port, AudioDriver* audio_driver) -{ - assert(!m_instance); - m_instance = new Engine(port, audio_driver); -} - - -Engine::Engine(const char* port, AudioDriver* audio_driver) -: m_audio_driver( (audio_driver) ? audio_driver : new JackAudioDriver() ), - m_osc_receiver(new OSCReceiver(pre_processor_queue_size, port)), +Engine::Engine(const char* listen_port, AudioDriver* audio_driver) +: m_audio_driver( (audio_driver) ? audio_driver : new JackAudioDriver(*this) ), + m_osc_receiver(new OSCReceiver(*this, pre_processor_queue_size, listen_port)), #ifdef HAVE_JACK_MIDI m_midi_driver(new JackMidiDriver(((JackAudioDriver*)m_audio_driver)->jack_client())), #elif HAVE_ALSA_MIDI @@ -70,8 +59,8 @@ Engine::Engine(const char* port, AudioDriver* audio_driver) #else m_midi_driver(new DummyMidiDriver()), #endif - m_post_processor(new PostProcessor(post_processor_queue_size)), m_maid(new Maid(maid_queue_size)), + m_post_processor(new PostProcessor(*m_maid, post_processor_queue_size)), m_client_broadcaster(new ClientBroadcaster()), m_object_store(new ObjectStore()), m_node_factory(new NodeFactory()), @@ -155,13 +144,13 @@ Engine::activate() return; // Create root patch - CreatePatchEvent create_ev(CountedPtr(new Responder()), 0, "/", 1); + CreatePatchEvent create_ev(*this, CountedPtr(new Responder()), 0, "/", 1); create_ev.pre_process(); - create_ev.execute(0); + create_ev.execute(1, 0, 1); create_ev.post_process(); - EnablePatchEvent enable_ev(CountedPtr(new Responder()), 0, "/"); + EnablePatchEvent enable_ev(*this, CountedPtr(new Responder()), 0, "/"); enable_ev.pre_process(); - enable_ev.execute(0); + enable_ev.execute(1, 0, 1); enable_ev.post_process(); assert(m_audio_driver->root_patch() != NULL); @@ -183,7 +172,7 @@ Engine::deactivate() if (!m_activated) return; - m_audio_driver->root_patch()->process(false); + m_audio_driver->root_patch()->disable(); m_audio_driver->root_patch()->deactivate(); /*for (Tree::iterator i = m_object_store->objects().begin(); -- cgit v1.2.1