/* Do a full update of the markers in this group */
update_marker_labels (group);
-
+
if (location->is_auto_punch()) {
update_punch_range_view ();
}
LocationMarkers* m = i->second;
location_markers.erase (i);
delete m;
+
+ /* Markers that visually overlap with this (removed) marker
+ * need to be re-displayed.
+ * But finding such cases is similarly expensive as simply
+ * re-displaying all.. so:
+ */
+ refresh_location_display ();
break;
}
}
if (!loop_or_punch_or_session || !session) {
items.push_back (SeparatorElem());
}
-
+
items.push_back (MenuElem (_("Separate Regions in Range"), sigc::mem_fun(*this, &Editor::marker_menu_separate_regions_using_location)));
items.push_back (MenuElem (_("Select All in Range"), sigc::mem_fun(*this, &Editor::marker_menu_select_all_selectables_using_range)));
if (!Profile->get_sae()) {
// nothing for now
} else {
-
+
if (!selection->time.empty()) {
l->set (selection->time.start(), selection->time.end_frame());
} else if (!selection->regions.empty()) {
if (a >= extra) {
a -= extra;
}
-
+
framepos_t b = l->end ();
if (b < (max_framepos - extra)) {
b += extra;
transport_loop_range_rect->set_x1 (x2);
transport_loop_range_rect->show();
-
+
} else {
transport_loop_range_rect->hide();
}
double pixel_start;
double pixel_end;
-
+
if (_session->config.get_punch_in()) {
pixel_start = sample_to_pixel (tpl->start());
} else {
} else {
pixel_end = sample_to_pixel (max_framepos);
}
-
+
transport_punch_range_rect->set_x0 (pixel_start);
- transport_punch_range_rect->set_x1 (pixel_end);
+ transport_punch_range_rect->set_x1 (pixel_end);
transport_punch_range_rect->show();
} else {