13
0

ripple: prevent session/punch/loop markers moving during ripple-all

Locations::ripple() skips these markers when the ripple action is committed.

...but the editor moves the marker-items as a visual aid, before actually
  committing the changes to Locations()

...so the editor needs the same logic, to avoid visually inconsistent behavior
This commit is contained in:
Ben Loftis 2022-07-19 12:32:50 -05:00
parent 904491611f
commit 85f640c31a

View File

@ -538,6 +538,9 @@ Editor::get_markers_to_ripple (boost::shared_ptr<Playlist> target_playlist, time
const timepos_t ripple_start = effective_ripple_mark_start (target_playlist, pos); const timepos_t ripple_start = effective_ripple_mark_start (target_playlist, pos);
for (LocationMarkerMap::const_iterator i = location_markers.begin(); i != location_markers.end(); ++i) { for (LocationMarkerMap::const_iterator i = location_markers.begin(); i != location_markers.end(); ++i) {
if ( i->first->is_session_range() || i->first->is_auto_punch() || i->first->is_auto_loop() ) {
continue;
}
if (i->first->start() >= ripple_start) { if (i->first->start() >= ripple_start) {
cerr << "Add markers for " << i->first->name() << endl; cerr << "Add markers for " << i->first->name() << endl;
markers.push_back (i->second->start); markers.push_back (i->second->start);