summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-04-17 17:10:38 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-04-17 17:10:38 +0000
commit035a8d02bc84519b669872f792a621d7ec222f01 (patch)
tree943594dd14af52ec70f149bac58f41f10097805f
parent25be940d3f041e76348f0208d9ad7f30f92e1af3 (diff)
don't add "anchor" control events on when a touch gesture ends unless the automation list is in Touch mode
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6922 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/generic_pluginui.cc4
-rw-r--r--libs/ardour/io.cc4
2 files changed, 5 insertions, 3 deletions
diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc
index dab3009fa3..1a9339e40c 100644
--- a/gtk2_ardour/generic_pluginui.cc
+++ b/gtk2_ardour/generic_pluginui.cc
@@ -603,7 +603,9 @@ GenericPluginUI::stop_touch (GenericPluginUI::ControlUI* cui)
when = insert->session().transport_frame();
}
- insert->automation_list (cui->port_index).stop_touch (mark, when);
+ if (insert->automation_list (cui->port_index).automation_state() == Touch) {
+ insert->automation_list (cui->port_index).stop_touch (mark, when);
+ }
}
void
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc
index 2c4a31f70b..2f060534de 100644
--- a/libs/ardour/io.cc
+++ b/libs/ardour/io.cc
@@ -2671,7 +2671,7 @@ IO::end_gain_touch ()
bool mark = false;
double when = 0;
- if (_session.transport_rolling()) {
+ if (_session.transport_rolling() && _gain_automation_curve.automation_state() == Touch) {
mark = true;
when = _session.transport_frame();
}
@@ -2694,7 +2694,7 @@ IO::end_pan_touch (uint32_t which)
bool mark = false;
double when = 0;
- if (_session.transport_rolling()) {
+ if (_session.transport_rolling() && (*_panner)[which]->automation().automation_state() == Touch) {
mark = true;
when = _session.transport_frame();
}