diff options
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index de68cd9830..cfc7f9b278 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -103,6 +103,7 @@ #include "ardour/route_graph.h" #include "ardour/route_group.h" #include "ardour/rt_tasklist.h" +#include "ardour/silentfilesource.h" #include "ardour/send.h" #include "ardour/selection.h" #include "ardour/session.h" @@ -6338,6 +6339,22 @@ Session::unknown_processors () const return p; } +list<string> +Session::missing_filesources (DataType dt) const +{ + list<string> p; + for (SourceMap::const_iterator i = sources.begin(); i != sources.end(); ++i) { + if (dt == DataType::AUDIO && 0 != boost::dynamic_pointer_cast<SilentFileSource> (i->second)) { + p.push_back (i->second->name()); + } + else if (dt == DataType::MIDI && 0 != boost::dynamic_pointer_cast<SMFSource> (i->second) && (i->second->flags() & Source::Missing) != 0) { + p.push_back (i->second->name()); + } + } + p.sort (); + return p; +} + void Session::initialize_latencies () { |