From a351048ca8b3911317a90835b67104df0f1e6d0b Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 3 Dec 2009 21:53:08 +0000 Subject: Add missing files. git-svn-id: svn://localhost/ardour2/branches/3.0@6271 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/session_playlists.h | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 libs/ardour/ardour/session_playlists.h (limited to 'libs/ardour/ardour') diff --git a/libs/ardour/ardour/session_playlists.h b/libs/ardour/ardour/session_playlists.h new file mode 100644 index 0000000000..1fca497143 --- /dev/null +++ b/libs/ardour/ardour/session_playlists.h @@ -0,0 +1,55 @@ +#ifndef __ardour_session_playlists_h__ +#define __ardour_session_playlists_h__ + +#include +#include +#include +#include +#include +#include + +class XMLNode; + +namespace ARDOUR { + +class Playlist; +class Region; +class Source; +class Session; + +class SessionPlaylists : public sigc::trackable +{ +public: + ~SessionPlaylists (); + + boost::shared_ptr by_name (std::string name); + uint32_t source_use_count (boost::shared_ptr src) const; + template void foreach (T *obj, void (T::*func)(boost::shared_ptr)); + void get (std::vector >&); + void unassigned (std::list > & list); + +private: + friend class Session; + + bool add (boost::shared_ptr); + void remove (boost::shared_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 (); + void add_state (XMLNode *, bool); + bool maybe_delete_unused (sigc::signal >); + 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; + List unused_playlists; +}; + +} + +#endif -- cgit v1.2.3