summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-03-21 02:39:12 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-03-21 02:39:12 +0000
commit767984b486086e3682e521179c2fb8364b3bba76 (patch)
tree3a03250848c776c0edf0de4df4a3d89397711c21 /libs/ardour/ardour
parent6525aaeb70ed7dcaf068e641dc04b4f7c5ba61e4 (diff)
probably fix cleanup issues, but testing required
git-svn-id: svn://localhost/ardour2/trunk@1632 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/playlist.h6
-rw-r--r--libs/ardour/ardour/source.h4
2 files changed, 9 insertions, 1 deletions
diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h
index 6e36d3120b..103e95929e 100644
--- a/libs/ardour/ardour/playlist.h
+++ b/libs/ardour/ardour/playlist.h
@@ -138,6 +138,12 @@ class Playlist : public PBD::StatefulDestructible, public boost::enable_shared_f
virtual bool destroy_region (boost::shared_ptr<Region>) = 0;
+ /* special case function used by UI selection objects, which have playlists that actually own the regions
+ within them.
+ */
+
+ void drop_regions ();
+
protected:
friend class Session;
diff --git a/libs/ardour/ardour/source.h b/libs/ardour/ardour/source.h
index ae63b8c5fb..7ffa616a40 100644
--- a/libs/ardour/ardour/source.h
+++ b/libs/ardour/ardour/source.h
@@ -63,7 +63,9 @@ class Source : public PBD::StatefulDestructible
string _name;
time_t _timestamp;
- std::set<boost::shared_ptr<ARDOUR::Playlist> > _playlists;
+ Glib::Mutex playlist_lock;
+ typedef std::map<boost::shared_ptr<ARDOUR::Playlist>, uint32_t > PlaylistMap;
+ PlaylistMap _playlists;
private:
uint32_t _in_use;