diff options
author | Robin Gareus <robin@gareus.org> | 2014-11-18 03:49:20 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-11-18 03:49:20 +0100 |
commit | 37937d9c698e5fe9ce0f1857f3256dead43f3ebc (patch) | |
tree | 2e9fcd6f187102eedecf028e71d9d30e1a348606 /gtk2_ardour/monitor_section.cc | |
parent | 5e90b97c428664779fe51d3a5171d1d4718ba800 (diff) |
synchronize preferences and monitor-section
Diffstat (limited to 'gtk2_ardour/monitor_section.cc')
-rw-r--r-- | gtk2_ardour/monitor_section.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc index d92b9e96a3..483933ec5d 100644 --- a/gtk2_ardour/monitor_section.cc +++ b/gtk2_ardour/monitor_section.cc @@ -1068,6 +1068,14 @@ MonitorSection::cancel_audition (GdkEventButton*) return true; } +#define SYNCHRONIZE_TOGGLE_ACTION(action, value) \ + if (action) { \ + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(action); \ + if (tact && tact->get_active() != value) { \ + tact->set_active(value); \ + } \ + } + void MonitorSection::parameter_changed (std::string name) { @@ -1075,6 +1083,14 @@ MonitorSection::parameter_changed (std::string name) update_solo_model (); } else if (name == "listen-position") { update_solo_model (); + } else if (name == "solo-mute-override") { + SYNCHRONIZE_TOGGLE_ACTION( + ActionManager::get_action (X_("Monitor"), "toggle-mute-overrides-solo"), + Config->get_solo_mute_override ()) + } else if (name == "exclusive-solo") { + SYNCHRONIZE_TOGGLE_ACTION( + ActionManager::get_action (X_("Monitor"), "toggle-exclusive-solo"), + Config->get_exclusive_solo ()) } } |