READY page: the weekly worship checklist, checked against Planning Center

- readiness.py looks every 2 minutes (never while a HyperDeck records) at this weekend's PCO plan
  and what is in place for it: the Ableton set (songs, mix, routing, lighting cues), ProPresenter
  (every PCO item, MC announcements, baptism names, timelines, backgrounds), the LTC note of every
  song against the timecode the tracks play, the Band Lineup TV, Resolume's LED cross, and the
  tracks and ProP bundles for the locations.
- READY key on the Status page (row 2, col 7; SPOTIFY now shows inside SHOW) opens page 24.
  Amber until done, blinking red from Saturday noon; not part of ALL. Tap keys for BOH mix,
  mics and stage reset every Monday.
- Holds fix what can be fixed: re-sync the lineup, put the cross back up, write LTC into PCO,
  copy tracks to locations, look again. Hold READY fixes everything.
- Settings page: a READY page tab (live keys, drag to move, why each key is amber), and Apply
  re-imports page 24.
- Auto-fix: "while_muted" fixes keep running with ALARMS muted (Spotify playlist).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-14 20:28:43 -04:00
co-authored by Claude Opus 5.5
parent 9b33abb570
commit d5ede0c91e
15 changed files with 2392 additions and 68 deletions
+370
View File
@@ -751,6 +751,37 @@
"template": "hyperdeck",
"params": {}
},
"ready_recheck": {
"kind": "ready",
"action": "recheck",
"short": "CHECK",
"label": "look at this weekend's checklist again now"
},
"ready_lineup": {
"kind": "ready",
"action": "lineup_sync",
"short": "LINEUP",
"label": "re-sync the Band Lineup board from Planning Center"
},
"ready_led_cross": {
"kind": "ready",
"action": "led_cross",
"short": "CROSS",
"label": "put Resolume back on the Service deck and play the cross background again"
},
"ready_copy_tracks": {
"kind": "ready",
"action": "copy_tracks",
"short": "COPY",
"never_auto": true,
"label": "copy this weekend's Ableton project to the locations that do not have it yet"
},
"ready_ltc": {
"kind": "ready",
"action": "ltc_to_pco",
"short": "LTC",
"label": "write each song's timecode from the tracks into its LTC note in Planning Center"
},
"tascam_power": {
"kind": "local",
"template": "outlet_cycle",
@@ -815,6 +846,9 @@
"atem_camera",
"atem_midi",
"spotify_play"
],
"while_muted": [
"spotify_play"
]
},
"restart_page": {
@@ -961,6 +995,342 @@
}
]
},
"ready_page": {
"page": 24,
"page_name": "24\\nReady",
"back_pos": [
3,
0
],
"keys": [
{
"id": "rd_tracks",
"label": "TRACKS",
"pos": [
0,
1
],
"checks": [
{
"type": "ready",
"item": "tracks",
"fix": "ready_recheck"
}
]
},
{
"id": "rd_foh",
"label": "FOH MIX",
"pos": [
0,
2
],
"checks": [
{
"type": "ready",
"item": "mix_foh",
"fix": "ready_recheck"
}
]
},
{
"id": "rd_boh",
"label": "BOH MIX",
"pos": [
0,
3
],
"checks": [
{
"type": "ready_manual",
"item": "mix_boh"
}
]
},
{
"id": "rd_lights",
"label": "LIGHTS",
"pos": [
0,
4
],
"checks": [
{
"type": "ready",
"item": "lights",
"fix": "ready_recheck"
}
]
},
{
"id": "rd_midi",
"label": "MIDI",
"pos": [
0,
5
],
"checks": [
{
"type": "midi_peer",
"host": "tracks",
"session": "NA Tracks",
"peer": "Lighting PC",
"tag": "FX LIGHTS",
"fix": "midi_reconnect",
"address": "10.1.10.206:5004"
},
{
"type": "midi_peer",
"host": "tracks",
"session": "NA Tracks",
"peer": "SuperRack-LiveBox",
"tag": "TRK LIVEBOX",
"fix": "midi_reconnect",
"address": "10.1.13.140:5004"
},
{
"type": "midi_peer",
"host": "tracks",
"session": "NA Tracks",
"peer": "Studio B Mac Studio",
"tag": "TRK STUDIO B",
"fix": "midi_reconnect",
"address": "\tStudio B Mac Studio\tlocal."
},
{
"type": "remote",
"host": "tracks",
"cmd": "pgrep -xq Live",
"msg": "ABLETON NOT RUNNING",
"fix": "ableton",
"template": "mac_program",
"params": {
"host": "tracks",
"process": "Live"
}
}
]
},
{
"id": "rd_prop",
"label": "PROP",
"pos": [
1,
1
],
"checks": [
{
"type": "ready",
"item": "prop",
"fix": "ready_recheck"
}
]
},
{
"id": "rd_timecode",
"label": "TIMECODE",
"pos": [
1,
2
],
"checks": [
{
"type": "ready",
"item": "timecode",
"fix": "ready_ltc"
}
]
},
{
"id": "rd_bg",
"label": "BKGDS",
"pos": [
1,
3
],
"checks": [
{
"type": "ready",
"item": "backgrounds",
"fix": "ready_recheck"
}
]
},
{
"id": "rd_cross",
"label": "LED CROSS",
"pos": [
1,
4
],
"checks": [
{
"type": "ready",
"item": "led_cross",
"fix": "ready_led_cross"
}
]
},
{
"id": "rd_lineup",
"label": "LINEUP TV",
"pos": [
2,
1
],
"checks": [
{
"type": "ready",
"item": "lineup",
"fix": "ready_lineup"
}
]
},
{
"id": "rd_mics",
"label": "MICS",
"pos": [
2,
3
],
"checks": [
{
"type": "ready_manual",
"item": "mics",
"msg": "TAP WHEN SET"
}
]
},
{
"id": "rd_stage",
"label": "STAGE",
"pos": [
2,
4
],
"checks": [
{
"type": "ready_manual",
"item": "stage",
"msg": "HELIX, RISERS: TAP"
}
]
},
{
"id": "rd_trk_out",
"label": "TRACKS OUT",
"pos": [
3,
1
],
"checks": [
{
"type": "ready",
"item": "track_bundle",
"fix": "ready_copy_tracks"
}
]
},
{
"id": "rd_prop_out",
"label": "PROP OUT",
"pos": [
3,
2
],
"checks": [
{
"type": "ready",
"item": "prop_bundle",
"fix": "ready_recheck"
}
]
},
{
"id": "rd_all",
"label": "READY",
"pos": [
3,
7
],
"kind": "ready"
}
]
},
"ready": {
"interval_seconds": 120,
"due": [
{
"days": [
"sat"
],
"start": "12:00",
"end": "23:59"
},
{
"days": [
"sun"
],
"start": "00:00",
"end": "13:30"
}
],
"reset_day": "mon",
"pco_credentials": "~/Library/Application Support/ProdDash/modules.json",
"pco_module": "pco-plan",
"pco_service_type": "275974",
"skip_songs": [],
"ltc_note": "LTC",
"prop_url": "http://10.1.14.225:1025",
"prop_lists": [
{
"match": "announcement",
"kind": "count",
"short": "MC"
},
{
"match": "baptism",
"kind": "names",
"short": "BAPTISM"
},
{
"match": "dedication",
"kind": "names",
"short": "DEDICATION"
}
],
"tracks_host": "tracks",
"projects": "~/Library/CloudStorage/GoogleDrive-media@waterschurch.org/Shared drives/Waters Creative/Ableton/Projects",
"site_folder": "NA",
"folder_format": "{date} {loc} Project",
"ltc_track": "LTC",
"lighting_track": "LIGHTING CUES",
"locations": [
"AB",
"SC"
],
"remote_timeout": 90,
"lineup_url": "http://127.0.0.1:24500/api/modules/band-lineup",
"lineup_teams": [
"Band",
"Communication"
],
"lineup_skip_positions": [],
"resolume_url": "http://10.1.10.206:8080",
"resolume_deck": "Service",
"led_clip": "",
"prop_bundle_host": "prop",
"prop_bundle_folder": "~/Library/CloudStorage/GoogleDrive-media@waterschurch.org/Shared drives/Location Assets/ProPresenter",
"prop_bundle_pattern": "*.probundle",
"vocal_positions": [
"Vocalist",
"[Leader]"
],
"mic_positions": {
"MC": "MC",
"Speaker": "TIM"
}
},
"tiles": [
{
"id": "all",