summaryrefslogtreecommitdiffstats
path: root/src/server/ingen_lv2.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-05-03 02:56:09 +0000
committerDavid Robillard <d@drobilla.net>2012-05-03 02:56:09 +0000
commit9ae720fdc60d7e40b1b8be7c1133a57acb4e564c (patch)
tree99df6c7c38a850eba95bef35ed5a98f2a057d927 /src/server/ingen_lv2.cpp
parent93fb77a658d4d78fc64f3b8b84ed28dd94b3e6f8 (diff)
downloadingen-9ae720fdc60d7e40b1b8be7c1133a57acb4e564c.tar.gz
ingen-9ae720fdc60d7e40b1b8be7c1133a57acb4e564c.tar.bz2
ingen-9ae720fdc60d7e40b1b8be7c1133a57acb4e564c.zip
Separate EventWriter interface from EventQueue.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4319 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/ingen_lv2.cpp')
-rw-r--r--src/server/ingen_lv2.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/server/ingen_lv2.cpp b/src/server/ingen_lv2.cpp
index 21f1299d..94e7344d 100644
--- a/src/server/ingen_lv2.cpp
+++ b/src/server/ingen_lv2.cpp
@@ -45,10 +45,11 @@
#include "AudioBuffer.hpp"
#include "Driver.hpp"
#include "Engine.hpp"
+#include "EventQueue.hpp"
+#include "EventWriter.hpp"
#include "PatchImpl.hpp"
#include "PostProcessor.hpp"
#include "ProcessContext.hpp"
-#include "ServerInterfaceImpl.hpp"
#include "ThreadManager.hpp"
#define NS_INGEN "http://drobilla.net/ns/ingen#"
@@ -425,11 +426,12 @@ ingen_instantiate(const LV2_Descriptor* descriptor,
plugin->main = new MainThread(engine);
plugin->main->set_name("Main");
- SharedPtr<Server::ServerInterfaceImpl> interface(
- new Server::ServerInterfaceImpl(*engine.get()));
+ SharedPtr<Server::EventQueue> queue(new Server::EventQueue());
+ SharedPtr<Server::EventWriter> interface(
+ new Server::EventWriter(*engine.get(), *queue.get()));
plugin->world->set_engine(interface);
- engine->add_event_source(interface);
+ engine->add_event_source(queue);
Raul::Thread::get().set_context(Server::THREAD_PRE_PROCESS);
Server::ThreadManager::single_threaded = true;
@@ -450,17 +452,15 @@ ingen_instantiate(const LV2_Descriptor* descriptor,
engine->post_processor()->set_end_time(UINT_MAX);
- // TODO: Load only necessary plugins
- //plugin->world->engine()->get("ingen:plugins");
- interface->process(*engine->post_processor(), context, false);
+ queue->process(*engine->post_processor(), context, false);
engine->post_processor()->process();
plugin->world->parser()->parse_file(plugin->world,
plugin->world->engine().get(),
patch->filename);
- while (!interface->empty()) {
- interface->process(*engine->post_processor(), context, false);
+ while (!queue->empty()) {
+ queue->process(*engine->post_processor(), context, false);
engine->post_processor()->process();
}
@@ -493,7 +493,7 @@ ingen_activate(LV2_Handle instance)
{
IngenPlugin* me = (IngenPlugin*)instance;
me->world->local_engine()->activate();
- ((ServerInterfaceImpl*)me->world->engine().get())->start();
+ //((EventWriter*)me->world->engine().get())->start();
me->main->start();
}