READY: START builds the week's Ableton sets (Sunday and special services) from Planning Center

Hold START on Monday: last weekend's songs go to Finished Songs (a changed one parks the version it
came from as z...), then each service PCO lists this week (weekend + Special Services / Morning
Worship...; First / Together Tuesday in Projects/FIRST TUESDAY) gets 'YYMMDD NA Project' built from
the newest weekend set: locators, tempo map and TEMPO clips, Waves Tune cues, songs from Finished
Songs (transposed Complex Pro when only another key exists), markers / guide / lighting cues on the
dedicated tracks, pads, routing and send A at 0 dB, audio copied in with an Ableton Project Info folder.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-22 12:38:09 -04:00
co-authored by Claude Opus 5.5
parent e2add3b27e
commit 0d655bff3c
10 changed files with 2027 additions and 7 deletions
+4 -1
View File
@@ -26,6 +26,8 @@ RC = CONFIG["ready"]
WEDNESDAY = datetime(2026, 10, 14, 15, 0).timestamp() # the week before the plan: gaps are amber
SATURDAY = datetime(2026, 10, 17, 16, 0).timestamp() # inside "due": gaps are red
SUNDAY_PLAN = datetime(2026, 10, 18, 9, 30).timestamp()
SUNDAY_SVC = {"date": "261018", "folder": "NA", "name": "261018 NA Project", "label": "SUN 10/18", "title": "Part 8",
"songs": [{"title": "Rejoice Again", "key": "Bb", "bpm": 151}], "salvation": None}
def item(title, type_="item", position="during", description="", notes=None):
@@ -645,7 +647,8 @@ class TestLook(unittest.TestCase):
src = dict(pco=plan, prop=lambda p: prop(), ableton=lambda p: ableton(),
lineup=lambda: lineup(["Jonah Perdue", "Krista Perdue", "Kevin Michel", "Anthony Hoyt", "Tim Hatch"]),
resolume=composition, prop_bundle=lambda plan: [["Message Templates.probundle", WEDNESDAY]],
macros=macros_found, companion=lambda n: COMPANION.get(n, {}), live=live_set)
macros=macros_found, companion=lambda n: COMPANION.get(n, {}), live=live_set,
services=lambda: [SUNDAY_SVC], start=lambda svcs: {"survey": {SUNDAY_SVC["name"]: {"exists": True}}, "status": None})
src.update(over)
return src