PCO Plan 1.8.0: the plan follows AbleSet, and auto-scroll stays in its tile
Three things, the first on its own. **Auto-scroll moves the tile, not the board.** `scrollIntoView` walks up and scrolls every ancestor that can scroll, so bringing the current item into view dragged the whole dashboard with it whenever the board was taller than the window. The list's own `scrollTop` is moved instead, measured from rectangles because the rows' offset parent is the tile rather than the list. **The current item fills as its song plays.** When an AbleSet module is installed, configured and playing a song that IS the item on screen, that item's background fills left to right with the song. The song is tied to a plan item by the same name matching the live ProPresenter document already uses, so a bar can never quietly fill the sermon while the band rehearses something else. **Its sections slide past, bottom right of that item.** Every section of the song as a strip, the played ones dimmed, the one playing filling in turn and kept centred — by moving that strip's own `scrollLeft`, for the same reason as above. The chips are rebuilt only when the song changes; moving to the next section just moves the classes, so the strip keeps its place. Both are switches in the tile's gear, **Song progress** and **Song sections**, and both draw nothing at all unless there is an AbleSet module to follow: the server reports `available: false` for no module, a disabled one, or one with no host, and re-checks every 15 s so installing AbleSet later lights it up without a restart. The server follows the AbleSet module over loopback exactly as it follows ProPresenter's, and republishes a small slice — song, sections, playhead in beats with a stamp — as its own `ableset` SSE event. Its own event because it moves five times a second and must never drag the plan (items, teams) onto the wire with it; the tile carries the playhead forward from the tempo between packets. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
7a736b3db1
commit
705e40d42a
@@ -346,6 +346,15 @@ below. Nothing is installed without someone clicking.
|
||||
`{series} • {part} | {serviceType} • {date}`), colors, text size, and a
|
||||
show/hide checklist for every detail.
|
||||
|
||||
With an **AbleSet** module installed and configured, the Plan tile also
|
||||
follows the band: while AbleSet plays a song that is the item on screen,
|
||||
that item's background fills as the song goes, and its sections slide past
|
||||
in a strip at the bottom right of the item, the one playing filling in
|
||||
turn. Both are switches in the tile's gear (**Song progress**, **Song
|
||||
sections**), and both are simply absent when there is no AbleSet module, it
|
||||
is switched off, or it has no host — nothing to turn off and nothing to
|
||||
explain.
|
||||
|
||||
**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
|
||||
|
||||
Reference in New Issue
Block a user