13
0

temporarily remove effective_ripple_mark_start behavior

citations are needed to explain when&how this is useful

the definition of Ripple is "accommodate cut/insert/moves by moving all
 regions to the 'right' (later) of the operation by the same amount".

moving markers to the 'left' of the grabbed_region explicitly breaks the
 definition of ripple. it makes documentation hard.

furthermore, in a more complicated session with multiple tracks, this behavior
 ignores the regions on other tracks and the markers that still might be
 associated with them  (consider the case where you move the first region
 on track A but there are many prior regions on track B with markers over
 them)
This commit is contained in:
Ben Loftis 2022-05-14 14:47:54 -05:00
parent f7abe8dacd
commit 4339e3c729

View File

@ -9497,6 +9497,7 @@ Editor::do_ripple (boost::shared_ptr<Playlist> target_playlist, timepos_t const
timepos_t timepos_t
Editor::effective_ripple_mark_start (boost::shared_ptr<Playlist> target_playlist, timepos_t pos) Editor::effective_ripple_mark_start (boost::shared_ptr<Playlist> target_playlist, timepos_t pos)
{ {
#if 0 /* I do not agree with this behavior - at the very least it ignores regions on *other* tracks and the markers that might be associated with them -Ben */
/* in the target playlist, find the region before the target /* in the target playlist, find the region before the target
* (implicitly given by @param at. Allow all markers that occur between * (implicitly given by @param at. Allow all markers that occur between
* the end of the region and @param at to move too. This is * the end of the region and @param at to move too. This is
@ -9516,6 +9517,7 @@ Editor::effective_ripple_mark_start (boost::shared_ptr<Playlist> target_playlist
if (last_region_end_before_at < pos) { if (last_region_end_before_at < pos) {
pos = last_region_end_before_at.increment(); pos = last_region_end_before_at.increment();
} }
#endif
return pos; return pos;
} }