summaryrefslogtreecommitdiffstats
path: root/src/engine/events
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-11-22 05:13:47 +0000
committerDavid Robillard <d@drobilla.net>2009-11-22 05:13:47 +0000
commit1745a63b874c296253a27ca7ad95d3a7b17822f7 (patch)
tree63bb78f0c34372f70634ea6122d83ed07019dc88 /src/engine/events
parente479da3c26d41e977cf55b8e2355db45991be09f (diff)
downloadingen-1745a63b874c296253a27ca7ad95d3a7b17822f7.tar.gz
ingen-1745a63b874c296253a27ca7ad95d3a7b17822f7.tar.bz2
ingen-1745a63b874c296253a27ca7ad95d3a7b17822f7.zip
Execute cross-context events in correct increasing time order.
Propagate value changes / message sends breadth first instead of deptch first. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2282 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/events')
-rw-r--r--src/engine/events/SetPortValue.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/engine/events/SetPortValue.cpp b/src/engine/events/SetPortValue.cpp
index 2a33b798..3d235cd1 100644
--- a/src/engine/events/SetPortValue.cpp
+++ b/src/engine/events/SetPortValue.cpp
@@ -22,6 +22,7 @@
#include "shared/LV2Object.hpp"
#include "module/World.hpp"
#include "AudioBuffer.hpp"
+#include "AudioDriver.hpp"
#include "ClientBroadcaster.hpp"
#include "Engine.hpp"
#include "EngineStore.hpp"
@@ -118,7 +119,8 @@ SetPortValue::pre_process()
if (_port && _port->context() == Context::MESSAGE) {
apply(*_engine.message_context());
_port->parent_node()->set_port_valid(_port->index());
- _engine.message_context()->run(_port->parent_node());
+ _engine.message_context()->run(_port->parent_node(),
+ _engine.audio_driver()->frame_time() + _engine.audio_driver()->buffer_size());
}
QueuedEvent::pre_process();