From 0a1c93d22fd879075e02aebe702224446e8ffbdd Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 9 Jun 2008 19:08:43 +0000 Subject: Fix port control slider synchronization issues. git-svn-id: http://svn.drobilla.net/lad/ingen@1255 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/gui/ControlGroups.cpp | 2 ++ src/libs/gui/ControlPanel.cpp | 5 ----- src/libs/gui/Port.cpp | 2 ++ 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/libs/gui/ControlGroups.cpp b/src/libs/gui/ControlGroups.cpp index 0803b5ba..dc585975 100644 --- a/src/libs/gui/ControlGroups.cpp +++ b/src/libs/gui/ControlGroups.cpp @@ -167,6 +167,8 @@ SliderControlGroup::menu_properties() void SliderControlGroup::set_value(const Atom& atom) { + cout << "CONTROL VALUE CHANGED" << endl; + float val = atom.get_float(); if (_port_model->is_integer()) diff --git a/src/libs/gui/ControlPanel.cpp b/src/libs/gui/ControlPanel.cpp index 422a4614..a59a15f6 100644 --- a/src/libs/gui/ControlPanel.cpp +++ b/src/libs/gui/ControlPanel.cpp @@ -231,10 +231,6 @@ void ControlPanel::value_changed(SharedPtr port, float val) { if (_callback_enabled) { - App::instance().engine()->disable_responses(); - - /* Send the message, but set the client-side model's value to the new - * setting right away (so the value doesn't need to be echoed back) */ if (_all_voices_radio->get_active()) { App::instance().engine()->set_port_value_immediate(port->path(), "ingen:control", @@ -247,7 +243,6 @@ ControlPanel::value_changed(SharedPtr port, float val) port->value(val); } - App::instance().engine()->set_next_response_id(rand()); // FIXME: inefficient, probably not good } } diff --git a/src/libs/gui/Port.cpp b/src/libs/gui/Port.cpp index df0b779c..8768da8d 100644 --- a/src/libs/gui/Port.cpp +++ b/src/libs/gui/Port.cpp @@ -94,6 +94,8 @@ Port::renamed() void Port::value_changed(const Atom& value) { + cout << "PORT VALUE CHANGED" << endl; + if (value.type() == Atom::FLOAT) FlowCanvas::Port::set_control(value.get_float()); else -- cgit v1.2.1