ardour
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
ARDOUR::AudioPlaylist Class Reference

#include <audioplaylist.h>

Inheritance diagram for ARDOUR::AudioPlaylist:
ARDOUR::Playlist ARDOUR::SessionObject boost::enable_shared_from_this< Playlist > ARDOUR::SessionHandleRef PBD::StatefulDestructible PBD::ScopedConnectionList PBD::Stateful PBD::Destructible

Public Member Functions

 AudioPlaylist (Session &, const XMLNode &, bool hidden=false)
 
 AudioPlaylist (Session &, std::string name, bool hidden=false)
 
 AudioPlaylist (boost::shared_ptr< const AudioPlaylist >, std::string name, bool hidden=false)
 
 AudioPlaylist (boost::shared_ptr< const AudioPlaylist >, framepos_t start, framecnt_t cnt, std::string name, bool hidden=false)
 
framecnt_t read (Sample *dst, Sample *mixdown, float *gain_buffer, framepos_t start, framecnt_t cnt, uint32_t chan_n=0)
 
bool destroy_region (boost::shared_ptr< Region >)
 
- Public Member Functions inherited from ARDOUR::Playlist
 Playlist (Session &, const XMLNode &, DataType type, bool hidden=false)
 
 Playlist (Session &, std::string name, DataType type, bool hidden=false)
 
 Playlist (boost::shared_ptr< const Playlist >, std::string name, bool hidden=false)
 
 Playlist (boost::shared_ptr< const Playlist >, framepos_t start, framecnt_t cnt, std::string name, bool hidden=false)
 
virtual ~Playlist ()
 
void update (const RegionListProperty::ChangeRecord &)
 
void clear_owned_changes ()
 
void rdiff (std::vector< Command * > &) const
 
boost::shared_ptr< Regionregion_by_id (const PBD::ID &) const
 
uint32_t max_source_level () const
 
void set_region_ownership ()
 
virtual void clear (bool with_signals=true)
 
void use ()
 
void release ()
 
bool used () const
 
bool set_name (const std::string &str)
 
int sort_id ()
 
const DataTypedata_type () const
 
bool frozen () const
 
void set_frozen (bool yn)
 
bool hidden () const
 
bool empty () const
 
uint32_t n_regions () const
 
bool all_regions_empty () const
 
std::pair< framepos_t, framepos_tget_extent () const
 
std::pair< framepos_t, framepos_tget_extent_with_endspace () const
 
layer_t top_layer () const
 
EditMode get_edit_mode () const
 
void set_edit_mode (EditMode)
 
void add_region (boost::shared_ptr< Region >, framepos_t position, float times=1, bool auto_partition=false)
 
void remove_region (boost::shared_ptr< Region >)
 
void remove_region_by_source (boost::shared_ptr< Source >)
 
void get_equivalent_regions (boost::shared_ptr< Region >, std::vector< boost::shared_ptr< Region > > &)
 
void get_region_list_equivalent_regions (boost::shared_ptr< Region >, std::vector< boost::shared_ptr< Region > > &)
 
void get_source_equivalent_regions (boost::shared_ptr< Region >, std::vector< boost::shared_ptr< Region > > &)
 
void replace_region (boost::shared_ptr< Region > old, boost::shared_ptr< Region > newr, framepos_t pos)
 
void split_region (boost::shared_ptr< Region >, framepos_t position)
 
void split (framepos_t at)
 
void shift (framepos_t at, frameoffset_t distance, bool move_intersected, bool ignore_music_glue)
 
void partition (framepos_t start, framepos_t end, bool cut=false)
 
void duplicate (boost::shared_ptr< Region >, framepos_t position, float times)
 
void nudge_after (framepos_t start, framecnt_t distance, bool forwards)
 
boost::shared_ptr< Regioncombine (const RegionList &)
 
void uncombine (boost::shared_ptr< Region >)
 
void fade_range (std::list< AudioRange > &)
 
void shuffle (boost::shared_ptr< Region >, int dir)
 
void ripple (framepos_t at, framecnt_t distance, RegionList *exclude)
 
void ripple (framepos_t at, framecnt_t distance, boost::shared_ptr< Region > exclude)
 
void update_after_tempo_map_change ()
 
boost::shared_ptr< Playlistcut (std::list< AudioRange > &, bool result_is_hidden=true)
 
boost::shared_ptr< Playlistcopy (std::list< AudioRange > &, bool result_is_hidden=true)
 
int paste (boost::shared_ptr< Playlist >, framepos_t position, float times)
 
const RegionListPropertyregion_list () const
 
boost::shared_ptr< RegionListregions_at (framepos_t frame)
 
uint32_t count_regions_at (framepos_t) const
 
boost::shared_ptr< RegionListregions_touched (framepos_t start, framepos_t end)
 
boost::shared_ptr< RegionListregions_with_start_within (Evoral::Range< framepos_t >)
 
boost::shared_ptr< RegionListregions_with_end_within (Evoral::Range< framepos_t >)
 
uint32_t region_use_count (boost::shared_ptr< Region >) const
 
boost::shared_ptr< Regionfind_region (const PBD::ID &) const
 
boost::shared_ptr< Regiontop_region_at (framepos_t frame)
 
boost::shared_ptr< Regiontop_unmuted_region_at (framepos_t frame)
 
boost::shared_ptr< Regionfind_next_region (framepos_t frame, RegionPoint point, int dir)
 
framepos_t find_next_region_boundary (framepos_t frame, int dir)
 
bool region_is_shuffle_constrained (boost::shared_ptr< Region >)
 
bool has_region_at (framepos_t const) const
 
bool uses_source (boost::shared_ptr< const Source > src) const
 
framepos_t find_next_transient (framepos_t position, int dir)
 
void foreach_region (boost::function< void(boost::shared_ptr< Region >)>)
 
XMLNodeget_state ()
 
XMLNodeget_template ()
 
void freeze ()
 
void thaw (bool from_undo=false)
 
void raise_region (boost::shared_ptr< Region >)
 
void lower_region (boost::shared_ptr< Region >)
 
void raise_region_to_top (boost::shared_ptr< Region >)
 
void lower_region_to_bottom (boost::shared_ptr< Region >)
 
const PBD::IDget_orig_track_id () const
 
void set_orig_track_id (const PBD::ID &did)
 
void sync_all_regions_with_regions ()
 
void drop_regions ()
 
virtual boost::shared_ptr
< Crossfade > 
find_crossfade (const PBD::ID &) const
 
framepos_t find_next_top_layer_position (framepos_t) const
 
uint32_t combine_ops () const
 
void set_layer (boost::shared_ptr< Region >, double)
 
void set_capture_insertion_in_progress (bool yn)
 
- Public Member Functions inherited from ARDOUR::SessionObject
 SessionObject (Session &session, const std::string &name)
 
Sessionsession () const
 
std::string name () const
 
- Public Member Functions inherited from ARDOUR::SessionHandleRef
 SessionHandleRef (ARDOUR::Session &s)
 
virtual ~SessionHandleRef ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
PropertyListget_changes_as_properties (Command *) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 

Protected Member Functions

void pre_combine (std::vector< boost::shared_ptr< Region > > &)
 
void post_combine (std::vector< boost::shared_ptr< Region > > &, boost::shared_ptr< Region >)
 
void pre_uncombine (std::vector< boost::shared_ptr< Region > > &, boost::shared_ptr< Region >)
 
- Protected Member Functions inherited from ARDOUR::Playlist
void init (bool hide)
 
bool holding_state () const
 
void delay_notifications ()
 
void release_notifications (bool from_undo=false)
 
virtual void flush_notifications (bool from_undo=false)
 
void clear_pending ()
 
void _set_sort_id ()
 
boost::shared_ptr< RegionListregions_touched_locked (framepos_t start, framepos_t end)
 
void notify_region_removed (boost::shared_ptr< Region >)
 
void notify_region_added (boost::shared_ptr< Region >)
 
void notify_layering_changed ()
 
void notify_contents_changed ()
 
void notify_state_changed (const PBD::PropertyChange &)
 
void notify_region_moved (boost::shared_ptr< Region >)
 
void notify_region_start_trimmed (boost::shared_ptr< Region >)
 
void notify_region_end_trimmed (boost::shared_ptr< Region >)
 
void mark_session_dirty ()
 
void region_changed_proxy (const PBD::PropertyChange &, boost::weak_ptr< Region >)
 
void region_bounds_changed (const PBD::PropertyChange &, boost::shared_ptr< Region >)
 
void region_deleted (boost::shared_ptr< Region >)
 
void sort_regions ()
 
void possibly_splice (framepos_t at, framecnt_t distance, boost::shared_ptr< Region > exclude=boost::shared_ptr< Region >())
 
void possibly_splice_unlocked (framepos_t at, framecnt_t distance, boost::shared_ptr< Region > exclude=boost::shared_ptr< Region >())
 
void core_splice (framepos_t at, framecnt_t distance, boost::shared_ptr< Region > exclude)
 
void splice_locked (framepos_t at, framecnt_t distance, boost::shared_ptr< Region > exclude)
 
void splice_unlocked (framepos_t at, framecnt_t distance, boost::shared_ptr< Region > exclude)
 
void core_ripple (framepos_t at, framecnt_t distance, RegionList *exclude)
 
void ripple_locked (framepos_t at, framecnt_t distance, RegionList *exclude)
 
void ripple_unlocked (framepos_t at, framecnt_t distance, RegionList *exclude)
 
virtual void remove_dependents (boost::shared_ptr< Region >)
 
virtual XMLNodestate (bool)
 
bool add_region_internal (boost::shared_ptr< Region >, framepos_t position)
 
int remove_region_internal (boost::shared_ptr< Region >)
 
void copy_regions (RegionList &) const
 
void partition_internal (framepos_t start, framepos_t end, bool cutting, RegionList &thawlist)
 
std::pair< framepos_t, framepos_t_get_extent () const
 
boost::shared_ptr< Playlistcut_copy (boost::shared_ptr< Playlist >(Playlist::*pmf)(framepos_t, framecnt_t, bool), std::list< AudioRange > &ranges, bool result_is_hidden)
 
boost::shared_ptr< Playlistcut (framepos_t start, framecnt_t cnt, bool result_is_hidden)
 
boost::shared_ptr< Playlistcopy (framepos_t start, framecnt_t cnt, bool result_is_hidden)
 
void relayer ()
 
void begin_undo ()
 
void end_undo ()
 
void _split_region (boost::shared_ptr< Region >, framepos_t position)
 
- Protected Member Functions inherited from ARDOUR::SessionHandleRef
virtual void session_going_away ()
 
virtual void insanity_check ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 

Private Member Functions

int set_state (const XMLNode &, int version)
 
void dump () const
 
bool region_changed (const PBD::PropertyChange &, boost::shared_ptr< Region >)
 
void source_offset_changed (boost::shared_ptr< AudioRegion >)
 
void load_legacy_crossfades (const XMLNode &, int version)
 

Additional Inherited Members

- Static Public Member Functions inherited from ARDOUR::Playlist
static void make_property_quarks ()
 
static std::string bump_name (std::string old_name, Session &)
 
- Static Public Member Functions inherited from ARDOUR::SessionObject
static void make_property_quarks ()
 
- Public Attributes inherited from ARDOUR::Playlist
PBD::Signal1< void, bool > InUse
 
PBD::Signal0< void > ContentsChanged
 
PBD::Signal1< void,
boost::weak_ptr< Region > > 
RegionAdded
 
PBD::Signal1< void,
boost::weak_ptr< Region > > 
RegionRemoved
 
PBD::Signal0< void > NameChanged
 
PBD::Signal0< void > LayeringChanged
 
PBD::Signal2< void, std::list
< Evoral::RangeMove
< framepos_t > > const &, bool > 
RangesMoved
 
PBD::Signal1< void, std::list
< Evoral::Range< framepos_t >
> const & > 
RegionsExtended
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 
- Protected Types inherited from ARDOUR::Playlist
typedef std::pair
< boost::shared_ptr< Region >
, boost::shared_ptr< Region > > 
TwoRegions
 
- Protected Attributes inherited from ARDOUR::Playlist
RegionListProperty regions
 
std::set< boost::shared_ptr
< Region > > 
all_regions
 
PBD::ScopedConnectionList region_state_changed_connections
 
DataType _type
 
int _sort_id
 
gint block_notifications
 
gint ignore_state_changes
 
std::set< boost::shared_ptr
< Region > > 
pending_adds
 
std::set< boost::shared_ptr
< Region > > 
pending_removes
 
RegionList pending_bounds
 
bool pending_contents_change
 
bool pending_layering
 
std::list< Evoral::RangeMove
< framepos_t > > 
pending_range_moves
 
std::list< Evoral::Range
< framepos_t > > 
pending_region_extensions
 
uint32_t in_set_state
 
bool in_undo
 
bool first_set_state
 
bool _hidden
 
bool _splicing
 
bool _rippling
 
bool _shuffling
 
bool _nudging
 
uint32_t _refcnt
 
EditMode _edit_mode
 
bool in_flush
 
bool in_partition
 
bool _frozen
 
bool _capture_insertion_underway
 
uint32_t subcnt
 
PBD::ID _orig_track_id
 
uint32_t _combine_ops
 
- Protected Attributes inherited from ARDOUR::SessionObject
PBD::Property< std::string > _name
 
- Protected Attributes inherited from ARDOUR::SessionHandleRef
ARDOUR::Session_session
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 

Detailed Description

Definition at line 36 of file audioplaylist.h.

Constructor & Destructor Documentation

AudioPlaylist::AudioPlaylist ( Session session,
const XMLNode node,
bool  hidden = false 
)

Definition at line 37 of file audio_playlist.cc.

ARDOUR::AudioPlaylist::AudioPlaylist ( Session ,
std::string  name,
bool  hidden = false 
)
ARDOUR::AudioPlaylist::AudioPlaylist ( boost::shared_ptr< const AudioPlaylist ,
std::string  name,
bool  hidden = false 
)
ARDOUR::AudioPlaylist::AudioPlaylist ( boost::shared_ptr< const AudioPlaylist ,
framepos_t  start,
framecnt_t  cnt,
std::string  name,
bool  hidden = false 
)

Member Function Documentation

bool AudioPlaylist::destroy_region ( boost::shared_ptr< Region region)
virtual

Implements ARDOUR::Playlist.

Definition at line 281 of file audio_playlist.cc.

void AudioPlaylist::dump ( ) const
privatevirtual

Reimplemented from ARDOUR::Playlist.

Definition at line 260 of file audio_playlist.cc.

void AudioPlaylist::load_legacy_crossfades ( const XMLNode node,
int  version 
)
private

Definition at line 482 of file audio_playlist.cc.

void AudioPlaylist::post_combine ( std::vector< boost::shared_ptr< Region > > &  originals,
boost::shared_ptr< Region compound_region 
)
protectedvirtual

Reimplemented from ARDOUR::Playlist.

Definition at line 385 of file audio_playlist.cc.

void AudioPlaylist::pre_combine ( std::vector< boost::shared_ptr< Region > > &  copies)
protectedvirtual

Reimplemented from ARDOUR::Playlist.

Definition at line 360 of file audio_playlist.cc.

void AudioPlaylist::pre_uncombine ( std::vector< boost::shared_ptr< Region > > &  originals,
boost::shared_ptr< Region compound_region 
)
protectedvirtual

Reimplemented from ARDOUR::Playlist.

Definition at line 414 of file audio_playlist.cc.

ARDOUR::framecnt_t AudioPlaylist::read ( Sample dst,
Sample mixdown,
float *  gain_buffer,
framepos_t  start,
framecnt_t  cnt,
uint32_t  chan_n = 0 
)
Parameters
startStart position in session frames.
cntNumber of frames to read.

Definition at line 164 of file audio_playlist.cc.

bool AudioPlaylist::region_changed ( const PBD::PropertyChange what_changed,
boost::shared_ptr< Region region 
)
privatevirtual

Reimplemented from ARDOUR::Playlist.

Definition at line 332 of file audio_playlist.cc.

int AudioPlaylist::set_state ( const XMLNode node,
int  version 
)
privatevirtual

Reimplemented from ARDOUR::Playlist.

Definition at line 476 of file audio_playlist.cc.

void ARDOUR::AudioPlaylist::source_offset_changed ( boost::shared_ptr< AudioRegion )
private

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