diff options
author | Carl Hetherington <carl@carlh.net> | 2011-11-16 17:40:16 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-11-16 17:40:16 +0000 |
commit | 86d927b4ddbcedd1d6c120b1176aaef7352773cd (patch) | |
tree | aa9abf17ee285d8234d3e4ef17e5ce14283d95b1 /libs/ardour/route.cc | |
parent | 7496295930dcc321b70a522655339d90c2939f32 (diff) |
Make activate/deactivate all only operate on visible
processors (and also exclude the fader) (#4475).
git-svn-id: svn://localhost/ardour2/branches/3.0@10649 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 070c6b61b9..8aebaf2664 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1625,12 +1625,11 @@ Route::configure_processors_unlocked (ProcessorStreams* err) return 0; } -/** Set all processors with a given placement to a given active state. - * @param p Placement of processors to change. - * @param state New active state for those processors. +/** Set all visible processors to a given active state (except Fader, whose state is not changed) + * @param state New active state for those processors. */ void -Route::all_processors_active (Placement p, bool state) +Route::all_visible_processors_active (bool state) { Glib::RWLock::ReaderLock lm (_processor_lock); @@ -1638,10 +1637,11 @@ Route::all_processors_active (Placement p, bool state) return; } - ProcessorList::iterator start, end; - placement_range(p, start, end); - - for (ProcessorList::iterator i = start; i != end; ++i) { + for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) { + if (!(*i)->display_to_user() || boost::dynamic_pointer_cast<Amp> (*i)) { + continue; + } + if (state) { (*i)->activate (); } else { |