diff options
author | David Robillard <d@drobilla.net> | 2014-12-01 19:37:05 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-01 23:35:24 -0500 |
commit | 86de0386c9aea09e1efef604c695afec7cd7845c (patch) | |
tree | bea184ebe9d88a47112367cd88dcd6532012ba76 /libs/ardour/automation_control.cc | |
parent | 2b69fa6edffd9f37f7d9418e4acac467300d988a (diff) |
Fix automation write/touch.
Diffstat (limited to 'libs/ardour/automation_control.cc')
-rw-r--r-- | libs/ardour/automation_control.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libs/ardour/automation_control.cc b/libs/ardour/automation_control.cc index 773fd3f40c..72548f0b1f 100644 --- a/libs/ardour/automation_control.cc +++ b/libs/ardour/automation_control.cc @@ -80,6 +80,9 @@ AutomationControl::set_automation_state (AutoState as) if (_list && as != alist()->automation_state()) { alist()->set_automation_state (as); + if (_desc.toggled) { + return; // No watch for boolean automation + } if (as == Write) { AutomationWatch::instance().add_automation_watch (shared_from_this()); @@ -113,7 +116,9 @@ AutomationControl::start_touch(double when) if (!touching()) { if (alist()->automation_state() == Touch) { alist()->start_touch (when); - AutomationWatch::instance().add_automation_watch (shared_from_this()); + if (!_desc.toggled) { + AutomationWatch::instance().add_automation_watch (shared_from_this()); + } } set_touching (true); } @@ -127,7 +132,9 @@ AutomationControl::stop_touch(bool mark, double when) set_touching (false); if (alist()->automation_state() == Touch) { alist()->stop_touch (mark, when); - AutomationWatch::instance().remove_automation_watch (shared_from_this()); + if (!_desc.toggled) { + AutomationWatch::instance().remove_automation_watch (shared_from_this()); + } } } } |