summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-03-19 05:27:17 +0100
committerRobin Gareus <robin@gareus.org>2019-03-19 05:27:30 +0100
commit1f7db603891281c8ce426d7e400a132420a4af5b (patch)
tree112f6f8299e3b3a456e7d22053d9be3c5448284f
parentc09c7bab525a63eda1d8a05228160f56b1c94683 (diff)
Add convenience methods (mainly for scripting)
-rw-r--r--libs/ardour/ardour/session_playlists.h2
-rw-r--r--libs/ardour/session_playlists.cc28
2 files changed, 30 insertions, 0 deletions
diff --git a/libs/ardour/ardour/session_playlists.h b/libs/ardour/ardour/session_playlists.h
index 66f4f2c537..226680f6eb 100644
--- a/libs/ardour/ardour/session_playlists.h
+++ b/libs/ardour/ardour/session_playlists.h
@@ -61,6 +61,8 @@ public:
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;
+ std::vector<boost::shared_ptr<Playlist> > get_used () const;
+ std::vector<boost::shared_ptr<Playlist> > get_unused () const;
uint32_t n_playlists() const;
private:
diff --git a/libs/ardour/session_playlists.cc b/libs/ardour/session_playlists.cc
index 2f66cd61b2..d0468b981e 100644
--- a/libs/ardour/session_playlists.cc
+++ b/libs/ardour/session_playlists.cc
@@ -521,6 +521,34 @@ SessionPlaylists::region_use_count (boost::shared_ptr<Region> region) const
return cnt;
}
+vector<boost::shared_ptr<Playlist> >
+SessionPlaylists::get_used () const
+{
+ vector<boost::shared_ptr<Playlist> > pl;
+
+ Glib::Threads::Mutex::Lock lm (lock);
+
+ for (List::const_iterator i = playlists.begin(); i != playlists.end(); ++i) {
+ pl.push_back (*i);
+ }
+
+ return pl;
+}
+
+vector<boost::shared_ptr<Playlist> >
+SessionPlaylists::get_unused () const
+{
+ vector<boost::shared_ptr<Playlist> > pl;
+
+ Glib::Threads::Mutex::Lock lm (lock);
+
+ for (List::const_iterator i = unused_playlists.begin(); i != unused_playlists.end(); ++i) {
+ pl.push_back (*i);
+ }
+
+ return pl;
+}
+
/** @return list of Playlists that are associated with a track */
vector<boost::shared_ptr<Playlist> >
SessionPlaylists::playlists_for_track (boost::shared_ptr<Track> tr) const