NA: ARENA moved to the Restart page, AUTO-FIX in its place; SC: Midi-Lighting connection watched

- a key whose fix sits on the Restart page is not warned about as unseen (its checks still feed ALL and auto-fix)
- SC LIGHTS set to operator, as its checklist says (Lighting disconnected for the lighting op)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-21 13:46:23 -04:00
co-authored by Claude Opus 5.5
parent 7068244ba4
commit 5007d3d85e
3 changed files with 33 additions and 5 deletions
+22 -5
View File
@@ -1340,6 +1340,18 @@
"watch": [ "watch": [
"conn:tascam" "conn:tascam"
] ]
},
{
"id": "rs_arena",
"label": "ARENA",
"fix": "arena",
"pos": [
1,
5
],
"watch": [
"conn:arena"
]
} }
], ],
"page": 20, "page": 20,
@@ -2164,11 +2176,7 @@
} }
], ],
"id": "arena", "id": "arena",
"label": "ARENA", "label": "ARENA"
"pos": [
3,
7
]
}, },
{ {
"checks": [ "checks": [
@@ -2271,6 +2279,15 @@
], ],
"id": "psm3", "id": "psm3",
"label": "PSM 3" "label": "PSM 3"
},
{
"id": "autofix",
"label": "AUTO-FIX",
"kind": "autofix",
"pos": [
3,
7
]
} }
], ],
"timing": { "timing": {
+7
View File
@@ -657,7 +657,14 @@ def validate(cfg, live=None):
if m == t.get("id"): if m == t.get("id"):
errors.append("key %s: is its own member" % t.get("id")) errors.append("key %s: is its own member" % t.get("id"))
in_group = {m for t in cfg["tiles"] for m in t.get("members", [])} in_group = {m for t in cfg["tiles"] for m in t.get("members", [])}
# A key moved to the Restart page (NA's ARENA, 2026-10-21): its checks still feed ALL and auto-fix,
# and the Restart key watching it flashes, so it is seen.
rk = (cfg.get("restart_page") or {}).get("keys") or []
on_restart = {f for k in rk for f in [k.get("fix")] + list(k.get("watch") or [])}
for t in cfg["tiles"]: for t in cfg["tiles"]:
fixes_of = {c.get("fix") for c in t.get("checks", []) if isinstance(c.get("fix"), str)} | {"conn:" + c["conn"] for c in t.get("checks", []) if c.get("conn")}
if fixes_of & on_restart:
continue
if "pos" not in t and "members" not in t and t.get("id") not in in_group and t.get("kind") != "master": if "pos" not in t and "members" not in t and t.get("id") not in in_group and t.get("kind") != "master":
warnings.append("key %s has no place on the deck and is in no group: nobody will see it" % t.get("id")) warnings.append("key %s has no place on the deck and is in no group: nobody will see it" % t.get("id"))
if kinds["master"] != 1: if kinds["master"] != 1:
+4
View File
@@ -199,6 +199,10 @@
"id": "midi", "id": "midi",
"label": "MIDI", "label": "MIDI",
"checks": [ "checks": [
{
"type": "conn",
"conn": "Midi-Lighting"
},
{ {
"type": "midi_peer", "type": "midi_peer",
"session": "ProPresenter", "session": "ProPresenter",