The LTC write happens by itself: READY fixes ticked for auto-fix act on the checklist, any hour for ready_ltc
Auto-fix now looks at the READY page's keys too, for the READY fixes ticked under Settings > Auto-fix, and acts on a checklist gap while it is still amber. A fix marked anytime (only a READY fix may be) runs outside the auto-fix hours as well, never while ALARMS is muted; the window's own fixes keep their hours and start fresh each window. ready_ltc is ticked and marked anytime at North Attleboro: once the weekend's set is on Tracks, every song's timecode goes into all four campuses' plans. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -218,6 +218,7 @@ field("fixes.*.reconnect", "bool", False, "Reconnect the Companion connection af
|
||||
field("fixes.*.conn", "str", None, "The Companion connection it reconnects.", "Fixes")
|
||||
field("fixes.*.restart_ok", "bool", False, "May close a running program (and still run by itself).", "Fixes")
|
||||
field("fixes.*.never_auto", "bool", False, "Never runs by itself.", "Fixes")
|
||||
field("fixes.*.anytime", "bool", False, "Ticked for auto-fix, runs by itself at any hour, not only in the auto-fix hours (a READY fix that only writes to Planning Center).", "Fixes")
|
||||
field("fixes.*.part", "enum", None, "Which part of the switcher.", "Fixes", options=["audio", "camera"])
|
||||
field("fixes.*.verify_seconds", "int", 20, "Wait this long before judging a reconnect.", "Fixes", advanced=True,
|
||||
lo=5, hi=120)
|
||||
@@ -669,10 +670,14 @@ def validate(cfg, live=None):
|
||||
errors.append("%s: a Companion button needs its page, row and column" % where)
|
||||
if fix.get("failover") and fix.get("never_auto"):
|
||||
errors.append("%s: is a failover (runs by itself) and marked never to run by itself - one or the other" % where)
|
||||
if fix.get("anytime") and kind != "ready":
|
||||
errors.append("%s: only a READY page fix may run at any hour (anytime)" % where)
|
||||
if fix.get("anytime") and fix.get("never_auto"):
|
||||
errors.append("%s: runs at any hour (anytime) and never by itself - one or the other" % where)
|
||||
if fix.get("undo") and fix["undo"] not in fixes:
|
||||
errors.append("%s: the fix that switches back (undo) is unknown: %s" % (where, fix["undo"]))
|
||||
for k in fix:
|
||||
if k not in FIX_KIND_FIELDS.get(kind, []) and k not in ("kind", "short", "label", "restart_ok", "never_auto", "disabled",
|
||||
if k not in FIX_KIND_FIELDS.get(kind, []) and k not in ("kind", "short", "label", "restart_ok", "never_auto", "anytime", "disabled",
|
||||
"template", "params", "timeout", "failover", "undo"):
|
||||
warnings.append("%s: %s is not a field of a %s fix" % (where, k, kind))
|
||||
named = set()
|
||||
|
||||
Reference in New Issue
Block a user