summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor.h2
-rw-r--r--gtk2_ardour/editor_markers.cc7
2 files changed, 5 insertions, 4 deletions
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index a55fef1913..e95be847cd 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -1521,7 +1521,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void marker_menu_play_range ();
void marker_menu_set_playhead ();
void marker_menu_set_from_playhead ();
- void marker_menu_set_from_selection ();
+ void marker_menu_set_from_selection (bool force_regions);
void marker_menu_range_to_next ();
void marker_menu_zoom_to_range ();
void new_transport_marker_menu_set_loop ();
diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc
index 1eae5d7b38..a6e7fadb0b 100644
--- a/gtk2_ardour/editor_markers.cc
+++ b/gtk2_ardour/editor_markers.cc
@@ -901,7 +901,8 @@ Editor::build_range_marker_menu (bool loop_or_punch, bool session)
}
items.push_back (MenuElem (_("Set Range Mark from Playhead"), sigc::mem_fun(*this, &Editor::marker_menu_set_from_playhead)));
if (!Profile->get_sae()) {
- items.push_back (MenuElem (_("Set Range from Range Selection"), sigc::mem_fun(*this, &Editor::marker_menu_set_from_selection)));
+ items.push_back (MenuElem (_("Set Range from Range/Region Selection"), sigc::bind (sigc::mem_fun(*this, &Editor::marker_menu_set_from_selection), false)));
+ items.push_back (MenuElem (_("Set Range from Region Selection"), sigc::bind (sigc::mem_fun(*this, &Editor::marker_menu_set_from_selection), true)));
}
items.push_back (MenuElem (_("Zoom to Range"), sigc::mem_fun (*this, &Editor::marker_menu_zoom_to_range)));
@@ -1154,7 +1155,7 @@ Editor::marker_menu_set_from_playhead ()
}
void
-Editor::marker_menu_set_from_selection ()
+Editor::marker_menu_set_from_selection (bool force_regions)
{
Marker* marker;
@@ -1175,7 +1176,7 @@ Editor::marker_menu_set_from_selection ()
/* if range selection use first to last */
- if (!selection->time.empty()) {
+ if (!selection->time.empty() && !force_regions) {
l->set_start (selection->time.start());
l->set_end (selection->time.end_frame());
}