diff --git a/README.md b/README.md index 6f0f5bb..70b747b 100644 --- a/README.md +++ b/README.md @@ -323,7 +323,10 @@ below. Nothing is installed without someone clicking. session (Start ProdDash.command) and approve the one-time prompt; a server started over SSH or by bare launchd silently captures zeros. (Engine self-test: `node modules/propresenter-timers/ltc.selftest.js`.) -- **PCO Plan** — the order of service from Planning Center Services: every +- **PCO Plan** — Planning Center Services, as two tiles in the + picker: + **Plan** (the order of service) and **Teams** (who is scheduled). + + **Plan** shows every plan item with its scheduled start time, length, type, song key, description and item notes. When the ProPresenter module is running it follows that module's live item, highlights the matching plan item, dims @@ -342,6 +345,17 @@ below. Nothing is installed without someone clicking. (gear menu): the top-bar text (placeholders such as `{series} • {part} | {serviceType} • {date}`), colors, text size, and a show/hide checklist for every detail. + + **Teams** shows the same plan's team and position assignments — each team + as a band of its people, with their photo (fetched through ProdDash, never + by the browser; initials when Planning Center has none) and a dot for + confirmed, unconfirmed or declined. Its gear menu picks which teams and + which positions appear, groups people under their position or lists them + plainly, and sets the colours: one for the team headers, or **Tint teams** + to give each team its own, optionally carried into the rows. Teams nobody + has signed up for are hidden until you ask for them — that list comes from + the service type, since Planning Center only returns a team once somebody + is on it. - **Slack** — live transcripts of this location's Slack channels, plus PIN-protected sending as the location. The + picker lists one transcript tile per configured channel, titled `#channel`, and two send surfaces (one @@ -365,15 +379,57 @@ below. Nothing is installed without someone clicking. as `Label | Message` — add `| #channel` to bind one to a channel — and up to eight quick emojis). Tile settings: avatars, timestamps, names and channel notices. -- **Band Lineup** — the backstage stage board: everyone scheduled on the - band, vocal and production teams for the upcoming Planning Center plan, - placed into their mic slot with photo, name and mic/pack label; birthdays - in the service week get confetti. Guests and MCs not on the plan are pinned - per slot from the title bar's Edit button. Admin config: Planning Center - credentials, service type and plan, the teams to include, the stage slots - (one mic/pack label per line, in stage order), default columns, and a - Google Drive folder for manual photos. Tile settings: names, mic labels, - parallax, and the birthday confetti with its intensity. +- **Resi Cues** — how long until the next Resi cue point, for a campus + running video from another site. The tile is one number, as large as it + will go: the countdown to the next cue, its name above it, and the playhead + and the cue just passed underneath. It also offers that countdown and the + playhead to the **Timers** module, so they can sit among the ProPresenter + timers instead of in a tile of their own. + Both the cue list and the decoder's position come from Resi's cloud rather + than the decoder — the decoder reports upstream and central.resi.io hands it + back — so nothing is installed at the decoder end. Resi republishes a + position only every few seconds and each reading is already stale, so the + playhead is estimated between readings rather than repeated; a countdown + built straight from Resi's number sits seconds behind and moves in lurches. + Admin config: Resi login and password, which decoder to follow (the list is + read from the account), and a folded **Timing** group for the poll + intervals and a position trim. + Tile settings: cue name, previous cue, playhead, cue list. +- **Band Lineup** — the backstage stage board: everyone on stage in their mic + slot with photo, name and mic/pack label, on one shared board that every + screen sees the same way — whoever edits it changes it everywhere, over SSE. + A photo library fills it: point the module at a Google Drive folder shared + "anyone with the link" (file name → person's name) or at a folder on the + ProdDash machine, and photos added or removed there follow. **Edit** in the + title bar opens that library — drag a photo onto a slot, drag between slots + to swap, rename or clear. Planning Center is optional auto-fill on top, not + the source of truth: **Sync** reads the upcoming plan's team members and + drops each into the slot matching their position, filling only slots nobody + placed by hand, so a guest pinned on Thursday survives Sunday's sync. + Birthdays in the service week (Wednesday→Tuesday) bring a gold glow and + raining confetti, and a Choir button adds the extra spot for the weeks there + is one. Admin config: Planning Center credentials, service type and plan, the + teams to include, the stage slots (one mic/pack label per line, in stage + order), default columns, and the photo folder. Tile settings: parallax, + names, mic labels, and birthday confetti with its intensity and a test + picker — columns are − / + in the title bar. +- **Service Times** — every campus's Sunday service times, read from the + church website and re-read on a timer, so the board follows the site when + the times change through the year. Any service can be marked for + production — issue, replay, or do not use — with a note, and a campus + taking resi records which of the origin's services it is playing. Marking + a broadcast service "do not use" flags every campus riding on it, which is + the question the board exists to answer. Marks are shared by every tile + and every browser, survive a restart, and expire on their own so last + week's never greet a new Sunday. The + picker offers the whole board or a + single campus. + Admin config is in four groups: **Website** (address, which campuses to + follow, refresh interval), **Broadcast** (the campuses the broadcast comes + from, and each other campus's resi source), **Manual campuses** (a stopgap + for a campus the site has not published yet — the website takes over as + soon as it does) and **Marks** (how long a mark lives). + Tile settings: campuses, card or list layout, and a **Show** group for the + day, role, resi source, campuses fed, notes and the updated line. - **Clock** — a big booth clock; also the smallest possible module and the reference for module authors. diff --git a/band-lineup-display/index.html b/band-lineup-display/index.html index d70b96b..0d23c3e 100644 --- a/band-lineup-display/index.html +++ b/band-lineup-display/index.html @@ -57,9 +57,37 @@ +
Planning Center is not connected.
+
+ +
+
+ Birthday Mode 🎂 + +
+
+
+ Intensity +
+ + +
+
+
+ Force on (test) + +
+
Birthdays celebrate for the whole service week (Wednesday→Tuesday). Force is for testing only — it clears when the app restarts.
+
+