summaryrefslogtreecommitdiffstats
path: root/src/engine/Engine.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-04-19 20:17:25 +0000
committerDavid Robillard <d@drobilla.net>2011-04-19 20:17:25 +0000
commit6ec78b5a9eb499646d7fa6ccb306378426008e9d (patch)
tree7b40c90452f3b33ea86cd0a6cf224c7bd1e2a8c3 /src/engine/Engine.cpp
parent375e57574e08d746c6c12255836face2066ebf4c (diff)
downloadingen-6ec78b5a9eb499646d7fa6ccb306378426008e9d.tar.gz
ingen-6ec78b5a9eb499646d7fa6ccb306378426008e9d.tar.bz2
ingen-6ec78b5a9eb499646d7fa6ccb306378426008e9d.zip
Make event queue size a runtime parameter (--queue-size, -q).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3169 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/Engine.cpp')
-rw-r--r--src/engine/Engine.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/engine/Engine.cpp b/src/engine/Engine.cpp
index 31f4fc2a..357604ed 100644
--- a/src/engine/Engine.cpp
+++ b/src/engine/Engine.cpp
@@ -45,7 +45,6 @@
#include "ProcessContext.hpp"
#include "QueuedEngineInterface.hpp"
#include "ThreadManager.hpp"
-#include "tuning.hpp"
using namespace std;
using namespace Raul;
@@ -56,14 +55,14 @@ namespace Engine {
bool ThreadManager::single_threaded = true;
Engine::Engine(Ingen::Shared::World* a_world)
- : _broadcaster(new ClientBroadcaster())
+ : _world(a_world)
+ , _broadcaster(new ClientBroadcaster())
, _buffer_factory(new BufferFactory(*this, a_world->uris()))
, _control_bindings(new ControlBindings(*this))
- , _maid(new Raul::Maid(maid_queue_size))
+ , _maid(new Raul::Maid(event_queue_size()))
, _message_context(new MessageContext(*this))
, _node_factory(new NodeFactory(a_world))
- , _post_processor(new PostProcessor(*this, post_processor_queue_size))
- , _world(a_world)
+ , _post_processor(new PostProcessor(*this, event_queue_size()))
{
if (a_world->store()) {
assert(PtrCast<EngineStore>(a_world->store()));
@@ -96,6 +95,12 @@ Engine::engine_store() const
return PtrCast<EngineStore>(_world->store());
}
+size_t
+Engine::event_queue_size() const
+{
+ return world()->conf()->option("queue-size").get_int32();
+}
+
void
Engine::quit()
{