Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::SessionPlaylists Class Reference

#include <session_playlists.h>

Inheritance diagram for ARDOUR::SessionPlaylists:
[legend]

Public Member Functions

 ~SessionPlaylists ()
 
std::shared_ptr< Playlistfor_pgroup (std::string name, const PBD::ID &for_track)
 
std::shared_ptr< Playlistby_name (std::string name)
 
std::shared_ptr< Playlistby_id (const PBD::ID &)
 
uint32_t source_use_count (std::shared_ptr< const Source > src) const
 
uint32_t region_use_count (std::shared_ptr< Region > region) const
 
template<class T >
void foreach (T *obj, void(T::*func)(std::shared_ptr< Playlist >))
 
void foreach (std::function< void(std::shared_ptr< const Playlist >)> functor, bool incl_unused=true)
 
void get (std::vector< std::shared_ptr< Playlist > > &) const
 
void unassigned (std::list< std::shared_ptr< Playlist > > &list)
 
void destroy_region (std::shared_ptr< Region >)
 
std::shared_ptr< Crossfade > find_crossfade (const PBD::ID &)
 
void sync_all_regions_with_regions ()
 
std::vector< std::shared_ptr< Playlist > > playlists_for_pgroup (std::string pgroup)
 
std::vector< std::shared_ptr< Playlist > > playlists_for_track (std::shared_ptr< Track >) const
 
std::vector< std::shared_ptr< Playlist > > get_used () const
 
std::vector< std::shared_ptr< Playlist > > get_unused () const
 
uint32_t n_playlists () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Private Member Functions

bool add (std::shared_ptr< Playlist >)
 
void remove (std::shared_ptr< Playlist >)
 
void remove_weak (std::weak_ptr< Playlist >)
 
void track (bool, std::weak_ptr< Playlist >)
 
void update_tracking ()
 
void update_orig_2X (PBD::ID, PBD::ID)
 
void find_equivalent_playlist_regions (std::shared_ptr< Region >, std::vector< std::shared_ptr< Region > > &result)
 
void update_after_tempo_map_change ()
 
void add_state (XMLNode *, bool save_template, bool include_unused) const
 
bool maybe_delete_unused (std::function< int(std::shared_ptr< Playlist >)>)
 
int load (Session &, const XMLNode &)
 
int load_unused (Session &, const XMLNode &)
 
std::shared_ptr< PlaylistXMLPlaylistFactory (Session &, const XMLNode &)
 

Private Attributes

Glib::Threads::Mutex lock
 
PlaylistSet playlists
 
PlaylistSet unused_playlists
 

Friends

class Session
 

Detailed Description

Definition at line 52 of file session_playlists.h.

Constructor & Destructor Documentation

◆ ~SessionPlaylists()

ARDOUR::SessionPlaylists::~SessionPlaylists ( )

Member Function Documentation

◆ add()

bool ARDOUR::SessionPlaylists::add ( std::shared_ptr< Playlist )
private

◆ add_state()

void ARDOUR::SessionPlaylists::add_state ( XMLNode ,
bool  save_template,
bool  include_unused 
) const
private

◆ by_id()

std::shared_ptr<Playlist> ARDOUR::SessionPlaylists::by_id ( const PBD::ID )

◆ by_name()

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

◆ destroy_region()

void ARDOUR::SessionPlaylists::destroy_region ( std::shared_ptr< Region )

◆ find_crossfade()

std::shared_ptr<Crossfade> ARDOUR::SessionPlaylists::find_crossfade ( const PBD::ID )

◆ find_equivalent_playlist_regions()

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

◆ finish_domain_bounce()

void ARDOUR::SessionPlaylists::finish_domain_bounce ( Temporal::DomainBounceInfo )

◆ for_pgroup()

std::shared_ptr<Playlist> ARDOUR::SessionPlaylists::for_pgroup ( std::string  name,
const PBD::ID for_track 
)

◆ foreach() [1/2]

void ARDOUR::SessionPlaylists::foreach ( std::function< void(std::shared_ptr< const Playlist >)>  functor,
bool  incl_unused = true 
)

◆ foreach() [2/2]

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

Definition at line 30 of file session_playlist.h.

◆ get()

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

◆ get_unused()

std::vector<std::shared_ptr<Playlist> > ARDOUR::SessionPlaylists::get_unused ( ) const

◆ get_used()

std::vector<std::shared_ptr<Playlist> > ARDOUR::SessionPlaylists::get_used ( ) const

◆ load()

int ARDOUR::SessionPlaylists::load ( Session ,
const XMLNode  
)
private

◆ load_unused()

int ARDOUR::SessionPlaylists::load_unused ( Session ,
const XMLNode  
)
private

◆ maybe_delete_unused()

bool ARDOUR::SessionPlaylists::maybe_delete_unused ( std::function< int(std::shared_ptr< Playlist >)>  )
private

◆ n_playlists()

uint32_t ARDOUR::SessionPlaylists::n_playlists ( ) const

◆ playlists_for_pgroup()

std::vector<std::shared_ptr<Playlist> > ARDOUR::SessionPlaylists::playlists_for_pgroup ( std::string  pgroup)

◆ playlists_for_track()

std::vector<std::shared_ptr<Playlist> > ARDOUR::SessionPlaylists::playlists_for_track ( std::shared_ptr< Track ) const

◆ region_use_count()

uint32_t ARDOUR::SessionPlaylists::region_use_count ( std::shared_ptr< Region region) const

◆ remove()

void ARDOUR::SessionPlaylists::remove ( std::shared_ptr< Playlist )
private

◆ remove_weak()

void ARDOUR::SessionPlaylists::remove_weak ( std::weak_ptr< Playlist )
private

◆ source_use_count()

uint32_t ARDOUR::SessionPlaylists::source_use_count ( std::shared_ptr< const Source src) const

◆ start_domain_bounce()

void ARDOUR::SessionPlaylists::start_domain_bounce ( Temporal::DomainBounceInfo )

◆ sync_all_regions_with_regions()

void ARDOUR::SessionPlaylists::sync_all_regions_with_regions ( )

◆ track()

void ARDOUR::SessionPlaylists::track ( bool  ,
std::weak_ptr< Playlist  
)
private

◆ unassigned()

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

◆ update_after_tempo_map_change()

void ARDOUR::SessionPlaylists::update_after_tempo_map_change ( )
private

◆ update_orig_2X()

void ARDOUR::SessionPlaylists::update_orig_2X ( PBD::ID  ,
PBD::ID   
)
private

◆ update_tracking()

void ARDOUR::SessionPlaylists::update_tracking ( )
private

◆ XMLPlaylistFactory()

std::shared_ptr<Playlist> ARDOUR::SessionPlaylists::XMLPlaylistFactory ( Session ,
const XMLNode  
)
private

Friends And Related Function Documentation

◆ Session

friend class Session
friend

Definition at line 79 of file session_playlists.h.

Member Data Documentation

◆ lock

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

Definition at line 97 of file session_playlists.h.

◆ playlists

PlaylistSet ARDOUR::SessionPlaylists::playlists
private

Definition at line 99 of file session_playlists.h.

◆ unused_playlists

PlaylistSet ARDOUR::SessionPlaylists::unused_playlists
private

Definition at line 100 of file session_playlists.h.


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