X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_time_axis.cc;h=670a718736e8c1dfcb7139e379d1419a5c85700a;hb=ce6c41c060c700489a9ac9fc5080bf2920c17ae2;hp=3831e253b4029d3104c98bca900baef7e9b53bba;hpb=d3a573bf3eb3541801fb48bb936af663332e142e;p=ardour.git diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index 3831e253b4..670a718736 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -180,13 +180,13 @@ AutomationTimeAxisView::auto_clicked () automation_menu->set_name ("ArdourContextMenu"); MenuList& items (automation_menu->items()); - items.push_back (MenuElem (_("off"), + items.push_back (MenuElem (_("Manual"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Off))); - items.push_back (MenuElem (_("play"), + items.push_back (MenuElem (_("Play"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Play))); - items.push_back (MenuElem (_("write"), + items.push_back (MenuElem (_("Write"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Write))); - items.push_back (MenuElem (_("touch"), + items.push_back (MenuElem (_("Touch"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Touch))); } @@ -209,7 +209,7 @@ AutomationTimeAxisView::automation_state_changed () switch (state & (Off|Play|Touch|Write)) { case Off: - auto_button.set_label (_("off")); + auto_button.set_label (_("Manual")); if (auto_off_item) { ignore_state_request = true; auto_off_item->set_active (true); @@ -220,7 +220,7 @@ AutomationTimeAxisView::automation_state_changed () } break; case Play: - auto_button.set_label (_("play")); + auto_button.set_label (_("Play")); if (auto_play_item) { ignore_state_request = true; auto_play_item->set_active (true); @@ -231,7 +231,7 @@ AutomationTimeAxisView::automation_state_changed () } break; case Write: - auto_button.set_label (_("write")); + auto_button.set_label (_("Write")); if (auto_write_item) { ignore_state_request = true; auto_write_item->set_active (true); @@ -242,7 +242,7 @@ AutomationTimeAxisView::automation_state_changed () } break; case Touch: - auto_button.set_label (_("touch")); + auto_button.set_label (_("Touch")); if (auto_touch_item) { ignore_state_request = true; auto_touch_item->set_active (true); @@ -275,8 +275,9 @@ AutomationTimeAxisView::clear_clicked () } void -AutomationTimeAxisView::set_height (TrackHeight h) +AutomationTimeAxisView::set_height (TrackHeight ht) { + uint32_t h = height_to_pixels (ht); bool changed = (height != (uint32_t) h); TimeAxisView* state_parent = get_parent_with_state (); @@ -284,7 +285,7 @@ AutomationTimeAxisView::set_height (TrackHeight h) controls_table.show_all (); - TimeAxisView::set_height (h); + TimeAxisView::set_height (ht); base_rect->property_y2() = h; for (vector::iterator i = lines.begin(); i != lines.end(); ++i) { @@ -456,19 +457,19 @@ AutomationTimeAxisView::build_display_menu () auto_state_menu->set_name ("ArdourContextMenu"); MenuList& as_items = auto_state_menu->items(); - as_items.push_back (CheckMenuElem (_("off"), + as_items.push_back (CheckMenuElem (_("Manual"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Off))); auto_off_item = dynamic_cast(&as_items.back()); - as_items.push_back (CheckMenuElem (_("play"), + as_items.push_back (CheckMenuElem (_("Play"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Play))); auto_play_item = dynamic_cast(&as_items.back()); - as_items.push_back (CheckMenuElem (_("write"), + as_items.push_back (CheckMenuElem (_("Write"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Write))); auto_write_item = dynamic_cast(&as_items.back()); - as_items.push_back (CheckMenuElem (_("touch"), + as_items.push_back (CheckMenuElem (_("Touch"), bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Touch))); auto_touch_item = dynamic_cast(&as_items.back()); @@ -535,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) {