diff options
author | Ben Loftis <ben@harrisonconsoles.com> | 2015-11-17 16:55:11 -0600 |
---|---|---|
committer | Ben Loftis <ben@harrisonconsoles.com> | 2015-11-17 16:55:11 -0600 |
commit | 6f955aa0bd70c6defc259eebb69a0590daf93cb5 (patch) | |
tree | 53f012eb87843af8c3a0286c97a5c5bcd9a848f3 /gtk2_ardour | |
parent | a95f8a8648b2a80d7f2b1208c38a4f9e66e70d85 (diff) |
add Duplicate action to track and mixer context menus
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 9 | ||||
-rw-r--r-- | gtk2_ardour/route_time_axis.cc | 8 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.h | 1 |
4 files changed, 20 insertions, 4 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index f3ae79dc1f..8471699337 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -1586,6 +1586,11 @@ MixerStrip::build_route_ops_menu () items.push_back (MenuElem (_("Remote Control ID..."), sigc::mem_fun (*this, &RouteUI::open_remote_control_id_dialog))); } + if (_route && !_route->is_master()) { + items.push_back (SeparatorElem()); + items.push_back (MenuElem (_("Duplicate..."), sigc::mem_fun (*this, &RouteUI::duplicate_selected_routes))); + } + if (_route) { /* note that this relies on selection being shared across editor and mixer (or global to the backend, in the future), which is the only @@ -1599,8 +1604,8 @@ MixerStrip::build_route_ops_menu () selection.set (rtav); } - items.push_front (SeparatorElem()); - items.push_front (MenuElem (_("Remove"), sigc::mem_fun(PublicEditor::instance(), &PublicEditor::remove_tracks))); + items.push_back (SeparatorElem()); + items.push_back (MenuElem (_("Remove"), sigc::mem_fun(PublicEditor::instance(), &PublicEditor::remove_tracks))); } } } diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index a07e97a276..731b15bfbb 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -864,8 +864,12 @@ RouteTimeAxisView::build_display_menu () items.push_back (SeparatorElem()); items.push_back (MenuElem (_("Hide"), sigc::bind (sigc::mem_fun(_editor, &PublicEditor::hide_track_in_display), this, true))); - items.push_front (SeparatorElem()); - items.push_front (MenuElem (_("Remove"), sigc::mem_fun(_editor, &PublicEditor::remove_tracks))); + if (_route && !_route->is_master()) { + items.push_back (SeparatorElem()); + items.push_back (MenuElem (_("Duplicate..."), boost::bind (&ARDOUR_UI::start_duplicate_routes, ARDOUR_UI::instance()))); + } + items.push_back (SeparatorElem()); + items.push_back (MenuElem (_("Remove"), sigc::mem_fun(_editor, &PublicEditor::remove_tracks))); } void diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 8cb91020c3..8afa706e37 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -1730,6 +1730,12 @@ RouteUI::set_route_active (bool a, bool apply_to_selection) } void +RouteUI::duplicate_selected_routes () +{ + ARDOUR_UI::instance()->start_duplicate_routes(); +} + +void RouteUI::toggle_denormal_protection () { if (denormal_menu_item) { diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index 8ef85af0b9..04ddf683e2 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -194,6 +194,7 @@ class RouteUI : public virtual AxisView virtual void route_active_changed () {} void set_route_active (bool, bool); + void duplicate_selected_routes (); Gtk::Menu* record_menu; void build_record_menu (); |