Commit fda0a9aa by PLN (Algolia)

midiviz: a fader at zero silences that orbit's HL

PLN: 'dont HL when d1-d12 controls are at zero volume (so D1 at 0 kills
d1 HLs, A1 at 0 kills d9, etc)'. A trigger the mix cannot hear is not a
picture the lens should paint. Only a KNOWN zero gates — a fader never
touched is unknown, not silent. Existing glow decays naturally instead of
vanishing mid-note.
parent 38cbedb1
......@@ -1185,6 +1185,10 @@ def build_widget(port_label: str, reader: "Reader | None", scale: float = 1.0,
self.hl = hl
self.hl_t: dict[int, float] = {}
self._hl_cells_cache: dict[int, list[int]] = {}
# orbit -> its level fader's CC (D1-D8 for d1-d8, A1-A4 for
# d9-d12), for the zero-volume HL gate above.
self._level_cc = {o: grid.orbit_home(o).get("level")
for o in range(1, 15)}
self.wave = False # the ParVagues wave, behind all
self.word = False # …and the PARVAGUES lettering
self._wave_pm: QtGui.QPixmap | None = None
......@@ -1664,6 +1668,16 @@ def build_widget(port_label: str, reader: "Reader | None", scale: float = 1.0,
self._bucket_n += len(evs)
for ev in evs:
o = ev["orbit"]
# PLN, 2026-09-24: "dont HL when d1-d12 controls are at zero
# volume (so D1 at 0 kills d1 HLs, A1 at 0 kills d9, etc)".
# A trigger the mix cannot hear is not a picture the lens
# should paint. Only a KNOWN zero suppresses — a fader never
# touched on the surface is unknown, not silent, and stays lit.
lvl = self._level_cc.get(o)
if lvl is not None:
st = self.cc.get(lvl)
if st is not None and st[0] == 0:
continue
if 1 <= o <= 8:
self.col_t[o] = now
for cc in self._hl_cells(o):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment