summaryrefslogtreecommitdiff
path: root/libs/ardour/playlist.cc
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2018-02-11 09:39:36 -0600
committerBen Loftis <ben@harrisonconsoles.com>2018-02-11 09:39:36 -0600
commite6da4c4846cd3097e2393f0e43016b870e7cf592 (patch)
treef54b4f56ab2b39a4c91bb5e6e0141031b8731566 /libs/ardour/playlist.cc
parent11e50fe0c5f441f8d017529a62ac4c8eeb6403c2 (diff)
SoloSelection: libardour part.
Diffstat (limited to 'libs/ardour/playlist.cc')
-rw-r--r--libs/ardour/playlist.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc
index b93ac55326..c3b91f3f45 100644
--- a/libs/ardour/playlist.cc
+++ b/libs/ardour/playlist.cc
@@ -1517,6 +1517,35 @@ Playlist::duplicate_ranges (std::list<AudioRange>& ranges, float times)
_splicing = old_sp;
}
+void
+Playlist::AddToSoloSelectedList(const Region* r)
+{
+ _soloSelectedRegions.insert (r);
+}
+
+
+void
+Playlist::RemoveFromSoloSelectedList(const Region* r)
+{
+ _soloSelectedRegions.erase (r);
+}
+
+
+bool
+Playlist::SoloSelectedListIncludes(const Region* r)
+{
+ std::set<const Region*>::iterator i = _soloSelectedRegions.find(r);
+
+ return ( i != _soloSelectedRegions.end() );
+}
+
+bool
+Playlist::SoloSelectedActive()
+{
+ return !_soloSelectedRegions.empty();
+}
+
+
void
Playlist::possibly_splice (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude)
{