summaryrefslogtreecommitdiff
path: root/libs/ardour/region.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/region.cc
parent11e50fe0c5f441f8d017529a62ac4c8eeb6403c2 (diff)
SoloSelection: libardour part.
Diffstat (limited to 'libs/ardour/region.cc')
-rw-r--r--libs/ardour/region.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc
index 37244c0634..fd7a693128 100644
--- a/libs/ardour/region.cc
+++ b/libs/ardour/region.cc
@@ -216,6 +216,7 @@ Region::register_properties ()
, _transients (other->_transients) \
, _transient_analysis_start (other->_transient_analysis_start) \
, _transient_analysis_end (other->_transient_analysis_end) \
+ , _soloSelected (false) \
, _muted (Properties::muted, other->_muted) \
, _opaque (Properties::opaque, other->_opaque) \
, _locked (Properties::locked, other->_locked) \
@@ -439,6 +440,25 @@ Region::set_name (const std::string& str)
}
void
+Region::set_selected_for_solo(bool yn)
+{
+ if ( _soloSelected != yn) {
+
+ boost::shared_ptr<Playlist> pl (playlist());
+ if (pl){
+ if (yn) {
+ pl->AddToSoloSelectedList(this);
+ } else {
+ pl->RemoveFromSoloSelectedList(this);
+ }
+ }
+
+ _soloSelected = yn;
+ }
+
+}
+
+void
Region::set_length (samplecnt_t len, const int32_t sub_num)
{
//cerr << "Region::set_length() len = " << len << endl;