From 3dded8a655b6cad1925f160cb1012b8334e00c3e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 31 Dec 2009 18:27:20 +0000 Subject: 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 --- src/engine/events/LoadPlugins.cpp | 3 +-- src/engine/events/LoadPlugins.hpp | 6 +++--- src/engine/events/SetPortValue.cpp | 5 +++++ 3 files changed, 9 insertions(+), 5 deletions(-) (limited to 'src/engine') 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, 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, - SampleCount timestamp, - QueuedEventSource* source); + SharedPtr 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(); } -- cgit v1.2.1