diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 60bae9b753..364d7e4938 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -789,6 +789,7 @@ private: void ensure_cd_marker_updated (LocationMarkers* lam, ARDOUR::Location* location); void update_cue_marker_display (); void ensure_cue_marker_updated (LocationMarkers* lam, ARDOUR::Location* location); + void update_all_marker_lanes (); TimeAxisView* clicked_axisview; RouteTimeAxisView* clicked_routeview; diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc index 9bb7360880..5ff465da8e 100644 --- a/gtk2_ardour/editor_markers.cc +++ b/gtk2_ardour/editor_markers.cc @@ -336,6 +336,17 @@ struct MarkerComparator { } }; +void +Editor::update_all_marker_lanes () +{ + for (auto & lam : location_markers) { + lam.second->start->reposition (); + if (lam.second->end) { + lam.second->end->reposition (); + } + } +} + /** Update all marker labels in all groups */ void Editor::update_marker_labels () diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index 4070e3d76c..8386e0c558 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -343,6 +343,7 @@ Editor::tempo_map_changed () reset_metric_marks (); update_tempo_based_rulers (); + update_all_marker_lanes (); maybe_draw_grid_lines (); } diff --git a/gtk2_ardour/marker.h b/gtk2_ardour/marker.h index 703c82cd80..ac9eef53c1 100644 --- a/gtk2_ardour/marker.h +++ b/gtk2_ardour/marker.h @@ -91,6 +91,7 @@ public: void set_show_line (bool); void set_line_height (double); + virtual void reposition (); virtual void set_position (Temporal::timepos_t const &); void set_name (const std::string&, const std::string & tooltip = std::string()); void set_color (std::string const& color_name); @@ -163,7 +164,6 @@ protected: int _cue_index; - virtual void reposition (); void setup_line_x (); void setup_name_display ();