The Resi -> ProPresenter bridge, its installer and site kit, and the Companion module resi-studio-cues, as running at North Attleboro. Bridge (resi_to_propresenter.py) - Follows a Resi decoder's playhead and keeps ProPresenter's NextCue timer counting down to the next cue; optional cue name as a stage message, sent once per cue (ProPresenter flashes it on every send) and off by default. - Playhead estimate no longer learns a cadence from the partial first gap after a start, so a 30s Resi doesn't read as paused half the time. - Backs off on 429, holds 2 min before retrying a failed startup login, and logs Resi's actual reason (wrong password, USER_LOCKED, rate limit). - --setup asks for the login, decoder, ProPresenter and timer. install_bridge.sh installs it as a login service (outside ~/Documents, which launchd may not read); make_kit.sh builds the kit for another site. Companion module resi-studio-cues 0.1.4 (source/, package committed) - Same playhead fix; login and request hold-off (15s doubling to 5 min); a 401/403 on a fresh session is a permission, not a reason to sign in again; init never fails on a Resi problem, so Companion can't restart it into a login loop. Tests: test_playhead.py, test_stage_message.py, test_rate_limit.py and source/backoff_test.js run offline; test_end_to_end.py drives a real ProPresenter and refuses to run without an explicit flag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
709 B
Bash
Executable File
20 lines
709 B
Bash
Executable File
#!/bin/zsh
|
|
# make_kit.sh — bundle everything another site needs into resi-propresenter-kit.zip.
|
|
# Site settings (resi_pp_config.json) are left out on purpose: the installer asks.
|
|
set -e
|
|
HERE="${0:A:h}"
|
|
cd "$HERE"
|
|
MODULE=$(ls resi-studio-cues-*.tgz | sort -V | tail -1)
|
|
|
|
STAGE=$(mktemp -d)
|
|
KIT="$STAGE/resi-propresenter-kit"
|
|
mkdir "$KIT"
|
|
cp install_bridge.sh resi_to_propresenter.py README.md "$MODULE" "$KIT/"
|
|
chmod +x "$KIT/install_bridge.sh"
|
|
|
|
rm -f resi-propresenter-kit.zip
|
|
(cd "$STAGE" && COPYFILE_DISABLE=1 zip -qrX "$HERE/resi-propresenter-kit.zip" resi-propresenter-kit)
|
|
rm -rf "$STAGE"
|
|
echo "Built resi-propresenter-kit.zip:"
|
|
unzip -l resi-propresenter-kit.zip | sed -n '4,$p' | sed '$d' | sed '$d'
|