Make duplicate start at position, not position + 1. (libs part)
This commit is contained in:
parent
c034ad26f8
commit
f048eb7d02
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user