diff options
author | David Robillard <d@drobilla.net> | 2012-05-12 07:04:11 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-05-12 07:04:11 +0000 |
commit | 52011c3b045d9f49a4bc25c9f545bb35e5c2a0a9 (patch) | |
tree | 29012d7da9bf9e0525574b3d8713eaf828626ac5 /src/server/events | |
parent | 2e8a9b483a8d2ca7ba2a4feb4a845a32ab1eebeb (diff) | |
download | ingen-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.cpp | 3 | ||||
-rw-r--r-- | src/server/events/Disconnect.cpp | 9 | ||||
-rw-r--r-- | src/server/events/SetPortValue.cpp | 8 |
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) { |