diff options
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 5 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 5 | ||||
-rw-r--r-- | libs/ardour/midi_region.cc | 4 |
3 files changed, 8 insertions, 6 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 diff --git a/libs/ardour/midi_region.cc b/libs/ardour/midi_region.cc index a419e83ae3..eff0fe51bc 100644 --- a/libs/ardour/midi_region.cc +++ b/libs/ardour/midi_region.cc @@ -654,10 +654,6 @@ MidiRegion::set_start_internal (framecnt_t s, const int32_t sub_num) { Region::set_start_internal (s, sub_num); - if (_start_beats < 0.0) { - fix_negative_start(); - } - set_start_beats_from_start_frames (); } |