ardour
|
#include <playlist.h>
Classes | |
class | RegionReadLock |
class | RegionWriteLock |
Static Public Member Functions | |
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 | |
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 |
Protected Types | |
typedef std::pair < boost::shared_ptr< Region > , boost::shared_ptr< Region > > | TwoRegions |
Private Member Functions | |
void | setup_layering_indices (RegionList const &) |
void | coalesce_and_check_crossfades (std::list< Evoral::Range< framepos_t > >) |
boost::shared_ptr< RegionList > | find_regions_at (framepos_t) |
Private Attributes | |
Glib::Threads::RWLock | region_lock |
framepos_t | _end_space |
Friends | |
class | Session |
class | RegionReadLock |
class | RegionWriteLock |
Additional Inherited Members | |
Static Public Attributes inherited from PBD::Stateful | |
static int | current_state_version = 0 |
static int | loading_state_version = 0 |
Definition at line 81 of file playlist.h.
|
protected |
Definition at line 380 of file playlist.h.
Definition at line 138 of file playlist.cc.
ARDOUR::Playlist::Playlist | ( | boost::shared_ptr< const Playlist > | , |
std::string | name, | ||
bool | hidden = false |
||
) |
ARDOUR::Playlist::Playlist | ( | boost::shared_ptr< const Playlist > | , |
framepos_t | start, | ||
framecnt_t | cnt, | ||
std::string | name, | ||
bool | hidden = false |
||
) |
|
virtual |
Definition at line 330 of file playlist.cc.
|
protected |
Definition at line 2269 of file playlist.cc.
|
protected |
Definition at line 346 of file playlist.cc.
|
protected |
Definition at line 1341 of file playlist.cc.
void Playlist::add_region | ( | boost::shared_ptr< Region > | region, |
framepos_t | position, | ||
float | times = 1 , |
||
bool | auto_partition = false |
||
) |
Note: this calls set_layer (..., DBL_MAX) so it will reset the layering index of region
Definition at line 668 of file playlist.cc.
|
protected |
Definition at line 737 of file playlist.cc.
bool Playlist::all_regions_empty | ( | ) | const |
Definition at line 2247 of file playlist.cc.
|
protected |
Definition at line 400 of file playlist.cc.
|
static |
Definition at line 2292 of file playlist.cc.
|
virtual |
Definition at line 1669 of file playlist.cc.
|
virtual |
Reimplemented from PBD::Stateful.
Definition at line 2054 of file playlist.cc.
|
protected |
Definition at line 652 of file playlist.cc.
|
private |
Take a list of ranges, coalesce any that can be coalesced, then call check_crossfades for each one.
Definition at line 3224 of file playlist.cc.
boost::shared_ptr< Region > Playlist::combine | ( | const RegionList & | r | ) |
Definition at line 2898 of file playlist.cc.
|
inline |
Definition at line 234 of file playlist.h.
boost::shared_ptr< Playlist > Playlist::copy | ( | std::list< AudioRange > & | ranges, |
bool | result_is_hidden = true |
||
) |
Definition at line 1164 of file playlist.cc.
|
protected |
Definition at line 1196 of file playlist.cc.
|
protected |
Definition at line 287 of file playlist.cc.
|
protected |
Definition at line 1494 of file playlist.cc.
|
protected |
Definition at line 1451 of file playlist.cc.
uint32_t Playlist::count_regions_at | ( | framepos_t | frame | ) | const |
Definition at line 1712 of file playlist.cc.
boost::shared_ptr< Playlist > Playlist::cut | ( | std::list< AudioRange > & | ranges, |
bool | result_is_hidden = true |
||
) |
Definition at line 1157 of file playlist.cc.
|
protected |
Definition at line 1171 of file playlist.cc.
|
protected |
Definition at line 1124 of file playlist.cc.
|
inline |
Definition at line 113 of file playlist.h.
|
protected |
Definition at line 430 of file playlist.cc.
|
pure virtual |
Implemented in ARDOUR::MidiPlaylist, and ARDOUR::AudioPlaylist.
void Playlist::drop_regions | ( | ) |
Definition at line 1649 of file playlist.cc.
|
virtual |
Reimplemented in ARDOUR::MidiPlaylist, and ARDOUR::AudioPlaylist.
Definition at line 2659 of file playlist.cc.
void Playlist::duplicate | ( | boost::shared_ptr< Region > | region, |
framepos_t | position, | ||
float | times | ||
) |
Definition at line 1246 of file playlist.cc.
bool Playlist::empty | ( | ) | const |
Definition at line 2230 of file playlist.cc.
|
protected |
Definition at line 407 of file playlist.cc.
void Playlist::fade_range | ( | std::list< AudioRange > & | ranges | ) |
Definition at line 3192 of file playlist.cc.
|
inlinevirtual |
Definition at line 229 of file playlist.h.
boost::shared_ptr< Region > Playlist::find_next_region | ( | framepos_t | frame, |
RegionPoint | point, | ||
int | dir | ||
) |
Definition at line 1905 of file playlist.cc.
framepos_t Playlist::find_next_region_boundary | ( | framepos_t | frame, |
int | dir | ||
) |
Definition at line 1965 of file playlist.cc.
framepos_t Playlist::find_next_top_layer_position | ( | framepos_t | t | ) | const |
Look from a session frame time and find the start time of the next region which is on the top layer of this playlist.
t | Time to look from. |
Definition at line 2879 of file playlist.cc.
framepos_t Playlist::find_next_transient | ( | framepos_t | position, |
int | dir | ||
) |
Definition at line 1845 of file playlist.cc.
boost::shared_ptr< Region > Playlist::find_region | ( | const PBD::ID & | id | ) | const |
Definition at line 2592 of file playlist.cc.
|
private |
Definition at line 1774 of file playlist.cc.
|
protectedvirtual |
from_undo | true if this flush is triggered by the end of an undo on this playlist |
Definition at line 566 of file playlist.cc.
void Playlist::foreach_region | ( | boost::function< void(boost::shared_ptr< Region >)> | s | ) |
Definition at line 2833 of file playlist.cc.
void Playlist::freeze | ( | ) |
Definition at line 414 of file playlist.cc.
|
inline |
Definition at line 115 of file playlist.h.
|
inline |
Definition at line 126 of file playlist.h.
void Playlist::get_equivalent_regions | ( | boost::shared_ptr< Region > | other, |
std::vector< boost::shared_ptr< Region > > & | results | ||
) |
Definition at line 831 of file playlist.cc.
pair< framepos_t, framepos_t > Playlist::get_extent | ( | ) | const |
Definition at line 2254 of file playlist.cc.
pair< framepos_t, framepos_t > Playlist::get_extent_with_endspace | ( | ) | const |
Definition at line 2261 of file playlist.cc.
|
inline |
Definition at line 214 of file playlist.h.
void Playlist::get_region_list_equivalent_regions | ( | boost::shared_ptr< Region > | other, |
std::vector< boost::shared_ptr< Region > > & | results | ||
) |
Definition at line 849 of file playlist.cc.
void Playlist::get_source_equivalent_regions | ( | boost::shared_ptr< Region > | other, |
std::vector< boost::shared_ptr< Region > > & | results | ||
) |
Definition at line 860 of file playlist.cc.
|
virtual |
Implements PBD::Stateful.
Definition at line 2184 of file playlist.cc.
XMLNode & Playlist::get_template | ( | ) |
Definition at line 2190 of file playlist.cc.
bool Playlist::has_region_at | ( | framepos_t const | p | ) | const |
Definition at line 2842 of file playlist.cc.
|
inline |
Definition at line 118 of file playlist.h.
|
inlineprotected |
Definition at line 311 of file playlist.h.
|
protected |
Definition at line 297 of file playlist.cc.
void Playlist::lower_region | ( | boost::shared_ptr< Region > | region | ) |
Definition at line 2510 of file playlist.cc.
void Playlist::lower_region_to_bottom | ( | boost::shared_ptr< Region > | region | ) |
Definition at line 2524 of file playlist.cc.
|
static |
Definition at line 67 of file playlist.cc.
|
protected |
Definition at line 2039 of file playlist.cc.
uint32_t Playlist::max_source_level | ( | ) | const |
Definition at line 3202 of file playlist.cc.
uint32_t Playlist::n_regions | ( | ) | const |
Definition at line 2237 of file playlist.cc.
|
protected |
Definition at line 445 of file playlist.cc.
|
protected |
Definition at line 456 of file playlist.cc.
|
protected |
Definition at line 546 of file playlist.cc.
|
protected |
Definition at line 524 of file playlist.cc.
|
protected |
Definition at line 483 of file playlist.cc.
|
protected |
Definition at line 467 of file playlist.cc.
|
protected |
Definition at line 501 of file playlist.cc.
|
protected |
void Playlist::nudge_after | ( | framepos_t | start, |
framecnt_t | distance, | ||
bool | forwards | ||
) |
Definition at line 2531 of file playlist.cc.
void Playlist::partition | ( | framepos_t | start, |
framepos_t | end, | ||
bool | cut = false |
||
) |
Definition at line 871 of file playlist.cc.
|
protected |
Go through each region on the playlist and cut them at start and end, removing the section between start and end if cutting == true. Regions that lie entirely within start and end are always removed.
Definition at line 888 of file playlist.cc.
int Playlist::paste | ( | boost::shared_ptr< Playlist > | other, |
framepos_t | position, | ||
float | times | ||
) |
Definition at line 1211 of file playlist.cc.
|
protected |
Definition at line 1410 of file playlist.cc.
|
protected |
Definition at line 1423 of file playlist.cc.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::AudioPlaylist.
Definition at line 385 of file playlist.h.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::AudioPlaylist.
Definition at line 383 of file playlist.h.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::AudioPlaylist.
Definition at line 389 of file playlist.h.
void Playlist::raise_region | ( | boost::shared_ptr< Region > | region | ) |
Definition at line 2503 of file playlist.cc.
void Playlist::raise_region_to_top | ( | boost::shared_ptr< Region > | region | ) |
Definition at line 2517 of file playlist.cc.
|
virtual |
Reimplemented from PBD::Stateful.
Definition at line 2047 of file playlist.cc.
|
protected |
Definition at line 1530 of file playlist.cc.
boost::shared_ptr< Region > Playlist::region_by_id | ( | const PBD::ID & | id | ) | const |
Definition at line 2646 of file playlist.cc.
|
protectedvirtual |
Reimplemented in ARDOUR::AudioPlaylist.
Definition at line 1602 of file playlist.cc.
|
protected |
Definition at line 1588 of file playlist.cc.
|
protected |
bool Playlist::region_is_shuffle_constrained | ( | boost::shared_ptr< Region > | ) |
Definition at line 2800 of file playlist.cc.
|
inline |
Definition at line 163 of file playlist.h.
uint32_t Playlist::region_use_count | ( | boost::shared_ptr< Region > | r | ) | const |
Definition at line 2608 of file playlist.cc.
boost::shared_ptr< RegionList > Playlist::regions_at | ( | framepos_t | frame | ) |
Definition at line 1705 of file playlist.cc.
boost::shared_ptr< RegionList > Playlist::regions_touched | ( | framepos_t | start, |
framepos_t | end | ||
) |
start | Range start. |
end | Range end. |
Definition at line 1824 of file playlist.cc.
|
protected |
Definition at line 1831 of file playlist.cc.
boost::shared_ptr< RegionList > Playlist::regions_with_end_within | ( | Evoral::Range< framepos_t > | range | ) |
Definition at line 1805 of file playlist.cc.
boost::shared_ptr< RegionList > Playlist::regions_with_start_within | ( | Evoral::Range< framepos_t > | range | ) |
Definition at line 1790 of file playlist.cc.
|
protected |
Take the layering indices of each of our regions, compute the layers that they should be on, and write the layers back to the regions.
Definition at line 2378 of file playlist.cc.
void Playlist::release | ( | ) |
Definition at line 275 of file playlist.cc.
|
protected |
from_undo | true if this release is triggered by the end of an undo on this playlist |
Definition at line 437 of file playlist.cc.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::MidiPlaylist.
Definition at line 356 of file playlist.h.
void Playlist::remove_region | ( | boost::shared_ptr< Region > | region | ) |
Definition at line 789 of file playlist.cc.
void Playlist::remove_region_by_source | ( | boost::shared_ptr< Source > | s | ) |
Remove any region that uses a given source
Definition at line 2856 of file playlist.cc.
|
protected |
Definition at line 796 of file playlist.cc.
void Playlist::replace_region | ( | boost::shared_ptr< Region > | old, |
boost::shared_ptr< Region > | newr, | ||
framepos_t | pos | ||
) |
Definition at line 772 of file playlist.cc.
void Playlist::ripple | ( | framepos_t | at, |
framecnt_t | distance, | ||
RegionList * | exclude | ||
) |
Definition at line 2812 of file playlist.cc.
|
inline |
Definition at line 150 of file playlist.h.
|
protected |
Definition at line 1479 of file playlist.cc.
|
protected |
Definition at line 1488 of file playlist.cc.
void Playlist::set_capture_insertion_in_progress | ( | bool | yn | ) |
Definition at line 3252 of file playlist.cc.
void Playlist::set_edit_mode | ( | EditMode | mode | ) |
Definition at line 2317 of file playlist.cc.
void Playlist::set_frozen | ( | bool | yn | ) |
Definition at line 2680 of file playlist.cc.
void Playlist::set_layer | ( | boost::shared_ptr< Region > | region, |
double | new_layer | ||
) |
Set a new layer for a region. This adjusts the layering indices of all regions in the playlist to put the specified region in the appropriate place. The actual layering will be fixed up when relayer() happens.
Definition at line 2334 of file playlist.cc.
|
virtual |
Reimplemented from ARDOUR::SessionObject.
Definition at line 372 of file playlist.cc.
void Playlist::set_orig_track_id | ( | const PBD::ID & | did | ) |
Definition at line 3215 of file playlist.cc.
void Playlist::set_region_ownership | ( | ) |
Definition at line 725 of file playlist.cc.
|
virtual |
Implements PBD::Stateful.
Reimplemented in ARDOUR::MidiPlaylist, and ARDOUR::AudioPlaylist.
Definition at line 2080 of file playlist.cc.
|
private |
Definition at line 2359 of file playlist.cc.
void Playlist::shift | ( | framepos_t | at, |
frameoffset_t | distance, | ||
bool | move_intersected, | ||
bool | ignore_music_glue | ||
) |
Definition at line 1281 of file playlist.cc.
void Playlist::shuffle | ( | boost::shared_ptr< Region > | region, |
int | dir | ||
) |
Definition at line 2686 of file playlist.cc.
|
inline |
Definition at line 111 of file playlist.h.
|
protected |
|
protected |
Definition at line 1436 of file playlist.cc.
|
protected |
Definition at line 1445 of file playlist.cc.
void Playlist::split | ( | framepos_t | at | ) |
Definition at line 1320 of file playlist.cc.
void Playlist::split_region | ( | boost::shared_ptr< Region > | region, |
framepos_t | position | ||
) |
Definition at line 1334 of file playlist.cc.
|
protectedvirtual |
full_state | true to include regions in the returned state, otherwise false. |
Definition at line 2198 of file playlist.cc.
void Playlist::sync_all_regions_with_regions | ( | ) |
Definition at line 1657 of file playlist.cc.
void Playlist::thaw | ( | bool | from_undo = false | ) |
from_undo | true if this thaw is triggered by the end of an undo on this playlist |
Definition at line 422 of file playlist.cc.
layer_t Playlist::top_layer | ( | ) | const |
Definition at line 2305 of file playlist.cc.
boost::shared_ptr< Region > Playlist::top_region_at | ( | framepos_t | frame | ) |
Definition at line 1727 of file playlist.cc.
boost::shared_ptr< Region > Playlist::top_unmuted_region_at | ( | framepos_t | frame | ) |
Definition at line 1744 of file playlist.cc.
void Playlist::uncombine | ( | boost::shared_ptr< Region > | target | ) |
Definition at line 3028 of file playlist.cc.
void Playlist::update | ( | const RegionListProperty::ChangeRecord & | change | ) |
Definition at line 2061 of file playlist.cc.
void Playlist::update_after_tempo_map_change | ( | ) |
Definition at line 2818 of file playlist.cc.
void Playlist::use | ( | ) |
Definition at line 268 of file playlist.cc.
|
inline |
Definition at line 108 of file playlist.h.
bool Playlist::uses_source | ( | boost::shared_ptr< const Source > | src | ) | const |
Definition at line 2578 of file playlist.cc.
|
friend |
Definition at line 392 of file playlist.h.
|
friend |
Definition at line 393 of file playlist.h.
|
friend |
Definition at line 241 of file playlist.h.
|
protected |
Definition at line 304 of file playlist.h.
|
protected |
Definition at line 307 of file playlist.h.
|
protected |
Definition at line 300 of file playlist.h.
|
private |
Definition at line 401 of file playlist.h.
|
protected |
Definition at line 303 of file playlist.h.
|
protected |
Definition at line 294 of file playlist.h.
|
protected |
Definition at line 298 of file playlist.h.
|
protected |
Definition at line 306 of file playlist.h.
|
protected |
Definition at line 299 of file playlist.h.
|
protected |
Definition at line 296 of file playlist.h.
|
protected |
Definition at line 297 of file playlist.h.
|
protected |
Definition at line 275 of file playlist.h.
|
protected |
Definition at line 295 of file playlist.h.
|
protected |
Definition at line 274 of file playlist.h.
|
protected |
Definition at line 272 of file playlist.h.
|
mutableprotected |
Definition at line 276 of file playlist.h.
PBD::Signal0<void> ARDOUR::Playlist::ContentsChanged |
Definition at line 190 of file playlist.h.
|
protected |
Definition at line 293 of file playlist.h.
|
mutableprotected |
Definition at line 277 of file playlist.h.
|
protected |
Definition at line 301 of file playlist.h.
|
protected |
Definition at line 302 of file playlist.h.
|
protected |
Definition at line 291 of file playlist.h.
|
protected |
Definition at line 292 of file playlist.h.
PBD::Signal1<void,bool> ARDOUR::Playlist::InUse |
Definition at line 189 of file playlist.h.
PBD::Signal0<void> ARDOUR::Playlist::LayeringChanged |
Definition at line 194 of file playlist.h.
PBD::Signal0<void> ARDOUR::Playlist::NameChanged |
Definition at line 193 of file playlist.h.
|
protected |
Definition at line 278 of file playlist.h.
|
protected |
Definition at line 280 of file playlist.h.
|
protected |
Definition at line 281 of file playlist.h.
|
protected |
Definition at line 282 of file playlist.h.
|
protected |
Movements of time ranges caused by region moves; note that region trims are not included in this list; it is used to do automation-follows-regions.
Definition at line 288 of file playlist.h.
|
protected |
Extra sections added to regions during trims
Definition at line 290 of file playlist.h.
|
protected |
Definition at line 279 of file playlist.h.
PBD::Signal2<void,std::list< Evoral::RangeMove<framepos_t> > const &, bool> ARDOUR::Playlist::RangesMoved |
Emitted when regions have moved (not when regions have only been trimmed)
Definition at line 197 of file playlist.h.
|
mutableprivate |
Definition at line 394 of file playlist.h.
|
protected |
Definition at line 273 of file playlist.h.
PBD::Signal1<void,boost::weak_ptr<Region> > ARDOUR::Playlist::RegionAdded |
Definition at line 191 of file playlist.h.
PBD::Signal1<void,boost::weak_ptr<Region> > ARDOUR::Playlist::RegionRemoved |
Definition at line 192 of file playlist.h.
|
protected |
Definition at line 271 of file playlist.h.
PBD::Signal1<void,std::list< Evoral::Range<framepos_t> > const &> ARDOUR::Playlist::RegionsExtended |
Emitted when regions are extended; the ranges passed are the new extra time ranges that these regions now occupy.
Definition at line 202 of file playlist.h.
|
protected |
Definition at line 305 of file playlist.h.