summaryrefslogtreecommitdiff
path: root/libs/ardour/mute_master.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-05-20 01:30:35 +0000
committerCarl Hetherington <carl@carlh.net>2010-05-20 01:30:35 +0000
commit84a801a7913714a2284f1142cb9bb3a335dd1a7e (patch)
treed37d6f8c4f074b6951c1a2fda71cd1148328695c /libs/ardour/mute_master.cc
parented74a898202e006f9d041cd748c89a9001f095ef (diff)
A few cleanups and rearrangements in the RC options. Add options for default mute-affects-* settings, and make routes obey them.
git-svn-id: svn://localhost/ardour2/branches/3.0@7122 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/mute_master.cc')
-rw-r--r--libs/ardour/mute_master.cc25
1 files changed, 18 insertions, 7 deletions
diff --git a/libs/ardour/mute_master.cc b/libs/ardour/mute_master.cc
index 9a95e70a11..5a261fb44f 100644
--- a/libs/ardour/mute_master.cc
+++ b/libs/ardour/mute_master.cc
@@ -30,18 +30,29 @@
using namespace ARDOUR;
using namespace std;
-const MuteMaster::MutePoint MuteMaster::AllPoints = MutePoint (MuteMaster::PreFader|
- MuteMaster::PostFader|
- MuteMaster::Listen|
- MuteMaster::Main);
-
MuteMaster::MuteMaster (Session& s, const std::string&)
- : SessionHandleRef (s)
- , _mute_point (AllPoints)
+ : SessionHandleRef (s)
+ , _mute_point (MutePoint (0))
, _muted_by_self (false)
, _soloed (false)
, _solo_ignore (false)
{
+
+ if (Config->get_mute_affects_pre_fader ()) {
+ _mute_point = MutePoint (_mute_point | PreFader);
+ }
+
+ if (Config->get_mute_affects_post_fader ()) {
+ _mute_point = MutePoint (_mute_point | PostFader);
+ }
+
+ if (Config->get_mute_affects_control_outs ()) {
+ _mute_point = MutePoint (_mute_point | Listen);
+ }
+
+ if (Config->get_mute_affects_main_outs ()) {
+ _mute_point = MutePoint (_mute_point | Main);
+ }
}
void