fix incorrect _start after a split.

- when splitting a region where quantized notes start on the
	  split point, the notes would sometimes vanish due to us deriving
	  an exact quarter-note from the supplied frame.
	  this only affects midi regions, as other region types
	  have contents which are completely frame-based.
This commit is contained in:
nick_m 2017-01-07 05:18:45 +11:00
parent 94a57e64f6
commit bacb93493d

View File

@ -110,6 +110,8 @@ MidiRegion::MidiRegion (boost::shared_ptr<const MidiRegion> other, frameoffset_t
if (offset != 0) {
_start_beats = (_session.tempo_map().exact_qn_at_frame (other->_position + offset, sub_num) - other->_quarter_note) + other->_start_beats;
update_length_beats (sub_num);
/* we've potentially shifted _start_beats, now reset _start frames to match */
_start = _session.tempo_map().frame_at_quarter_note (other->_quarter_note - other->_start_beats);
}
register_properties ();