summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-06-09 19:08:43 +0000
committerDavid Robillard <d@drobilla.net>2008-06-09 19:08:43 +0000
commit0a1c93d22fd879075e02aebe702224446e8ffbdd (patch)
tree7c3a617e7b7aaf06f404ca2434d32ab51cf98e4a
parentb69a2fa8a5341bd5342cff241a3a434b8dd99ff9 (diff)
downloadingen-0a1c93d22fd879075e02aebe702224446e8ffbdd.tar.gz
ingen-0a1c93d22fd879075e02aebe702224446e8ffbdd.tar.bz2
ingen-0a1c93d22fd879075e02aebe702224446e8ffbdd.zip
Fix port control slider synchronization issues.
git-svn-id: http://svn.drobilla.net/lad/ingen@1255 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--src/libs/gui/ControlGroups.cpp2
-rw-r--r--src/libs/gui/ControlPanel.cpp5
-rw-r--r--src/libs/gui/Port.cpp2
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<PortModel> 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<PortModel> 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