diff options
Diffstat (limited to 'libs/ardour/session_playlists.cc')
-rw-r--r-- | libs/ardour/session_playlists.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libs/ardour/session_playlists.cc b/libs/ardour/session_playlists.cc index 17ed6a4e30..2f8ae9a8f0 100644 --- a/libs/ardour/session_playlists.cc +++ b/libs/ardour/session_playlists.cc @@ -167,6 +167,26 @@ SessionPlaylists::by_name (string name) return boost::shared_ptr<Playlist>(); } +boost::shared_ptr<Playlist> +SessionPlaylists::by_id (const PBD::ID& id) +{ + Glib::Mutex::Lock lm (lock); + + for (List::iterator i = playlists.begin(); i != playlists.end(); ++i) { + if ((*i)->id() == id) { + return* i; + } + } + + for (List::iterator i = unused_playlists.begin(); i != unused_playlists.end(); ++i) { + if ((*i)->id() == id) { + return* i; + } + } + + return boost::shared_ptr<Playlist>(); +} + void SessionPlaylists::unassigned (std::list<boost::shared_ptr<Playlist> > & list) { |