ardour
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
ARDOUR::SessionPlaylists Class Reference

#include <session_playlists.h>

Inheritance diagram for ARDOUR::SessionPlaylists:
PBD::ScopedConnectionList

Public Member Functions

 ~SessionPlaylists ()
 
boost::shared_ptr< Playlistby_name (std::string name)
 
boost::shared_ptr< Playlistby_id (const PBD::ID &)
 
uint32_t source_use_count (boost::shared_ptr< const Source > src) const
 
uint32_t region_use_count (boost::shared_ptr< Region > region) const
 
template<class T >
void foreach (T *obj, void(T::*func)(boost::shared_ptr< Playlist >))
 
void get (std::vector< boost::shared_ptr< Playlist > > &) const
 
void unassigned (std::list< boost::shared_ptr< Playlist > > &list)
 
void destroy_region (boost::shared_ptr< Region >)
 
boost::shared_ptr< Crossfade > find_crossfade (const PBD::ID &)
 
void sync_all_regions_with_regions ()
 
std::vector< boost::shared_ptr
< Playlist > > 
playlists_for_track (boost::shared_ptr< Track >) const
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Private Types

typedef std::set
< boost::shared_ptr< Playlist > > 
List
 

Private Member Functions

bool add (boost::shared_ptr< Playlist >)
 
void remove (boost::shared_ptr< Playlist >)
 
void remove_weak (boost::weak_ptr< Playlist >)
 
void track (bool, boost::weak_ptr< Playlist >)
 
uint32_t n_playlists () const
 
void find_equivalent_playlist_regions (boost::shared_ptr< Region >, std::vector< boost::shared_ptr< Region > > &result)
 
void update_after_tempo_map_change ()
 
void add_state (XMLNode *, bool)
 
bool maybe_delete_unused (boost::function< int(boost::shared_ptr< Playlist >)>)
 
int load (Session &, const XMLNode &)
 
int load_unused (Session &, const XMLNode &)
 
boost::shared_ptr< PlaylistXMLPlaylistFactory (Session &, const XMLNode &)
 

Private Attributes

Glib::Threads::Mutex lock
 
List playlists
 
List unused_playlists
 

Friends

class Session
 

Detailed Description

Definition at line 47 of file session_playlists.h.

Member Typedef Documentation

Definition at line 82 of file session_playlists.h.

Constructor & Destructor Documentation

SessionPlaylists::~SessionPlaylists ( )

Definition at line 34 of file session_playlists.cc.

Member Function Documentation

bool SessionPlaylists::add ( boost::shared_ptr< Playlist playlist)
private

Definition at line 70 of file session_playlists.cc.

void SessionPlaylists::add_state ( XMLNode node,
bool  full_state 
)
private

Definition at line 303 of file session_playlists.cc.

boost::shared_ptr< Playlist > SessionPlaylists::by_id ( const PBD::ID id)

Definition at line 182 of file session_playlists.cc.

boost::shared_ptr< Playlist > SessionPlaylists::by_name ( std::string  name)

Definition at line 162 of file session_playlists.cc.

void SessionPlaylists::destroy_region ( boost::shared_ptr< Region r)

Definition at line 234 of file session_playlists.cc.

boost::shared_ptr< Crossfade > SessionPlaylists::find_crossfade ( const PBD::ID id)

Definition at line 422 of file session_playlists.cc.

void SessionPlaylists::find_equivalent_playlist_regions ( boost::shared_ptr< Region region,
std::vector< boost::shared_ptr< Region > > &  result 
)
private

Definition at line 249 of file session_playlists.cc.

template<class T >
void ARDOUR::SessionPlaylists::foreach ( T *  obj,
void(T::*)(boost::shared_ptr< Playlist >)  func 
)

Definition at line 30 of file session_playlist.h.

void SessionPlaylists::get ( std::vector< boost::shared_ptr< Playlist > > &  s) const

Definition at line 220 of file session_playlists.cc.

int SessionPlaylists::load ( Session session,
const XMLNode node 
)
private

Definition at line 367 of file session_playlists.cc.

int SessionPlaylists::load_unused ( Session session,
const XMLNode node 
)
private

Definition at line 386 of file session_playlists.cc.

bool SessionPlaylists::maybe_delete_unused ( boost::function< int(boost::shared_ptr< Playlist >)>  ask)
private
Returns
true for `stop cleanup', otherwise false

Definition at line 332 of file session_playlists.cc.

uint32_t SessionPlaylists::n_playlists ( ) const
private

Definition at line 155 of file session_playlists.cc.

vector< boost::shared_ptr< Playlist > > SessionPlaylists::playlists_for_track ( boost::shared_ptr< Track tr) const
Returns
list of Playlists that are associated with a track

Definition at line 464 of file session_playlists.cc.

uint32_t SessionPlaylists::region_use_count ( boost::shared_ptr< Region region) const

Definition at line 446 of file session_playlists.cc.

void SessionPlaylists::remove ( boost::shared_ptr< Playlist playlist)
private

Definition at line 97 of file session_playlists.cc.

void SessionPlaylists::remove_weak ( boost::weak_ptr< Playlist playlist)
private

Definition at line 88 of file session_playlists.cc.

uint32_t SessionPlaylists::source_use_count ( boost::shared_ptr< const Source src) const

Return the number of playlists (not regions) that contain src Important: this counts usage in both used and not-used playlists.

Definition at line 259 of file session_playlists.cc.

void SessionPlaylists::sync_all_regions_with_regions ( )

Definition at line 281 of file session_playlists.cc.

void SessionPlaylists::track ( bool  inuse,
boost::weak_ptr< Playlist wpl 
)
private

Definition at line 116 of file session_playlists.cc.

void SessionPlaylists::unassigned ( std::list< boost::shared_ptr< Playlist > > &  list)

Definition at line 202 of file session_playlists.cc.

void SessionPlaylists::update_after_tempo_map_change ( )
private

Definition at line 291 of file session_playlists.cc.

boost::shared_ptr< Playlist > SessionPlaylists::XMLPlaylistFactory ( Session session,
const XMLNode node 
)
private

Definition at line 410 of file session_playlists.cc.

Friends And Related Function Documentation

friend class Session
friend

Definition at line 65 of file session_playlists.h.

Member Data Documentation

Glib::Threads::Mutex ARDOUR::SessionPlaylists::lock
mutableprivate

Definition at line 81 of file session_playlists.h.

List ARDOUR::SessionPlaylists::playlists
private

Definition at line 83 of file session_playlists.h.

List ARDOUR::SessionPlaylists::unused_playlists
private

Definition at line 84 of file session_playlists.h.


The documentation for this class was generated from the following files: