summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/session_playlists.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-28 15:05:48 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-06-28 15:05:56 -0400
commit54d5f36311d041ce3d5fa3e6ed14fde30bcb70b7 (patch)
tree8bb084f1feea765dd33de4ace30c0c1030da40fc /libs/ardour/ardour/session_playlists.h
parentdbb26485df31bbf3bd0aeb83e3e01d42e25fbd07 (diff)
changes in logic used by source cleanup to avoid endless recursion in sessions with deeply nested/recursive compound regions.
This also fixes some potentially dangerous cleanup logic related to two sources with the same name (but different paths)
Diffstat (limited to 'libs/ardour/ardour/session_playlists.h')
-rw-r--r--libs/ardour/ardour/session_playlists.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/ardour/ardour/session_playlists.h b/libs/ardour/ardour/session_playlists.h
index e7ad1624dd..cc6d301b31 100644
--- a/libs/ardour/ardour/session_playlists.h
+++ b/libs/ardour/ardour/session_playlists.h
@@ -54,12 +54,14 @@ public:
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 foreach (boost::function<void(boost::shared_ptr<const Playlist>)> functor);
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;
+ uint32_t n_playlists() const;
private:
friend class Session;
@@ -69,7 +71,6 @@ private:
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);