summaryrefslogtreecommitdiffstats
path: root/src/server/events
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-05-12 07:04:11 +0000
committerDavid Robillard <d@drobilla.net>2012-05-12 07:04:11 +0000
commit52011c3b045d9f49a4bc25c9f545bb35e5c2a0a9 (patch)
tree29012d7da9bf9e0525574b3d8713eaf828626ac5 /src/server/events
parent2e8a9b483a8d2ca7ba2a4feb4a845a32ab1eebeb (diff)
downloadingen-52011c3b045d9f49a4bc25c9f545bb35e5c2a0a9.tar.gz
ingen-52011c3b045d9f49a4bc25c9f545bb35e5c2a0a9.tar.bz2
ingen-52011c3b045d9f49a4bc25c9f545bb35e5c2a0a9.zip
More work towards checking contexts via parameter rather than thread magic.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4376 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events')
-rw-r--r--src/server/events/Connect.cpp3
-rw-r--r--src/server/events/Disconnect.cpp9
-rw-r--r--src/server/events/SetPortValue.cpp8
3 files changed, 13 insertions, 7 deletions
diff --git a/src/server/events/Connect.cpp b/src/server/events/Connect.cpp
index e0b42424..e2d6cae7 100644
--- a/src/server/events/Connect.cpp
+++ b/src/server/events/Connect.cpp
@@ -143,7 +143,8 @@ Connect::pre_process()
}
_buffers = new Raul::Array<BufferRef>(_dst_input_port->poly());
- _dst_input_port->get_buffers(*_engine.buffer_factory(),
+ _dst_input_port->get_buffers(_engine.message_context(),
+ *_engine.buffer_factory(),
_buffers, _dst_input_port->poly());
if (_patch->enabled())
diff --git a/src/server/events/Disconnect.cpp b/src/server/events/Disconnect.cpp
index d6fd999e..035a6f87 100644
--- a/src/server/events/Disconnect.cpp
+++ b/src/server/events/Disconnect.cpp
@@ -93,8 +93,10 @@ Disconnect::Impl::Impl(Engine& e,
if (_dst_input_port->num_edges() == 0) {
_buffers = new Raul::Array<BufferRef>(_dst_input_port->poly());
- _dst_input_port->get_buffers(*_engine.buffer_factory(),
- _buffers, _dst_input_port->poly());
+ _dst_input_port->get_buffers(_engine.message_context(),
+ *_engine.buffer_factory(),
+ _buffers,
+ _dst_input_port->poly());
const bool is_control = _dst_input_port->is_a(PortType::CONTROL) ||
_dst_input_port->is_a(PortType::CV);
@@ -188,7 +190,8 @@ Disconnect::Impl::execute(ProcessContext& context, bool set_dst_buffers)
if (_buffers) {
_engine.maid()->push(_dst_input_port->set_buffers(context, _buffers));
} else {
- _dst_input_port->setup_buffers(*_engine.buffer_factory(),
+ _dst_input_port->setup_buffers(context,
+ *_engine.buffer_factory(),
_dst_input_port->poly());
}
_dst_input_port->connect_buffers();
diff --git a/src/server/events/SetPortValue.cpp b/src/server/events/SetPortValue.cpp
index db3a72e4..1fb02cc4 100644
--- a/src/server/events/SetPortValue.cpp
+++ b/src/server/events/SetPortValue.cpp
@@ -84,9 +84,11 @@ SetPortValue::pre_process()
// Port is a message context port, set its value and
// call the plugin's message run function once
if (_port && _port->parent_node()->context() == Context::MESSAGE) {
- apply(*_engine.message_context());
- _engine.message_context()->run(_port->parent_node(),
- _engine.driver()->frame_time() + _engine.driver()->block_length());
+ apply(_engine.message_context());
+ _engine.message_context().run(
+ _engine.message_context(),
+ _port->parent_node(),
+ _engine.driver()->frame_time() + _engine.driver()->block_length());
}
if (_port) {