diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-21 19:33:09 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-21 19:33:09 +0000 |
commit | 7fdfa981b59537352dde099401a62536f99148e7 (patch) | |
tree | c8c6bb69776dea77aea8cea7c3519010c19feb99 /libs/ardour | |
parent | 3ef1fe249318d5f4331ac4187ea07b9ec5863c60 (diff) |
get "solo safe" back in action again
git-svn-id: svn://localhost/ardour2/branches/3.0@6149 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/route.h | 5 | ||||
-rw-r--r-- | libs/ardour/route.cc | 15 |
2 files changed, 19 insertions, 1 deletions
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index db67cab17b..e3c3a370a9 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -129,14 +129,17 @@ class Route : public SessionObject, public AutomatableControls */ void set_solo (bool yn, void *src); + bool soloed () const {return self_soloed () || soloed_by_others (); } bool soloed_by_others () const { return !_solo_isolated && _soloed_by_others; } bool self_soloed () const { return _self_solo; } - bool soloed () const {return self_soloed () || soloed_by_others (); } void set_solo_isolated (bool yn, void *src); bool solo_isolated() const; + void set_solo_safe (bool yn, void *src); + bool solo_safe() const; + void set_listen (bool yn, void* src); bool listening () const; diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 372e9ade68..6941b537f3 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -522,6 +522,21 @@ Route::listening () const } void +Route::set_solo_safe (bool yn, void *src) +{ + if (_solo_safe != yn) { + _solo_safe = yn; + solo_safe_changed (src); + } +} + +bool +Route::solo_safe() const +{ + return _solo_safe; +} + +void Route::set_solo (bool yn, void *src) { if (_solo_safe) { |