MCU: clear pot LEDs when pot is empty

This commit is contained in:
Franke Burgarino 2025-08-26 12:22:02 -05:00 committed by Edgar Aichinger
parent 6ff013346a
commit 1a6d7b443c
2 changed files with 9 additions and 1 deletions

View file

@ -1280,7 +1280,7 @@ Strip::subview_mode_changed ()
/* need to show strip name again */ /* need to show strip name again */
show_stripable_name (); show_stripable_name ();
if (!_stripable) { if (!_stripable) {
_surface->write (_vpot->set (0, true, Pot::wrap)); _surface->write (_vpot->set (0, false, Pot::wrap));
_surface->write (_fader->set_position (0.0)); _surface->write (_fader->set_position (0.0));
} }
notify_metering_state_changed (); notify_metering_state_changed ();

View file

@ -377,6 +377,7 @@ void EQSubview::setup_vpot(
vpot->set_control (std::shared_ptr<AutomationControl>()); 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();
strip->surface()->write (vpot->set (0, false, Pot::wrap));
return; return;
} }
@ -400,6 +401,7 @@ void EQSubview::setup_vpot(
vpot->set_control (std::shared_ptr<AutomationControl>()); 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();
strip->surface()->write (vpot->set (0, false, Pot::wrap));
} }
notify_change (std::weak_ptr<AutomationControl>(pc), global_strip_position, true); notify_change (std::weak_ptr<AutomationControl>(pc), global_strip_position, true);
@ -562,6 +564,7 @@ void DynamicsSubview::setup_vpot(
vpot->set_control (std::shared_ptr<AutomationControl>()); 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();
strip->surface()->write (vpot->set (0, false, Pot::wrap));
return; return;
} }
@ -684,6 +687,7 @@ void SendsSubview::setup_vpot(
vpot->set_control (std::shared_ptr<AutomationControl>()); 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();
strip->surface()->write (vpot->set (0, false, Pot::wrap));
return; return;
} }
@ -850,6 +854,7 @@ void TrackViewSubview::setup_vpot(
vpot->set_control (std::shared_ptr<AutomationControl>()); 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();
strip->surface()->write (vpot->set (0, false, Pot::wrap));
return; return;
} }
@ -915,6 +920,7 @@ void TrackViewSubview::setup_vpot(
vpot->set_control (std::shared_ptr<AutomationControl>()); 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();
strip->surface()->write (vpot->set (0, false, Pot::wrap));
return; return;
} else { } else {
vpot->set_control (pc); vpot->set_control (pc);
@ -1148,6 +1154,7 @@ void PluginSelect::setup_vpot(
pending_display[0] = ""; pending_display[0] = "";
pending_display[1] = ""; pending_display[1] = "";
} }
strip->surface()->write (vpot->set (0, false, Pot::wrap));
} }
void PluginSelect::handle_vselect_event(uint32_t global_strip_position, void PluginSelect::handle_vselect_event(uint32_t global_strip_position,
@ -1312,6 +1319,7 @@ void PluginEdit::setup_vpot(
vpot->set_control (std::shared_ptr<AutomationControl>()); 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();
strip->surface()->write (vpot->set (0, false, Pot::wrap));
return; return;
} }