X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fsession_playlists.h;h=5f69ba800135cff310864b64772ca000568b4e8a;hb=7dffe671da3489206f06d57c96595d5eaabb9ec4;hp=c6741ef319d761ca832b2da0a211b8cb98b0ac6b;hpb=fe2651ae5fd51620396bf26b82de18e1f5626e43;p=ardour.git diff --git a/libs/ardour/ardour/session_playlists.h b/libs/ardour/ardour/session_playlists.h index c6741ef319..5f69ba8001 100644 --- a/libs/ardour/ardour/session_playlists.h +++ b/libs/ardour/ardour/session_playlists.h @@ -32,7 +32,7 @@ class XMLNode; namespace PBD { - class ID; + class ID; } namespace ARDOUR { @@ -41,32 +41,34 @@ class Playlist; class Region; class Source; class Session; -class Crossfade; - +class Crossfade; +class Track; + class SessionPlaylists : public PBD::ScopedConnectionList { public: ~SessionPlaylists (); - + boost::shared_ptr by_name (std::string name); boost::shared_ptr by_id (const PBD::ID&); uint32_t source_use_count (boost::shared_ptr src) const; - uint32_t region_use_count (boost::shared_ptr region) const; + uint32_t region_use_count (boost::shared_ptr region) const; template void foreach (T *obj, void (T::*func)(boost::shared_ptr)); - void get (std::vector >&); + void get (std::vector >&) const; void unassigned (std::list > & list); - void destroy_region (boost::shared_ptr); + void destroy_region (boost::shared_ptr); boost::shared_ptr find_crossfade (const PBD::ID &); - void sync_all_regions_with_regions (); + void sync_all_regions_with_regions (); + std::vector > playlists_for_track (boost::shared_ptr) const; private: friend class Session; - + bool add (boost::shared_ptr); void remove (boost::shared_ptr); void remove_weak (boost::weak_ptr); void track (bool, boost::weak_ptr); - + uint32_t n_playlists() const; void find_equivalent_playlist_regions (boost::shared_ptr, std::vector >& result); void update_after_tempo_map_change (); @@ -75,7 +77,7 @@ private: int load (Session &, const XMLNode&); int load_unused (Session &, const XMLNode&); boost::shared_ptr XMLPlaylistFactory (Session &, const XMLNode&); - + mutable Glib::Mutex lock; typedef std::set > List; List playlists;