diff options
Diffstat (limited to 'libs/ardour/region.cc')
-rw-r--r-- | libs/ardour/region.cc | 20 |
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; |