Fix ripple moving automation points

When ripple moving a region all the subsequent regions will be moved, next
region in the playlist after the dragged one first, last region of the playlist
last.

Thus, when an automation point is ripple moved along a region past the starting
point of the next region, it will be moved again along with the next region as
the move of the next region occurs after moving the automation point.

This fix reverses the sequence of the ripple moves, last region in the playlist
will be moved first, the next after the dragged one, last. So no temporary
overlap of regions will occur.
This commit is contained in:
Johannes Mueller 2020-07-07 15:04:15 +02:00
parent d99dd1e3ec
commit 9b2228d6fd

View File

@ -2194,7 +2194,7 @@ RegionRippleDrag::add_all_after_to_views(TimeAxisView *tav, samplepos_t where, c
}
}
for (RegionSelection::iterator i = to_ripple.begin(); i != to_ripple.end(); ++i) {
for (RegionSelection::reverse_iterator i = to_ripple.rbegin(); i != to_ripple.rend(); ++i) {
if (!exclude.contains (*i)) {
// the selection has already been added to _views