diff --git a/libs/ardour/mixer_scene.cc b/libs/ardour/mixer_scene.cc index 1899b7380f..5ca7928459 100644 --- a/libs/ardour/mixer_scene.cc +++ b/libs/ardour/mixer_scene.cc @@ -67,7 +67,9 @@ MixerScene::snapshot () if (!std::dynamic_pointer_cast (c)) { continue; } - if (c->flags () & Controllable::HiddenControl) { + if (std::dynamic_pointer_cast (c)) { + } + if (c->flags () & Controllable::Flag (Controllable::HiddenControl | Controllable::MonitorControl)) { continue; } _ctrl_map[c->id ()] = c->get_save_value (); diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index cf574b2a66..8cba924ed6 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -226,6 +226,8 @@ Route::init () if (is_monitor ()) { _amp->set_display_name (_("Monitor")); + _gain_control->set_flag (Controllable::MonitorControl); + _trim_control->set_flag (Controllable::MonitorControl); } if (!is_singleton () && !is_auditioner ()) { diff --git a/libs/pbd/pbd/controllable.h b/libs/pbd/pbd/controllable.h index 64538f8b95..fe95932c8b 100644 --- a/libs/pbd/pbd/controllable.h +++ b/libs/pbd/pbd/controllable.h @@ -79,6 +79,7 @@ public: NotAutomatable = 0x08, InlineControl = 0x10, HiddenControl = 0x20, + MonitorControl = 0x40, }; Controllable (const std::string& name, Flag f = Flag (0));