From 9c629c0c76808cc3e8f05e43bc760f849566dce6 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 14 Jun 2017 22:47:22 +0200 Subject: [PATCH] Fix region-gain offset when separating ranges --- libs/ardour/playlist.cc | 9 ++++++--- 1 file 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); -- 2.30.2