summaryrefslogtreecommitdiff
path: root/libs/ardour/automation_control.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2015-06-07 23:07:56 +1000
committernick_m <mainsbridge@gmail.com>2015-06-17 09:54:22 +1000
commit57ce447fd19bd794afe90748d466bbe172c2eab0 (patch)
treef02005535c929d2aa35a5f3030d1b1591df8a75d /libs/ardour/automation_control.cc
parent9d4c93aca7a7d6900c2b4f6c138057a8006321b3 (diff)
Fix some workflow problems wrt automation.
- clearing automation points sets control to "off" rather than touch. - multiple touches on the same pass acts consistently (no more fader jumps on mouse button press - use actual value for initial point rather than some arbitrary default. clarify new semantics of add () (with_default->with_initial). - clean some whitespace - add guard points as needed in stop. - catch grab broken signal (i can't trigger it, but the docs seem to think it is essential).
Diffstat (limited to 'libs/ardour/automation_control.cc')
-rw-r--r--libs/ardour/automation_control.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/ardour/automation_control.cc b/libs/ardour/automation_control.cc
index 21952038cf..da33ad12a5 100644
--- a/libs/ardour/automation_control.cc
+++ b/libs/ardour/automation_control.cc
@@ -116,6 +116,8 @@ AutomationControl::start_touch(double when)
if (!_list) return;
if (!touching()) {
if (alist()->automation_state() == Touch) {
+ /* subtle. aligns the user value with the playback */
+ set_value (get_value ());
alist()->start_touch (when);
if (!_desc.toggled) {
AutomationWatch::instance().add_automation_watch (shared_from_this());