diff --git a/gtk2_ardour/automation_region_view.cc b/gtk2_ardour/automation_region_view.cc index ce9d7d6946..a8a2dac2b4 100644 --- a/gtk2_ardour/automation_region_view.cc +++ b/gtk2_ardour/automation_region_view.cc @@ -214,7 +214,7 @@ AutomationRegionView::add_automation_event (GdkEvent *, timepos_t const & w, dou if (_line->the_list()->editor_add (when, y, with_guard_points)) { if (ac->automation_state () == ARDOUR::Off) { - ac->set_automation_state (ARDOUR::Play); + view->set_automation_state (ARDOUR::Play); } if (UIConfiguration::instance().get_automation_edit_cancels_auto_hide () && ac == view->session()->recently_touched_controllable ()) { RouteTimeAxisView::signal_ctrl_touched (false); diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index 8ccd115452..363e291a4c 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -791,8 +791,9 @@ AutomationTimeAxisView::add_automation_event (GdkEvent* event, timepos_t const & if (list->editor_add (when, y, with_guard_points)) { if (_control->automation_state () == ARDOUR::Off) { - _control->set_automation_state (ARDOUR::Play); + set_automation_state (ARDOUR::Play); } + if (UIConfiguration::instance().get_automation_edit_cancels_auto_hide () && _control == _session->recently_touched_controllable ()) { RouteTimeAxisView::signal_ctrl_touched (false); } diff --git a/gtk2_ardour/automation_time_axis.h b/gtk2_ardour/automation_time_axis.h index c883c09125..82846abd66 100644 --- a/gtk2_ardour/automation_time_axis.h +++ b/gtk2_ardour/automation_time_axis.h @@ -134,6 +134,8 @@ public: return _show_regions; } + void set_automation_state (ARDOUR::AutoState); + protected: /* Note that for MIDI controller "automation" (in regions), all of these * may be set. In this case, _automatable is likely _route so the @@ -190,7 +192,6 @@ protected: bool paste_one (Temporal::timepos_t const &, unsigned, float times, const Selection&, ItemCounts& counts, bool greedy=false); void route_going_away (); - void set_automation_state (ARDOUR::AutoState); bool ignore_state_request; bool ignore_mode_request;