diff options
author | Carl Hetherington <carl@carlh.net> | 2010-06-28 18:43:40 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-06-28 18:43:40 +0000 |
commit | bf7023bc7f91c5cb6b9b6235d5368f0cf5d25c82 (patch) | |
tree | dc99fda9b2838ed5dbed76664399797f8fc818e9 /gtk2_ardour/editor_drag.cc | |
parent | 89b686f9375decea756e4111a7c1f44192e00f0b (diff) |
Disable midi model updates during trim drags. Speeds the drags up at the cost of not updating notes in real-time. Fixes #3162.
git-svn-id: svn://localhost/ardour2/branches/3.0@7315 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index d49f60c9ca..6d6b368b3a 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -1699,10 +1699,9 @@ TrimDrag::start_grab (GdkEvent* event, Gdk::Cursor *) speed = tv->track()->speed(); } - nframes64_t region_start = (nframes64_t) (_primary->region()->position() / speed); - nframes64_t region_end = (nframes64_t) (_primary->region()->last_frame() / speed); - nframes64_t region_length = (nframes64_t) (_primary->region()->length() / speed); - + nframes64_t const region_start = (nframes64_t) (_primary->region()->position() / speed); + nframes64_t const region_end = (nframes64_t) (_primary->region()->last_frame() / speed); + nframes64_t const region_length = (nframes64_t) (_primary->region()->length() / speed); nframes64_t const pf = adjusted_current_frame (event); @@ -1778,6 +1777,7 @@ TrimDrag::motion (GdkEvent* event, bool first_move) for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) { RegionView* rv = i->view; rv->fake_set_opaque(false); + rv->enable_display (false); rv->region()->clear_history (); rv->region()->suspend_property_changes (); @@ -1869,6 +1869,7 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred) for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) { _editor->thaw_region_after_trim (*i->view); + i->view->enable_display (true); i->view->fake_set_opaque (true); if (_have_transaction) { _editor->session()->add_command (new StatefulDiffCommand (i->view->region())); |