diff options
author | David Robillard <d@drobilla.net> | 2009-12-19 21:37:50 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-12-19 21:37:50 +0000 |
commit | 19045ab92aa7e996971584a0dc8780d1d58b498b (patch) | |
tree | 619c73deb7fd64ce31c5167490d1ae186dbb2695 /src/engine/Engine.cpp | |
parent | 4613a2e15f1122ecf6830171de0ab18dc22fefff (diff) | |
download | ingen-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.cpp | 15 |
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(); |