summaryrefslogtreecommitdiff
path: root/libs/ardour/region_factory.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-05-25 14:10:14 +0200
committerRobin Gareus <robin@gareus.org>2017-05-25 14:10:14 +0200
commit244313f43fc3178fb8f58b01fc6ba125115062ad (patch)
treece25b93d8532e72225f72d1ec6438123f9e51eef /libs/ardour/region_factory.cc
parenta48f0cfd63dc4aa348d288605b2076c6c15c04f4 (diff)
Always create a deep copy of MIDI regions when copying playlists.
Diffstat (limited to 'libs/ardour/region_factory.cc')
-rw-r--r--libs/ardour/region_factory.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/region_factory.cc b/libs/ardour/region_factory.cc
index 78425db88c..c1f3ecf474 100644
--- a/libs/ardour/region_factory.cc
+++ b/libs/ardour/region_factory.cc
@@ -46,7 +46,7 @@ std::map<std::string, PBD::ID> RegionFactory::region_name_map;
RegionFactory::CompoundAssociations RegionFactory::_compound_associations;
boost::shared_ptr<Region>
-RegionFactory::create (boost::shared_ptr<const Region> region, bool announce)
+RegionFactory::create (boost::shared_ptr<const Region> region, bool announce, bool fork)
{
boost::shared_ptr<Region> ret;
boost::shared_ptr<const AudioRegion> ar;
@@ -58,7 +58,7 @@ RegionFactory::create (boost::shared_ptr<const Region> region, bool announce)
} else if ((mr = boost::dynamic_pointer_cast<const MidiRegion>(region)) != 0) {
- if (mr->session().config.get_midi_copy_is_fork()) {
+ if (mr->session().config.get_midi_copy_is_fork() || fork) {
/* What we really want to do here is what Editor::fork_region()
does via Session::create_midi_source_by_stealing_name(), but we
don't have a Track. We'll just live with the skipped number,