From 582661dbd0c25cab3e62446e4a2b1f55d15d4a12 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 30 Mar 2022 23:08:38 -0600 Subject: [PATCH] as an experiment, prevent redisplay of (MIDI) regions during trimming This doesn't actually work right now because of a conflicting design in MidiRegionView, but could be promising. Or it might be reverted --- gtk2_ardour/editor_drag.cc | 3 +++ gtk2_ardour/editor_drag.h | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index b57f684e42..1f20a26198 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -3110,6 +3110,7 @@ TrimDrag::start_grab (GdkEvent* event, Gdk::Cursor*) for (list::const_iterator i = _views.begin(); i != _views.end(); ++i) { i->view->region()->suspend_property_changes (); + suspenders.push_back (RegionView::DisplaySuspender (*i->view)); } } @@ -3352,6 +3353,8 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred) for (list::const_iterator i = _views.begin(); i != _views.end(); ++i) { i->view->region()->resume_property_changes (); } + + suspenders.clear (); } void diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h index 769a6103de..9b7d6fcfd3 100644 --- a/gtk2_ardour/editor_drag.h +++ b/gtk2_ardour/editor_drag.h @@ -27,6 +27,7 @@ #define __gtk2_ardour_editor_drag_h_ #include +#include #include #include @@ -41,6 +42,7 @@ #include "mouse_cursors.h" #include "editing.h" #include "track_selection.h" +#include "region_view.h" namespace ARDOUR { class Location; @@ -65,7 +67,6 @@ class TimeAxisView; class MidiTimeAxisView; class Drag; class NoteBase; -class RegionView; class TimeAxisView; class RouteTimeAxisView; class RegionSelection; @@ -819,6 +820,8 @@ private: bool _preserve_fade_anchor; bool _jump_position_when_done; + + std::vector suspenders; }; /** Meter marker drag */