summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-14 22:47:22 +0200
committerRobin Gareus <robin@gareus.org>2017-06-14 22:47:32 +0200
commit9c629c0c76808cc3e8f05e43bc760f849566dce6 (patch)
tree6c6229a83545fac76cba9be2b2c4e45793f1c23f
parent34abc2dc2d141023313f38fa96c8c304ecc666e3 (diff)
Fix region-gain offset when separating ranges5.10
-rw-r--r--libs/ardour/playlist.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc
index 1bcbeb8ff1..39a6dc77ed 100644
--- a/libs/ardour/playlist.cc
+++ b/libs/ardour/playlist.cc
@@ -998,7 +998,10 @@ Playlist::partition_internal (framepos_t start, framepos_t end, bool cutting, Re
plist.add (Properties::right_of_split, true);
maybe_add_start_beats (_session.tempo_map(), plist, current, current->start(), current->start() + (pos2 - pos1));
- region = RegionFactory::create (current, plist);
+ /* see note in :_split_region()
+ * for MusicFrame is needed to offset region-gain
+ */
+ region = RegionFactory::create (current, MusicFrame (pos2 - pos1, 0), plist);
add_region_internal (region, start);
new_regions.push_back (region);
}
@@ -1018,7 +1021,7 @@ Playlist::partition_internal (framepos_t start, framepos_t end, bool cutting, Re
plist.add (Properties::right_of_split, true);
maybe_add_start_beats (_session.tempo_map(), plist, current, current->start(), current->start() + (pos3 - pos1));
- region = RegionFactory::create (current, plist);
+ region = RegionFactory::create (current, MusicFrame (pos3 - pos1, 0), plist);
add_region_internal (region, end);
new_regions.push_back (region);
@@ -1059,7 +1062,7 @@ Playlist::partition_internal (framepos_t start, framepos_t end, bool cutting, Re
plist.add (Properties::left_of_split, true);
maybe_add_start_beats (_session.tempo_map(), plist, current, current->start(), current->start() + (pos2 - pos1));
- region = RegionFactory::create (current, plist);
+ region = RegionFactory::create (current, MusicFrame(pos2 - pos1, 0), plist);
add_region_internal (region, start);
new_regions.push_back (region);