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:
@@ -131,7 +131,7 @@ HyperDeck is recording). **STATUS PAGE** (bottom left) goes back.
|
||||
| row 0 (Ableton) | TRACKS | FOH MIX | BOH MIX (tap) | LIGHTS | MIDI | SONG KEYS | W TUNE |
|
||||
| row 1 (ProP / Resolume) | PROP | TIMECODE | BKGDS | LED CROSS | LIGHT TIMING | every blinder flash and FX cue (notes 30-39 on `LIGHTING CUES`: Blinder Flash 1-3, Blinder FX 1-5, named from `Ableton/LIGHTING CUES MIDI`) lands on the hit in the `Drums (Live)` stem under it, even when that clip is deactivated because the drummer plays live. Each cue's moment in the stem comes from the tempo map; the Tracks Mac listens in 2.5 ms steps out to almost a 16th either way, finds the strongest hit and where it starts (halfway up its rise); what is under the cue is looked at from 10 ms before it to 25 ms after (the stems' hits start a little after the grid). Each song's cues that sit on solid hits set what "on time" is for that song (its stem's hits start 7-12 ms after the grid). **14 CUES OFF** (amber): a strong hit more than 25 ms from the cue while the cue sits on a quiet spot; a cue already on a solid hit (a double hit follows) is never named. The details say `JEHOVAH bar 405.3.2: Blinder Flash 2 is 145 ms after the hit (about a 16th)` (bars as Live shows them, 4/4). Listened to once per saved set. | moves every cue that is off onto its hit in the open set (all flash/FX notes on that 16th; onto the 16th grid when the hit is within 10 ms of it), keeping where each cue ends, then saves the set (File › Save Live Set in Live, clicked through System Events: `/usr/bin/osascript` has Accessibility on the Tracks Mac since 2026-10-22; `ready.light_autosave`), but only when the set open in Live is this weekend's. If it cannot save, the key says **SAVE SET (n MOVED)** until the set is saved; Cmd+Z in Live takes a move back. Never runs by itself. Uses the status panel's command in AbletonOSC (`tools/abletonosc`: `statuspanel.py` plus a hook at the end of AbletonOSC's `abletonosc/__init__.py`; an AbletonOSC update removes it, so run `tools/abletonosc/install.sh` again, then restart Companion's `ableton` connection) |
|
||||
| row 2 (backstage) | LINEUP TV | ROUTING | IN EARS | | | | |
|
||||
| row 3 (outgoing) | TRACKS OUT | PROP OUT | a `.probundle` is in this weekend's folder of the Chronicles share (`/Volumes/Location Assets/261025`, read on the ProPresenter Mac). **SHARE NOT MOUNTED**: the share itself is not mounted there (2026-10-22: it had dropped off and the key said NOT IN 261025 although the bundle was there). The ProP Mac keeps it mounted by itself: a LaunchAgent (`org.waterschurch.keep-mounted.location-assets`, from `remote-access/mac-keep-mounted.sh`) looks every minute and at login, mounts it again with the Chronicles login saved in the Keychain, and unmounts and remounts it when it hangs after sleep or a network drop (log: `~/Library/Logs/keep-mounted-location-assets.log` on the ProP Mac). | starts that agent now and waits for the share (about 6 s), then looks again. Also an auto-fix. |
|
||||
| row 3 (outgoing) | TRACKS OUT | PROP OUT | START | | | | |
|
||||
|
||||
The READY key at row 3 col 7 (and the one on the status page) shows how many keys still have something to do and
|
||||
the first of them.
|
||||
@@ -163,7 +163,8 @@ everything on the page at once.
|
||||
| LED CROSS | every Resolume column Sunday's playlist calls up has content: each slide's macro (read from the ProPresenter Mac's `Macros` and `.pro` files) sends RossTalk `CC page/row/col` to Companion, that button (and the buttons it presses, e.g. page 17 → page 6 "Arena") sends `/composition/columns/N/connect`; **COL 11 EMPTY** names the column and the items that use it. Also: Resolume on the **Service** deck. | selects the Service deck, then looks again (an empty column is filled in Resolume) |
|
||||
| LINEUP TV | ProdDash's Band Lineup shows this plan, nobody who is not on it or who declined, and everyone on the Band and Communication teams | re-syncs the board from Planning Center |
|
||||
| TRACKS OUT | every location in `"locations"` (AB, SC) has this weekend's project folder | copies NA's project to the locations that have none (as `261018 AB Project`, without `Backup/`). It is copied under a temporary name and renamed at the end, so a half-finished copy never looks sent. It never overwrites a folder that is already there and never runs by itself. |
|
||||
| PROP OUT | a `.probundle` was saved to `Location Assets/ProPresenter` since Monday | looks again |
|
||||
| PROP OUT | a `.probundle` is in this weekend's folder of the Chronicles share (`/Volumes/Location Assets/261025`, read on the ProPresenter Mac). **SHARE NOT MOUNTED**: the share itself is not mounted there (2026-10-22: it had dropped off and the key said NOT IN 261025 although the bundle was there). The ProP Mac keeps it mounted by itself: a LaunchAgent (`org.waterschurch.keep-mounted.location-assets`, from `remote-access/mac-keep-mounted.sh`) looks every minute and at login, mounts it again with the Chronicles login saved in the Keychain, and unmounts and remounts it when it hangs after sleep or a network drop (log: `~/Library/Logs/keep-mounted-location-assets.log` on the ProP Mac). | starts that agent now and waits for the share (about 6 s), then looks again. Also an auto-fix. |
|
||||
| START | every service Planning Center lists this week (this location's Sunday and every special service: First / Together Tuesday, Morning Worship, ...) has its Ableton set. **NO SET SUN 11/1** (red when due): hold START. While it builds the key shows what it is doing (**SAVING JEHOVAH**, **COPYING 40/120**). After a build, for a day: **CONSOLIDATE THE LORD IS** (a song transposed to its PCO key: consolidate it in Live), **NEW SONG GRACE** (not in Finished Songs: build it by hand, page 3 of the workflow PDF). See *START* below. | builds the missing sets (on the Tracks Mac, in the background). Never runs by itself. |
|
||||
|
||||
**Where the answers come from:**
|
||||
- **Planning Center:** ProdDash's own login on this Mac (`~/Library/Application Support/ProdDash/modules.json`, module `pco-plan`). The plan is today's, else the next one, which is the same plan the lineup TV picks.
|
||||
@@ -175,9 +176,47 @@ everything on the page at once.
|
||||
listens for its answers on NA Ingest, so straight after each read NA Ingest asks it for the tempo and it answers
|
||||
Companion again.
|
||||
|
||||
Nothing on the READY page writes to Companion, ProPresenter or the Ableton set file. ROUTING and IN EARS' fix changes
|
||||
Nothing on the READY page writes to Companion, ProPresenter or an Ableton set file (START only writes new sets and Finished Songs folders). ROUTING and IN EARS' fix changes
|
||||
only the open set in Live (outputs and send A), and only tracks whose name is still where it was a moment before.
|
||||
|
||||
### START: the week's Ableton sets (Monday)
|
||||
|
||||
Hold **START** (READY page, row 3 col 3) on Monday. `readiness.py` asks Planning Center for every service from today
|
||||
until the Thursday after Sunday: NA's weekend service type (`pco_service_type`) and the service types next to it in
|
||||
PCO (`ready.start_types`: Special Services, Special Events, Morning Worship, Forge & Flourish; not youth, kids or
|
||||
classes, `ready.start_skip_types`). A plan counts when it has songs with a key. On a Monday that is Sunday and, when
|
||||
there is one, First / Together Tuesday. Each set is named the year-month-day way plus the location: Sunday 1 Nov 2026
|
||||
is `Projects/NA/261101 NA Project`, a First Tuesday is `Projects/FIRST TUESDAY/261103 NA First Tuesday Project`, any
|
||||
other special service `Projects/NA/<date> NA <plan title> Project`.
|
||||
|
||||
`ableton_start.py` then runs on the Tracks Mac (detached, at low priority), doing the workflow PDF's steps:
|
||||
1. **Last weekend's songs to Finished Songs.** Each song group of the newest weekend set goes to
|
||||
`Finished Songs/TITLE [KEY]` (key from its locator), with its arrangement markers, lighting cues and guide inside
|
||||
the group and its audio copied in. A song that matches a saved version (any key, parked or not) is left alone.
|
||||
A changed one replaces the version it was made from (`CAN'T HELP BUT PRAISE LM [Eb]` for a group called
|
||||
`CAN'T HELP BUT PRAISE`), which is parked first as `zCAN'T HELP BUT PRAISE LM [Eb]`.
|
||||
2. **A new set from the newest weekend set:** its songs, pads, Waves Tune cues and marker, guide, loop-guide and
|
||||
lighting clips go; the groups, the numbered locators (and their computer keys 1-9), the loop locators and the loop
|
||||
cues stay. Empty loop cues are dropped.
|
||||
3. **Locators** `N- TITLE - KEY` from PCO: 1 Call to Worship (first song's key and tempo), the songs, then Salvation
|
||||
(the song after the Salvation moment, a TAG, else the last song). Fewer songs: Salvation moves up a slot (as
|
||||
"5- SALVATION" did with 3 songs); more: slots are added like the last one. A song too long for its slot pushes the
|
||||
loop locators, loop cues and later slots along in whole bars, so a loop never fires inside a song.
|
||||
4. **Tempo map** and one **TEMPO** label clip per tempo (`128.00 BPM`). The tempo is the one the song's audio was
|
||||
cut at; a different PCO tempo is named in the log.
|
||||
5. **Waves Tune** key cue at every locator (minor keys use their relative major).
|
||||
6. **Each song from Finished Songs** at its locator, in its PCO key if that version exists, else the nearest key
|
||||
transposed the PDF's way (warp on, Complex Pro, formants 0, transpose) and named on the key, because consolidating
|
||||
is done in Live. Its markers, guide and lighting cues go onto `SECTIONS`, `+GUIDE` and `LIGHTING CUES`.
|
||||
7. **Pads**: the Call to Worship pad in the first song's key, an ending pad per song in its key, run past its loop,
|
||||
Salvation's.
|
||||
8. **Routing** per `ready.routing` and **send A at 0 dB** on every stem.
|
||||
|
||||
Every audio file is copied into the new project (as Collect All and Save does) with an `Ableton Project Info` folder
|
||||
(Live finds no audio without it: 2026-10-22). A set that is already there is never touched; a new one is built as
|
||||
`<name>.building` and renamed when complete. Progress: `~/Library/Caches/status-panel-start.json` on the Tracks Mac.
|
||||
START is on where this location sends its tracks to others (`locations`), or with `ready.start` set.
|
||||
|
||||
**Another location:** copy `"ready_page"`, `"ready"`, the four `ready_*` fixes and the READY tile from this config,
|
||||
then change these in `"ready"`:
|
||||
- `pco_service_type`
|
||||
|
||||
Reference in New Issue
Block a user