MCU: hide phase/solo controls for master

This commit is contained in:
Franke Burgarino 2025-08-20 10:29:49 -05:00
parent 28c8dbf128
commit 8bfd8de2f6

View file

@ -880,38 +880,45 @@ void TrackViewSubview::setup_vpot(
} }
break; break;
case 2: case 2:
pc = _subview_stripable->solo_isolate_control (); if (!_subview_stripable->is_master()) {
if (pc) { pc = _subview_stripable->solo_isolate_control ();
pc->Changed.connect (_subview_connections, MISSING_INVALIDATOR, std::bind (&TrackViewSubview::notify_change, this, SoloIsolateAutomation, global_strip_position, false), ui_context()); if (pc) {
notify_change (SoloIsolateAutomation, global_strip_position, true); pc->Changed.connect (_subview_connections, MISSING_INVALIDATOR, std::bind (&TrackViewSubview::notify_change, this, SoloIsolateAutomation, global_strip_position, false), ui_context());
pending_display[0] = "S-Iso"; notify_change (SoloIsolateAutomation, global_strip_position, true);
pending_display[0] = "S-Iso";
}
} }
break; break;
case 3: case 3:
pc = _subview_stripable->solo_safe_control (); if (!_subview_stripable->is_master()) {
if (pc) { pc = _subview_stripable->solo_safe_control ();
pc->Changed.connect (_subview_connections, MISSING_INVALIDATOR, std::bind (&TrackViewSubview::notify_change, this, SoloSafeAutomation, global_strip_position, false), ui_context()); if (pc) {
notify_change (SoloSafeAutomation, global_strip_position, true); pc->Changed.connect (_subview_connections, MISSING_INVALIDATOR, std::bind (&TrackViewSubview::notify_change, this, SoloSafeAutomation, global_strip_position, false), ui_context());
pending_display[0] = "S-Safe"; notify_change (SoloSafeAutomation, global_strip_position, true);
pending_display[0] = "S-Safe";
}
} }
break; break;
case 4: case 4:
pc = _subview_stripable->phase_control(); if (!_subview_stripable->is_master()) {
if (pc) { pc = _subview_stripable->phase_control();
pc->Changed.connect (_subview_connections, MISSING_INVALIDATOR, std::bind (&TrackViewSubview::notify_change, this, PhaseAutomation, global_strip_position, false), ui_context()); if (pc) {
notify_change (PhaseAutomation, global_strip_position, true); pc->Changed.connect (_subview_connections, MISSING_INVALIDATOR, std::bind (&TrackViewSubview::notify_change, this, PhaseAutomation, global_strip_position, false), ui_context());
pending_display[0] = "Phase"; notify_change (PhaseAutomation, global_strip_position, true);
pending_display[0] = "Phase";
}
} }
break; break;
} }
if (!pc) { if (!pc) {
vpot->set_control (std::shared_ptr<AutomationControl>());
pending_display[0] = std::string(); pending_display[0] = std::string();
pending_display[1] = std::string(); pending_display[1] = std::string();
return; return;
} else {
vpot->set_control (pc);
} }
vpot->set_control (pc);
} }
void void