diff options
Diffstat (limited to 'libs/ardour/session_playlists.cc')
-rw-r--r-- | libs/ardour/session_playlists.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libs/ardour/session_playlists.cc b/libs/ardour/session_playlists.cc index 38c6744d06..b54faba97e 100644 --- a/libs/ardour/session_playlists.cc +++ b/libs/ardour/session_playlists.cc @@ -390,3 +390,26 @@ SessionPlaylists::XMLPlaylistFactory (Session& session, const XMLNode& node) } } +boost::shared_ptr<Crossfade> +SessionPlaylists::find_crossfade (const PBD::ID& id) +{ + Glib::Mutex::Lock lm (lock); + + boost::shared_ptr<Crossfade> c; + + for (List::iterator i = playlists.begin(); i != playlists.end(); ++i) { + c = (*i)->find_crossfade (id); + if (c) { + return c; + } + } + + for (List::iterator i = unused_playlists.begin(); i != unused_playlists.end(); ++i) { + c = (*i)->find_crossfade (id); + if (c) { + return c; + } + } + + return boost::shared_ptr<Crossfade> (); +} |