diff options
author | Carl Hetherington <carl@carlh.net> | 2010-05-22 01:33:13 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-05-22 01:33:13 +0000 |
commit | f33b1d1900fb269d466eda1ed15faf8d0c578239 (patch) | |
tree | 04c76e08a82fd23a25a4be86761b677b7a69afe5 /gtk2_ardour/automation_time_axis.cc | |
parent | 8d048aa4722a9d28e02cef68a5c26c1962c63c94 (diff) |
Handle automation modes better with region-based (MIDI) automation. Should fix #3135.
git-svn-id: svn://localhost/ardour2/branches/3.0@7138 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/automation_time_axis.cc')
-rw-r--r-- | gtk2_ardour/automation_time_axis.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index d2b43d33f9..35af325357 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -272,6 +272,11 @@ AutomationTimeAxisView::set_automation_state (AutoState state) if (_view) { _view->set_automation_state (state); + + /* AutomationStreamViews don't signal when their automation state changes, so handle + our updates `manually'. + */ + automation_state_changed (); } } @@ -282,10 +287,12 @@ AutomationTimeAxisView::automation_state_changed () /* update button label */ - if (!_line) { - state = Off; - } else { + if (_line) { state = _control->alist()->automation_state (); + } else if (_view) { + state = _view->automation_state (); + } else { + state = Off; } switch (state & (Off|Play|Touch|Write)) { |