diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 6dbe783885..26c0b72193 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -2876,10 +2876,13 @@ TrimDrag::motion (GdkEvent* event, bool first_move) } } + bool changed = false; + switch (_operation) { case StartTrim: for (list::iterator i = _views.begin (); i != _views.end (); ++i) { - bool changed = i->view->trim_front (timepos_t (i->initial_position) + dt, non_overlap_trim); + changed = i->view->trim_front (timepos_t (i->initial_position) + dt, non_overlap_trim); + if (changed && _preserve_fade_anchor) { AudioRegionView* arv = dynamic_cast (i->view); @@ -2900,7 +2903,7 @@ TrimDrag::motion (GdkEvent* event, bool first_move) case EndTrim: for (list::iterator i = _views.begin (); i != _views.end (); ++i) { - bool changed = i->view->trim_end (timepos_t (i->initial_end) + dt, non_overlap_trim); + changed = i->view->trim_end (timepos_t (i->initial_end) + dt, non_overlap_trim); if (changed && _preserve_fade_anchor) { AudioRegionView* arv = dynamic_cast (i->view); @@ -2918,6 +2921,13 @@ TrimDrag::motion (GdkEvent* event, bool first_move) break; } + if (changed) { + for (list::const_iterator i = _views.begin (); i != _views.end (); ++i) { + StreamView* sv = i->view->get_time_axis_view ().view (); + sv->update_coverage_frame (); + } + } + switch (_operation) { case StartTrim: show_verbose_cursor_time (rv->region ()->position ()); diff --git a/gtk2_ardour/region_view.cc b/gtk2_ardour/region_view.cc index 58d7abe2db..76f06391d7 100644 --- a/gtk2_ardour/region_view.cc +++ b/gtk2_ardour/region_view.cc @@ -963,12 +963,6 @@ RegionView::set_height (double h) } } -void -RegionView::drag_start () -{ - clear_coverage_frame (); -} - void RegionView::clear_coverage_frame () { diff --git a/gtk2_ardour/region_view.h b/gtk2_ardour/region_view.h index 33f8519da4..057c2810fa 100644 --- a/gtk2_ardour/region_view.h +++ b/gtk2_ardour/region_view.h @@ -86,8 +86,6 @@ public: void raise_to_top (); void lower_to_bottom (); - void drag_start (); - bool set_position(Temporal::timepos_t const & pos, void* src, double* delta = 0); virtual void show_region_editor (); diff --git a/gtk2_ardour/streamview.h b/gtk2_ardour/streamview.h index 5584dd00c6..024551f96c 100644 --- a/gtk2_ardour/streamview.h +++ b/gtk2_ardour/streamview.h @@ -126,6 +126,7 @@ public: void check_record_layers (std::shared_ptr, ARDOUR::samplepos_t); virtual void playlist_layered (std::weak_ptr); + void update_coverage_frame (); sigc::signal RegionViewAdded; sigc::signal RegionViewRemoved; @@ -193,9 +194,6 @@ protected: */ samplepos_t _new_rec_layer_time; void setup_new_rec_layer_time (std::shared_ptr); - -private: - void update_coverage_frame (); }; #endif /* __ardour_streamview_h__ */