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:
+22
-5
@@ -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": {
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user