21 #ifndef __ardour_session_playlists_h__
22 #define __ardour_session_playlists_h__
29 #include <glibmm/threads.h>
31 #include <boost/function.hpp>
60 template<
class T>
void foreach (T *obj,
void (T::*func)(std::shared_ptr<Playlist>));
61 void foreach (boost::function<
void(std::shared_ptr<const Playlist>)> functor,
bool incl_unused =
true);
62 void get (std::vector<std::shared_ptr<Playlist> >&)
const;
63 void unassigned (std::list<std::shared_ptr<Playlist> > & list);
69 std::vector<std::shared_ptr<Playlist> >
get_used ()
const;
70 std::vector<std::shared_ptr<Playlist> >
get_unused ()
const;
79 bool add (std::shared_ptr<Playlist>);
80 void remove (std::shared_ptr<Playlist>);
82 void track (
bool, std::weak_ptr<Playlist>);
95 mutable Glib::Threads::Mutex
lock;
std::shared_ptr< Playlist > by_id(const PBD::ID &)
void update_orig_2X(PBD::ID, PBD::ID)
std::vector< std::shared_ptr< Playlist > > playlists_for_track(std::shared_ptr< Track >) const
void track(bool, std::weak_ptr< Playlist >)
void remove(std::shared_ptr< Playlist >)
void update_after_tempo_map_change()
void destroy_region(std::shared_ptr< Region >)
bool maybe_delete_unused(boost::function< int(std::shared_ptr< Playlist >)>)
int load(Session &, const XMLNode &)
Glib::Threads::Mutex lock
PlaylistSet unused_playlists
void finish_domain_bounce(Temporal::DomainBounceInfo &)
void unassigned(std::list< std::shared_ptr< Playlist > > &list)
void find_equivalent_playlist_regions(std::shared_ptr< Region >, std::vector< std::shared_ptr< Region > > &result)
std::shared_ptr< Crossfade > find_crossfade(const PBD::ID &)
void add_state(XMLNode *, bool save_template, bool include_unused) const
uint32_t region_use_count(std::shared_ptr< Region > region) const
std::vector< std::shared_ptr< Playlist > > get_unused() const
std::vector< std::shared_ptr< Playlist > > get_used() const
void remove_weak(std::weak_ptr< Playlist >)
std::vector< std::shared_ptr< Playlist > > playlists_for_pgroup(std::string pgroup)
std::shared_ptr< Playlist > XMLPlaylistFactory(Session &, const XMLNode &)
void sync_all_regions_with_regions()
std::shared_ptr< Playlist > by_name(std::string name)
std::shared_ptr< Playlist > for_pgroup(std::string name, const PBD::ID &for_track)
bool add(std::shared_ptr< Playlist >)
uint32_t source_use_count(std::shared_ptr< const Source > src) const
uint32_t n_playlists() const
void start_domain_bounce(Temporal::DomainBounceInfo &)
void get(std::vector< std::shared_ptr< Playlist > > &) const
int load_unused(Session &, const XMLNode &)
GtkImageIconNameData name
std::set< std::shared_ptr< Playlist > > PlaylistSet