summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor_drag.cc5
-rw-r--r--gtk2_ardour/midi_region_view.cc5
-rw-r--r--libs/ardour/midi_region.cc4
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 ();
}