boost::shared_ptr<Playlist> copy (std::list<AudioRange>&, bool result_is_hidden = true);
int paste (boost::shared_ptr<Playlist>, framepos_t position, float times);
- const RegionListProperty& region_list () const { return regions; }
+ const RegionListProperty& region_list_property () const { return regions; }
+ boost::shared_ptr<RegionList> region_list();
boost::shared_ptr<RegionList> regions_at (framepos_t frame);
uint32_t count_regions_at (framepos_t) const;
boost::shared_ptr<Region> rp;
{
- const RegionList& rl (_playlist->region_list().rlist());
+ const RegionList& rl (_playlist->region_list_property().rlist());
if (rl.size() > 0) {
assert((rl.size() == 1));
rp = rl.front();
boost::shared_ptr<Region> first;
{
- const RegionList& rl (_playlist->region_list().rlist());
+ const RegionList& rl (_playlist->region_list_property().rlist());
assert((rl.size() == 1));
first = rl.front();
return 1;
}
- boost::shared_ptr<Region> r = _playlist->region_list().front ();
+ boost::shared_ptr<Region> r = _playlist->region_list_property().front ();
boost::shared_ptr<AudioRegion> ar = boost::dynamic_pointer_cast<AudioRegion> (r);
return ar->audio_source()->n_channels ();
_session.frame_rate ();
}
- boost::shared_ptr<Region> r = _playlist->region_list().front ();
+ boost::shared_ptr<Region> r = _playlist->region_list_property().front ();
boost::shared_ptr<AudioRegion> ar = boost::dynamic_pointer_cast<AudioRegion> (r);
return ar->audio_source()->sample_rate ();
.addFunction ("data_type", &Playlist::data_type)
.addFunction ("n_regions", &Playlist::n_regions)
//.addFunction ("get_extent", &Playlist::get_extent) // pair<framepos_t, framepos_t>
- //.addFunction ("region_list", &Playlist::region_list) // RegionListProperty&
+ .addFunction ("region_list", &Playlist::region_list)
.addFunction ("add_region", &Playlist::add_region)
.addFunction ("remove_region", &Playlist::remove_region)
.addFunction ("regions_at", &Playlist::regions_at)
FINDING THINGS
**********************************************************************/
+boost::shared_ptr<RegionList>
+Playlist::region_list() {
+ RegionReadLock rlock (this);
+ boost::shared_ptr<RegionList> rlist (new RegionList (regions.rlist ()));
+ return rlist;
+}
+
boost::shared_ptr<RegionList>
Playlist::regions_at (framepos_t frame)
{
// (2) get all the original regions
- const RegionList& rl (pl->region_list().rlist());
+ const RegionList& rl (pl->region_list_property().rlist());
RegionFactory::CompoundAssociations& cassocs (RegionFactory::compound_associations());
frameoffset_t move_offset = 0;