X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_time_axis.cc;h=670a718736e8c1dfcb7139e379d1419a5c85700a;hb=ce6c41c060c700489a9ac9fc5080bf2920c17ae2;hp=dfa0076eaaa1778936548c4ef71cd6c4b0b3395e;hpb=b3b383faa5ca4e2a101314612d69b05184edc422;p=ardour.git diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index dfa0076eaa..670a718736 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -180,7 +180,7 @@ AutomationTimeAxisView::auto_clicked () automation_menu->set_name ("ArdourContextMenu"); MenuList& items (automation_menu->items()); - items.push_back (MenuElem (_("Isolate"), + items.push_back (MenuElem (_("Manual"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Off))); items.push_back (MenuElem (_("Play"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Play))); @@ -209,7 +209,7 @@ AutomationTimeAxisView::automation_state_changed () switch (state & (Off|Play|Touch|Write)) { case Off: - auto_button.set_label (_("Isolate")); + auto_button.set_label (_("Manual")); if (auto_off_item) { ignore_state_request = true; auto_off_item->set_active (true); @@ -457,7 +457,7 @@ AutomationTimeAxisView::build_display_menu () auto_state_menu->set_name ("ArdourContextMenu"); MenuList& as_items = auto_state_menu->items(); - as_items.push_back (CheckMenuElem (_("Isolate"), + as_items.push_back (CheckMenuElem (_("Manual"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Off))); auto_off_item = dynamic_cast(&as_items.back()); @@ -536,6 +536,31 @@ AutomationTimeAxisView::cut_copy_clear_one (AutomationLine& line, Selection& sel return ret; } +void +AutomationTimeAxisView::reset_objects (PointSelection& selection) +{ + for (vector::iterator i = lines.begin(); i != lines.end(); ++i) { + reset_objects_one ((**i), selection); + } +} + +void +AutomationTimeAxisView::reset_objects_one (AutomationLine& line, PointSelection& selection) +{ + AutomationList& alist (line.the_list()); + + _session.add_undo (alist.get_memento()); + + for (PointSelection::iterator i = selection.begin(); i != selection.end(); ++i) { + + if (&(*i).track != this) { + continue; + } + + alist.reset_range ((*i).start, (*i).end); + } +} + bool AutomationTimeAxisView::cut_copy_clear_objects (PointSelection& selection, CutCopyOp op) {