13
0

synchronize preferences and monitor-section

This commit is contained in:
Robin Gareus 2014-11-18 03:49:20 +01:00
parent 5e90b97c42
commit 37937d9c69
2 changed files with 18 additions and 0 deletions

View File

@ -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 ())
}
}

View File

@ -3497,6 +3497,8 @@ Session::config_changed (std::string p, bool ours)
listen_position_changed ();
} else if (p == "solo-control-is-listen-control") {
solo_control_mode_changed ();
} else if (p == "solo-mute-gain") {
_solo_cut_control->Changed();
} else if (p == "timecode-offset" || p == "timecode-offset-negative") {
last_timecode_valid = false;
} else if (p == "playback-buffer-seconds") {