Use XMLNode::get/set_property API in ARDOUR::SoloControl class
[ardour.git] / libs / ardour / session_playlists.cc
index ae846094d5def5bfa46d9b734973231745c6831a..d7780ea9b545be76e9ce867eb9167d78df3fbe3b 100644 (file)
@@ -332,7 +332,7 @@ SessionPlaylists::add_state (XMLNode* node, bool full_state)
        IDSortedList id_sorted_playlists;
        get_id_sorted_playlists (playlists, id_sorted_playlists);
 
-       for (List::iterator i = id_sorted_playlists.begin (); i != id_sorted_playlists.end (); ++i) {
+       for (IDSortedList::iterator i = id_sorted_playlists.begin (); i != id_sorted_playlists.end (); ++i) {
                if (!(*i)->hidden ()) {
                        if (full_state) {
                                child->add_child_nocopy ((*i)->get_state ());
@@ -347,7 +347,7 @@ SessionPlaylists::add_state (XMLNode* node, bool full_state)
        IDSortedList id_sorted_unused_playlists;
        get_id_sorted_playlists (unused_playlists, id_sorted_unused_playlists);
 
-       for (List::iterator i = id_sorted_unused_playlists.begin ();
+       for (IDSortedList::iterator i = id_sorted_unused_playlists.begin ();
             i != id_sorted_unused_playlists.end (); ++i) {
                if (!(*i)->hidden()) {
                        if (!(*i)->empty()) {
@@ -527,7 +527,10 @@ SessionPlaylists::playlists_for_track (boost::shared_ptr<Track> tr) const
        vector<boost::shared_ptr<Playlist> > pl_tr;
 
        for (vector<boost::shared_ptr<Playlist> >::iterator i = pl.begin(); i != pl.end(); ++i) {
-               if (((*i)->get_orig_track_id() == tr->id()) || (tr->playlist()->id() == (*i)->id())) {
+               if ( ((*i)->get_orig_track_id() == tr->id()) ||
+                       (tr->playlist()->id() == (*i)->id())    ||
+                       ((*i)->shared_with (tr->id())) )
+               {
                        pl_tr.push_back (*i);
                }
        }