summaryrefslogtreecommitdiff
path: root/libs/ardour/playlist.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-01-08 22:21:08 -0700
committerPaul Davis <paul@linuxaudiosystems.com>2020-01-08 22:21:21 -0700
commit0e427086857037fb224082708117223934c728be (patch)
treedb1d9b830561fa4322ddd5051b7352f96df3182e /libs/ardour/playlist.cc
parent965bf74f2b53ec209716b75a940f3da805cc5a9e (diff)
expand comment to include (more of?) the full story about uncombining and copies
Diffstat (limited to 'libs/ardour/playlist.cc')
-rw-r--r--libs/ardour/playlist.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc
index 0474fc0096..3508eaf0b3 100644
--- a/libs/ardour/playlist.cc
+++ b/libs/ardour/playlist.cc
@@ -3238,7 +3238,7 @@ Playlist::uncombine (boost::shared_ptr<Region> target)
RegionFactory::CompoundAssociations& cassocs (RegionFactory::compound_associations());
sampleoffset_t move_offset = 0;
- /* there are two possibilities here:
+ /* there are three possibilities here:
1) the playlist that the playlist source was based on
is us, so just add the originals (which belonged to
us anyway) back in the right place.
@@ -3247,6 +3247,10 @@ Playlist::uncombine (boost::shared_ptr<Region> target)
is NOT us, so we need to make copies of each of
the original regions that we find, and add them
instead.
+
+ 3) target region is a copy of a compount region previously
+ created. In this case we will also need to make copies ot each of
+ the original regions, and add them instead.
*/
const bool need_copies = (boost::dynamic_pointer_cast<PlaylistSource> (pls)->owner() != target->id()) ||