diff options
Diffstat (limited to 'libs/ardour/region.cc')
-rw-r--r-- | libs/ardour/region.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc index 706dda4a0a..3b9dc308ec 100644 --- a/libs/ardour/region.cc +++ b/libs/ardour/region.cc @@ -1490,6 +1490,20 @@ Region::uses_source (boost::shared_ptr<const Source> source) const } } + for (SourceList::const_iterator i = _master_sources.begin(); i != _master_sources.end(); ++i) { + if (*i == source) { + return true; + } + + boost::shared_ptr<PlaylistSource> ps = boost::dynamic_pointer_cast<PlaylistSource> (*i); + + if (ps) { + if (ps->playlist()->uses_source (source)) { + return true; + } + } + } + return false; } |