summaryrefslogtreecommitdiff
path: root/libs/ardour/session_playlists.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-09-14 00:41:53 +0000
committerCarl Hetherington <carl@carlh.net>2010-09-14 00:41:53 +0000
commit875f0befd5fb52678d25544fcbcb6e6b55a2c483 (patch)
treeaffac8e73456192dfa9f360f9bd7e6a8651447d4 /libs/ardour/session_playlists.cc
parent42acfc365f20762042d431f5d75c4a0d32b60b2b (diff)
Fix restoration of MementoCommand<Crossfade>. Fixes #3418.
git-svn-id: svn://localhost/ardour2/branches/3.0@7771 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_playlists.cc')
-rw-r--r--libs/ardour/session_playlists.cc23
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> ();
+}