diff options
author | Robin Gareus <robin@gareus.org> | 2017-06-14 22:47:22 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-06-14 22:47:32 +0200 |
commit | 9c629c0c76808cc3e8f05e43bc760f849566dce6 (patch) | |
tree | 6c6229a83545fac76cba9be2b2c4e45793f1c23f | |
parent | 34abc2dc2d141023313f38fa96c8c304ecc666e3 (diff) |
Fix region-gain offset when separating ranges5.10
-rw-r--r-- | libs/ardour/playlist.cc | 9 |
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); |