summaryrefslogtreecommitdiffstats
path: root/src/server/Engine.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-05-14 01:09:08 +0000
committerDavid Robillard <d@drobilla.net>2012-05-14 01:09:08 +0000
commit841825844f9b2f4eae069d0aad064e4046e15471 (patch)
tree8a31a4456bab8ca06f757f0524bf5adacbe2aaa1 /src/server/Engine.cpp
parentffa63b0c1e769fae0af5e2bbbd822d1e8b206535 (diff)
downloadingen-841825844f9b2f4eae069d0aad064e4046e15471.tar.gz
ingen-841825844f9b2f4eae069d0aad064e4046e15471.tar.bz2
ingen-841825844f9b2f4eae069d0aad064e4046e15471.zip
Real-time safe LV2 message handling.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4402 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/Engine.cpp')
-rw-r--r--src/server/Engine.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/Engine.cpp b/src/server/Engine.cpp
index f1c714d3..a146743d 100644
--- a/src/server/Engine.cpp
+++ b/src/server/Engine.cpp
@@ -231,7 +231,7 @@ Engine::deactivate()
ThreadManager::single_threaded = true;
}
-void
+unsigned
Engine::run(uint32_t sample_count)
{
// Apply control bindings to input
@@ -242,7 +242,7 @@ Engine::run(uint32_t sample_count)
// Process events that came in during the last cycle
// (Aiming for jitter-free 1 block event latency, ideally)
- process_events();
+ unsigned n_processed_events = process_events();
// Run root patch
if (_root_patch) {
@@ -257,6 +257,8 @@ Engine::run(uint32_t sample_count)
if (_message_context.has_requests()) {
_message_context.signal(_process_context);
}
+
+ return n_processed_events;
}
bool
@@ -272,10 +274,10 @@ Engine::enqueue_event(Event* ev)
_pre_processor->event(ev);
}
-void
+unsigned
Engine::process_events()
{
- _pre_processor->process(_process_context, *_post_processor);
+ return _pre_processor->process(_process_context, *_post_processor);
}
void