13
0

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.
This commit is contained in:
nick_m 2017-03-06 15:51:53 +11:00
parent e7c85706e5
commit 16089bff96
3 changed files with 8 additions and 6 deletions

View File

@ -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();
}
}
}
}

View File

@ -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

View File

@ -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 ();
}