diff options
author | David Robillard <d@drobilla.net> | 2009-12-31 18:27:20 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-12-31 18:27:20 +0000 |
commit | 3dded8a655b6cad1925f160cb1012b8334e00c3e (patch) | |
tree | 5d743f58c6494ea7e5ed4010f9016c7d3c3f7665 /src/engine | |
parent | c11b1bd6fe15f281c5e6b1ab2109590c17e739e9 (diff) | |
download | ingen-3dded8a655b6cad1925f160cb1012b8334e00c3e.tar.gz ingen-3dded8a655b6cad1925f160cb1012b8334e00c3e.tar.bz2 ingen-3dded8a655b6cad1925f160cb1012b8334e00c3e.zip |
Various fixes related to port values and metadata (fix ticket #459 among other things).
Fix jitterey behaviour of port controls (on module) while dragging.
Update value in status bar while dragging port slider (on module).
Update plugin data (e.g. port control range) if the plugin is sent to the
client after nodes that are instances of it (i.e. more robust plugin state
tracking via merging like with objects).
Correctly save and restore port values (ticket #459).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2327 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/events/LoadPlugins.cpp | 3 | ||||
-rw-r--r-- | src/engine/events/LoadPlugins.hpp | 6 | ||||
-rw-r--r-- | src/engine/events/SetPortValue.cpp | 5 |
3 files changed, 9 insertions, 5 deletions
diff --git a/src/engine/events/LoadPlugins.cpp b/src/engine/events/LoadPlugins.cpp index 4b16048f..e8ae8ce2 100644 --- a/src/engine/events/LoadPlugins.cpp +++ b/src/engine/events/LoadPlugins.cpp @@ -27,9 +27,8 @@ namespace Events { LoadPlugins::LoadPlugins(Engine& engine, SharedPtr<Responder> responder, SampleCount timestamp, QueuedEventSource* source) -: QueuedEvent(engine, responder, timestamp, true, source) + : QueuedEvent(engine, responder, timestamp, true, source) { - /* FIXME: Not sure why this has to be blocking, but it fixes some nasty bugs.. */ } void diff --git a/src/engine/events/LoadPlugins.hpp b/src/engine/events/LoadPlugins.hpp index 5f38c9c9..8dce2a27 100644 --- a/src/engine/events/LoadPlugins.hpp +++ b/src/engine/events/LoadPlugins.hpp @@ -32,9 +32,9 @@ class LoadPlugins : public QueuedEvent { public: LoadPlugins(Engine& engine, - SharedPtr<Responder> responder, - SampleCount timestamp, - QueuedEventSource* source); + SharedPtr<Responder> responder, + SampleCount timestamp, + QueuedEventSource* source); void pre_process(); void post_process(); diff --git a/src/engine/events/SetPortValue.cpp b/src/engine/events/SetPortValue.cpp index 085d328c..7fe6377d 100644 --- a/src/engine/events/SetPortValue.cpp +++ b/src/engine/events/SetPortValue.cpp @@ -123,6 +123,11 @@ SetPortValue::pre_process() _engine.audio_driver()->frame_time() + _engine.audio_driver()->buffer_size()); } + if (_port) { + _port->set_value(_value); + _port->set_property("ingen:value", _value); + } + QueuedEvent::pre_process(); } |