ProPresenter guard at every location: install.sh starts it where ProPresenter is, it finds ProPresenter's port, leaves a song already up alone; restart off by default
WS and SC updated to the current build (code only, their settings kept). NA's Resi cues polling slowed to 10 s / 20 s (Companion setting). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+24
-2
@@ -19,7 +19,7 @@ SETTINGS_LABEL=org.waterschurch.status-settings
|
||||
DEST="$HOME/Library/Application Support/status-panel"
|
||||
PLIST="$HOME/Library/LaunchAgents/$LABEL.plist"
|
||||
DOMAIN="gui/$(id -u)"
|
||||
CODE=(status_panel.py readiness.py coremidi.py netgear.py schema.py make_page.py push_page.py nav_keys.py atem_watch.js atem_state.js nav_templates.json)
|
||||
CODE=(status_panel.py readiness.py coremidi.py netgear.py schema.py make_page.py push_page.py nav_keys.py atem_watch.js atem_state.js nav_templates.json prop_guard.py)
|
||||
KEEP_CONFIG=0
|
||||
SITE=""
|
||||
SITE_NEXT=0
|
||||
@@ -125,7 +125,8 @@ PY
|
||||
if [[ "$1" == "--remove" ]]; then
|
||||
launchctl bootout "$DOMAIN/$LABEL" 2>/dev/null || true
|
||||
launchctl bootout "$DOMAIN/$SETTINGS_LABEL" 2>/dev/null || true
|
||||
rm -f "$PLIST" "$SETTINGS_PLIST"
|
||||
launchctl bootout "$DOMAIN/org.waterschurch.prop-guard" 2>/dev/null || true
|
||||
rm -f "$PLIST" "$SETTINGS_PLIST" "$HOME/Library/LaunchAgents/org.waterschurch.prop-guard.plist"
|
||||
echo "removed $LABEL and $SETTINGS_LABEL (files left in $DEST)"
|
||||
exit 0
|
||||
fi
|
||||
@@ -239,6 +240,27 @@ EOF2
|
||||
launchctl bootout "$DOMAIN/$BACKUP_LABEL" 2>/dev/null || true
|
||||
launchctl bootstrap "$DOMAIN" "$BACKUP_PLIST" 2>/dev/null || true
|
||||
fi
|
||||
# The ProPresenter guard (stage display back on Worship when a song's macro missed it), on a Mac with ProPresenter.
|
||||
PROP_APPS=(/Applications/ProPresenter*.app(N))
|
||||
if [[ -f "$DEST/prop_guard.py" && ${#PROP_APPS} -gt 0 ]]; then
|
||||
GUARD_LABEL=org.waterschurch.prop-guard
|
||||
GUARD_PLIST="$HOME/Library/LaunchAgents/$GUARD_LABEL.plist"
|
||||
[[ -f "$DEST/prop-guard.json.cfg" ]] || echo '{}' > "$DEST/prop-guard.json.cfg" # site-owned: never overwritten
|
||||
cat > "$GUARD_PLIST" <<EOF2
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key><string>$GUARD_LABEL</string>
|
||||
<key>ProgramArguments</key><array><string>/usr/bin/python3</string><string>$DEST/prop_guard.py</string><string>$DEST/prop-guard.json.cfg</string></array>
|
||||
<key>RunAtLoad</key><true/><key>KeepAlive</key><true/>
|
||||
<key>StandardErrorPath</key><string>$HOME/Library/Logs/prop-guard.err.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
EOF2
|
||||
restart_agent "$GUARD_LABEL" "$GUARD_PLIST"
|
||||
echo "ProPresenter guard running (log: ~/Library/Logs/prop-guard.log)"
|
||||
fi
|
||||
# The panel's own login key for the other computers (made once, never replaced).
|
||||
if [[ ! -f "$HOME/.ssh/id_status_panel" ]]; then
|
||||
mkdir -p "$HOME/.ssh" && chmod 700 "$HOME/.ssh"
|
||||
|
||||
Reference in New Issue
Block a user