Make duplicate start at position, not position + 1. (libs part)

This commit is contained in:
André Nusser 2015-10-28 22:06:46 +01:00 committed by Paul Davis
parent c034ad26f8
commit f048eb7d02
2 changed files with 5 additions and 6 deletions

View File

@ -1256,13 +1256,12 @@ Playlist::flush_notifications (bool from_undo)
RegionWriteLock rl (this);
int itimes = (int) floor (times);
framepos_t pos = position + 1;
while (itimes--) {
boost::shared_ptr<Region> copy = RegionFactory::create (region, true);
add_region_internal (copy, pos);
add_region_internal (copy, position);
set_layer (copy, DBL_MAX);
pos += gap;
position += gap;
}
if (floor (times) != times) {
@ -1278,7 +1277,7 @@ Playlist::flush_notifications (bool from_undo)
plist.add (Properties::name, name);
boost::shared_ptr<Region> sub = RegionFactory::create (region, plist);
add_region_internal (sub, pos);
add_region_internal (sub, position);
set_layer (sub, DBL_MAX);
}
}

View File

@ -35,7 +35,7 @@ main (int argc, char* argv[])
/* Duplicate it a lot */
session->begin_reversible_command ("foo");
playlist->clear_changes ();
playlist->duplicate (region, region->last_frame(), 1000);
playlist->duplicate (region, region->last_frame() + 1, 1000);
session->add_command (new StatefulDiffCommand (playlist));
session->commit_reversible_command ();
@ -45,7 +45,7 @@ main (int argc, char* argv[])
/* And do it again */
session->begin_reversible_command ("foo");
playlist->clear_changes ();
playlist->duplicate (region, region->last_frame(), 1000);
playlist->duplicate (region, region->last_frame() + 1, 1000);
session->add_command (new StatefulDiffCommand (playlist));
session->commit_reversible_command ();
}