summaryrefslogtreecommitdiffstats
path: root/src/engine/Engine.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-12-19 21:37:50 +0000
committerDavid Robillard <d@drobilla.net>2009-12-19 21:37:50 +0000
commit19045ab92aa7e996971584a0dc8780d1d58b498b (patch)
tree619c73deb7fd64ce31c5167490d1ae186dbb2695 /src/engine/Engine.cpp
parent4613a2e15f1122ecf6830171de0ab18dc22fefff (diff)
downloadingen-19045ab92aa7e996971584a0dc8780d1d58b498b.tar.gz
ingen-19045ab92aa7e996971584a0dc8780d1d58b498b.tar.bz2
ingen-19045ab92aa7e996971584a0dc8780d1d58b498b.zip
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
Diffstat (limited to 'src/engine/Engine.cpp')
-rw-r--r--src/engine/Engine.cpp15
1 files changed, 12 insertions, 3 deletions
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<EventSource> 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();