diff options
author | nick_m <mainsbridge@gmail.com> | 2017-03-06 15:51:53 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2017-03-06 15:51:53 +1100 |
commit | 16089bff96a13b87724bf671dcb9a05de9593343 (patch) | |
tree | 897a60c85d2375f97a067196ac1865b3240037e3 /gtk2_ardour | |
parent | e7c85706e5553181636e7052f2fe10469b57fd85 (diff) |
more linked midi region trim drag fixes.
- freeze the correct playlists on fiorst move.
- only update the start offset of linked regions once the drag
has finished.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 5 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index dfab9f8990..25d95e202d 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -3002,11 +3002,14 @@ TrimDrag::motion (GdkEvent* event, bool first_move) vector<boost::shared_ptr<Playlist> > all_playlists; _editor->session()->playlists->get (all_playlists); for (vector<boost::shared_ptr<Playlist> >::iterator x = all_playlists.begin(); x != all_playlists.end(); ++x) { + if ((*x)->uses_source (rv->region()->source(0))) { insert_result = _editor->motion_frozen_playlists.insert (*x); if (insert_result.second) { - pl->freeze(); + (*x)->clear_owned_changes (); + (*x)->freeze(); } + } } } diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index d0abc7d4e8..de9bbb2364 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -4224,7 +4224,10 @@ MidiRegionView::trim_front_starting () void MidiRegionView::trim_front_ending () { - + if (_region->start() < 0) { + /* Trim drag made start time -ve; fix this */ + midi_region()->fix_negative_start (); + } } void |