summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorAndré Nusser <andre.nusser@googlemail.com>2015-10-28 22:06:46 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2015-11-04 17:50:12 -0500
commitf048eb7d026e08894b3aa92a7e1dcfa3aeb3aa74 (patch)
tree6e784063cf973cac291f87c36a967f72ba746bda /libs
parentc034ad26f81cdd120a679433e6623ee914c6e78b (diff)
Make duplicate start at position, not position + 1. (libs part)
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/playlist.cc7
-rw-r--r--libs/ardour/test/profiling/lots_of_regions.cc4
2 files changed, 5 insertions, 6 deletions
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc
index 0e58b4b622..842ff8f394 100644
--- a/libs/ardour/playlist.cc
+++ b/libs/ardour/playlist.cc
@@ -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);
}
}
diff --git a/libs/ardour/test/profiling/lots_of_regions.cc b/libs/ardour/test/profiling/lots_of_regions.cc
index 3a45d77067..4467822956 100644
--- a/libs/ardour/test/profiling/lots_of_regions.cc
+++ b/libs/ardour/test/profiling/lots_of_regions.cc
@@ -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 ();
}