summaryrefslogtreecommitdiff
path: root/libs/ardour/region.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-03-01 21:54:54 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-03-01 21:54:54 +0000
commitb37b23af97fbffbf789222f03247439324648ffb (patch)
tree743af65391e70da63e39f9e810be17c0db176d4c /libs/ardour/region.cc
parent3553ba71fa8c50c05c04e5e067e153e10e386456 (diff)
improve, cleanup, rationalize Session::cleanup_sources() and supporting infrastructure
git-svn-id: svn://localhost/ardour2/branches/3.0@9015 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/region.cc')
-rw-r--r--libs/ardour/region.cc23
1 files changed, 19 insertions, 4 deletions
diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc
index 873e265225..ff9d31fd2d 100644
--- a/libs/ardour/region.cc
+++ b/libs/ardour/region.cc
@@ -29,14 +29,15 @@
#include "pbd/enumwriter.h"
#include "ardour/debug.h"
-#include "ardour/region.h"
+#include "ardour/file_source.h"
+#include "ardour/filter.h"
#include "ardour/playlist.h"
+#include "ardour/profile.h"
+#include "ardour/region.h"
+#include "ardour/region_factory.h"
#include "ardour/session.h"
#include "ardour/source.h"
#include "ardour/tempo.h"
-#include "ardour/region_factory.h"
-#include "ardour/filter.h"
-#include "ardour/profile.h"
#include "ardour/utils.h"
#include "i18n.h"
@@ -1474,6 +1475,20 @@ Region::uses_source (boost::shared_ptr<const Source> source) const
return false;
}
+bool
+Region::uses_source_path (const std::string& path) const
+{
+ for (SourceList::const_iterator i = _sources.begin(); i != _sources.end(); ++i) {
+ boost::shared_ptr<const FileSource> fs = boost::dynamic_pointer_cast<const FileSource> (*i);
+ if (fs) {
+ if (fs->path() == path) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
framecnt_t
Region::source_length(uint32_t n) const
{