summaryrefslogtreecommitdiff
path: root/libs/ardour/session_playlists.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_playlists.cc')
-rw-r--r--libs/ardour/session_playlists.cc20
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)
{