From c7f671ff5bf9cf2559697bbc90cf3cee97cc7975 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 15 Sep 2011 07:17:10 +0000 Subject: Fix control bindings (MIDI learn). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3464 a436a847-0d15-0410-975c-d299462d15a1 --- src/server/PostProcessor.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'src/server/PostProcessor.cpp') diff --git a/src/server/PostProcessor.cpp b/src/server/PostProcessor.cpp index 2dd9666b..5a54d728 100644 --- a/src/server/PostProcessor.cpp +++ b/src/server/PostProcessor.cpp @@ -71,18 +71,13 @@ PostProcessor::process() /* FIXME: process events from all threads if parallel */ /* Process audio thread generated events */ - while (true) { - Driver* driver = _engine.driver(); - Notification note; - if (driver && driver->context().event_sink().peek(sizeof(note), ¬e)) { - if (note.time > end_time) { - break; - } - - note.post_process(_engine); - driver->context().event_sink().skip(sizeof(note)); - } else { - break; + Driver* driver = _engine.driver(); + if (driver) { + Notification note; + const uint32_t read_space = driver->context().event_sink().read_space(); + for (uint32_t i = 0; i <= read_space; i += sizeof(note)) { + driver->context().event_sink().read(sizeof(note), ¬e); + Notification::post_process(note, _engine); } } -- cgit v1.2.1