Campus kit for other ProPresenter Macs (v1.3.0)
- settings.py: per-Mac settings.json (campus code, youtube); ProPresenter
folder, network port and template library read from ProPresenter itself
- First run / --setup / y asks the campus; YouTube text only at NA
- Preacher picked for this campus from the notes email; a lone surname
("Pastor Geyser") matches the most recent speaker with it
- Never restart ProPresenter when its network API is off or not answering
- tools/make_kit.sh builds "Message Notes Kit <version>.zip" (installer,
program, launcher, READ ME FIRST); deploy.sh writes NA's settings
- Email setup text no longer names media@
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,16 +6,12 @@
|
||||
# message presentation, built from the series or generic template in the
|
||||
# Messages library - the same slides you'd make by copy and paste.
|
||||
#
|
||||
# Double-click, then answer the questions:
|
||||
# 1. which notes file (newest ones are listed; or drag a file in)
|
||||
# 2. which template (series / generic - it suggests one)
|
||||
# 3. who is speaking (recent speakers are listed)
|
||||
# 4. date + presentation name (e.g. "261018 Where Is Your Faith Part 8")
|
||||
# Then every slide is listed for review. Nothing is written until you press
|
||||
# Enter at "Create this presentation?". Type q at any prompt to quit.
|
||||
# Double-click. It picks up the newest notes (from the email folder, or
|
||||
# Downloads/Desktop/Documents), checks them for typos, picks the template and
|
||||
# speaker, and shows one summary. Enter creates the presentation and links it
|
||||
# into the next service's playlist (Message section). Type q at any prompt to quit.
|
||||
#
|
||||
# Afterwards it checks the new presentation through ProPresenter's API and
|
||||
# opens a page of slide previews drawn by ProPresenter itself.
|
||||
# First run asks which campus this is (saved). Run with --setup to change it.
|
||||
#
|
||||
# Program: ~/Library/Application Support/MessageNotes/message-notes.pyz
|
||||
# Log: ~/Library/Logs/message-notes.log
|
||||
|
||||
+10
-5
@@ -1,17 +1,22 @@
|
||||
#!/bin/bash
|
||||
# Build and install on the ProPresenter Mac (via the ingest Mac, which holds the SSH key).
|
||||
# Build and install on the North Attleboro ProPresenter Mac (via the ingest Mac, which holds the SSH key).
|
||||
# app -> ~/Library/Application Support/MessageNotes/message-notes.pyz
|
||||
# launcher -> ~/Desktop/Message Notes to ProPresenter.command
|
||||
# settings -> NA + YouTube, only if that Mac has no settings.json yet (so it never asks there)
|
||||
# Other campuses: tools/make_kit.sh
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
tools/build.sh >/dev/null
|
||||
HOP=checklist-ingest
|
||||
PROP=napropresenter@10.1.14.225
|
||||
scp -q dist/message-notes.pyz "dist/Message Notes to ProPresenter.command" "$HOP:/tmp/"
|
||||
ssh "$HOP" "scp -q -i ~/.ssh/id_status_panel /tmp/message-notes.pyz '/tmp/Message Notes to ProPresenter.command' $PROP:/tmp/ \
|
||||
&& rm -f /tmp/message-notes.pyz '/tmp/Message Notes to ProPresenter.command' \
|
||||
printf '{\n "campus": "NA",\n "youtube": true\n}\n' > dist/na-settings.json
|
||||
scp -q dist/message-notes.pyz "dist/Message Notes to ProPresenter.command" dist/na-settings.json "$HOP:/tmp/"
|
||||
rm -f dist/na-settings.json
|
||||
ssh "$HOP" "scp -q -i ~/.ssh/id_status_panel /tmp/message-notes.pyz '/tmp/Message Notes to ProPresenter.command' /tmp/na-settings.json $PROP:/tmp/ \
|
||||
&& rm -f /tmp/message-notes.pyz '/tmp/Message Notes to ProPresenter.command' /tmp/na-settings.json \
|
||||
&& ssh -i ~/.ssh/id_status_panel $PROP 'set -e; D=\"\$HOME/Library/Application Support/MessageNotes\"; mkdir -p \"\$D\"; \
|
||||
mv /tmp/message-notes.pyz \"\$D/message-notes.pyz\"; \
|
||||
mv \"/tmp/Message Notes to ProPresenter.command\" \"\$HOME/Desktop/Message Notes to ProPresenter.command\"; \
|
||||
chmod +x \"\$HOME/Desktop/Message Notes to ProPresenter.command\"; \
|
||||
/usr/bin/python3 \"\$D/message-notes.pyz\" --version; ls -l \"\$D/message-notes.pyz\" \"\$HOME/Desktop/Message Notes to ProPresenter.command\"'"
|
||||
if [ -f \"\$D/settings.json\" ]; then rm -f /tmp/na-settings.json; else mv /tmp/na-settings.json \"\$D/settings.json\"; fi; \
|
||||
/usr/bin/python3 \"\$D/message-notes.pyz\" --version; cat \"\$D/settings.json\"; ls -l \"\$D/message-notes.pyz\" \"\$HOME/Desktop/Message Notes to ProPresenter.command\"'"
|
||||
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
#==============================================================================
|
||||
# INSTALL MESSAGE NOTES -> PROPRESENTER
|
||||
# Run this once on the ProPresenter Mac. It puts the program in
|
||||
# ~/Library/Application Support/MessageNotes, puts "Message Notes to
|
||||
# ProPresenter" on the Desktop, and asks a few setup questions.
|
||||
# Running it again updates the program and keeps the settings.
|
||||
#==============================================================================
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
clear
|
||||
echo "Installing Message Notes -> ProPresenter"
|
||||
echo
|
||||
|
||||
finish() { echo; read -r -p "Press Enter to close this window." _; exit "$1"; }
|
||||
|
||||
if [ ! -f message-notes.pyz ] || [ ! -f "Message Notes to ProPresenter.command" ]; then
|
||||
echo "This installer has to stay in the kit folder, next to message-notes.pyz."
|
||||
finish 1
|
||||
fi
|
||||
|
||||
# macOS's own Python comes with Apple's free Command Line Tools
|
||||
if ! /usr/bin/xcode-select -p >/dev/null 2>&1 || ! /usr/bin/python3 -c 'import sys; sys.exit(sys.version_info < (3, 8))' >/dev/null 2>&1; then
|
||||
echo "This Mac first needs Apple's free Command Line Tools (they include Python)."
|
||||
echo "A box will pop up: click Install and wait until it's finished (5-15 minutes),"
|
||||
echo "then double-click this installer again."
|
||||
/usr/bin/xcode-select --install >/dev/null 2>&1
|
||||
finish 1
|
||||
fi
|
||||
|
||||
D="$HOME/Library/Application Support/MessageNotes"
|
||||
L="$HOME/Desktop/Message Notes to ProPresenter.command"
|
||||
mkdir -p "$D" || finish 1
|
||||
cp message-notes.pyz "$D/message-notes.pyz" || finish 1
|
||||
cp "Message Notes to ProPresenter.command" "$L" || finish 1
|
||||
chmod +x "$L"
|
||||
/usr/bin/xattr -c "$D/message-notes.pyz" "$L" 2>/dev/null # no "downloaded from the internet" warning
|
||||
echo "Installed version $(/usr/bin/python3 "$D/message-notes.pyz" --version 2>&1)"
|
||||
echo " program: $D/message-notes.pyz"
|
||||
echo " Desktop: Message Notes to ProPresenter"
|
||||
|
||||
/usr/bin/python3 "$D/message-notes.pyz" --setup
|
||||
status=$?
|
||||
echo
|
||||
echo "All set. From now on just double-click 'Message Notes to ProPresenter' on the Desktop."
|
||||
finish $status
|
||||
@@ -0,0 +1,74 @@
|
||||
MESSAGE NOTES -> PROPRESENTER (version VERSION_HERE)
|
||||
=====================================================
|
||||
|
||||
Turns the pastor's notes ("Slides - <message>.rtf") into the message presentation
|
||||
in ProPresenter, built from your own message templates, and links it into the
|
||||
next service's playlist. Runs on the ProPresenter Mac.
|
||||
|
||||
|
||||
INSTALL (once, on the ProPresenter Mac)
|
||||
---------------------------------------
|
||||
1. Unzip the kit (double-click the .zip) and open the "Message Notes Kit" folder.
|
||||
2. Double-click "Install Message Notes.command".
|
||||
If macOS says it "can't be opened" / "not verified":
|
||||
click Done, open System Settings > Privacy & Security, scroll down,
|
||||
click "Open Anyway" next to "Install Message Notes.command", then Open.
|
||||
(Or: open Terminal, type bash and a space, drag the installer into the
|
||||
Terminal window, press Return.)
|
||||
3. If it asks for Apple's Command Line Tools: click Install, wait, run step 2 again.
|
||||
4. Answer the setup questions (which campus; email pickup - you can skip that).
|
||||
5. If macOS asks whether Terminal may access Documents, Desktop, Downloads or
|
||||
Google Drive: click Allow.
|
||||
|
||||
Then use "Message Notes to ProPresenter" on the Desktop every week.
|
||||
To update later: run the installer from a newer kit (settings are kept).
|
||||
|
||||
|
||||
WHAT PROPRESENTER NEEDS
|
||||
-----------------------
|
||||
- The templates in a library (normally "Messages"), named like:
|
||||
_TEMPLATE - DO NOT DELETE 2608 Lower Thirds (series)
|
||||
_TEMPLATE_GENERIC - DO NOT DELETE 2601 (generic)
|
||||
Any name works as long as it starts with _TEMPLATE and contains DO NOT DELETE;
|
||||
the one with GENERIC in the name is the generic one. If there are several,
|
||||
the most recently changed one is used.
|
||||
- Network turned on: ProPresenter > Settings > Network > Enable Network.
|
||||
The tool uses it to check the text fits your output themes and to see that
|
||||
nothing is live before it restarts ProPresenter to link the playlist.
|
||||
- The service playlist imported from Planning Center, with a "Message" header.
|
||||
If it's missing, the tool tells you to import it.
|
||||
|
||||
|
||||
EVERY WEEK
|
||||
----------
|
||||
1. Save the notes .rtf from the email into Downloads (or set up email pickup,
|
||||
below, and skip this).
|
||||
2. Double-click "Message Notes to ProPresenter" on the Desktop.
|
||||
3. Check the summary (typos it fixed, template, speaker, service), press Enter.
|
||||
4. ProPresenter restarts once (to link the playlist) - never while anything is
|
||||
on screen, on Sunday mornings, or while the message timer runs. If it can't,
|
||||
it tells you to drag the presentation into the Message section yourself.
|
||||
5. Check the slides on your outputs. Font sizes are never changed; if text is
|
||||
too long for an output, the summary says so.
|
||||
|
||||
Keys at the summary: Enter = create, e = edit the slide text, r = undo typo
|
||||
fixes, t = switch template, s = speaker, n = name, d = date, f = other notes
|
||||
file, y = run setup again, q = quit.
|
||||
|
||||
|
||||
EMAIL PICKUP (optional)
|
||||
-----------------------
|
||||
Needs: Google Drive for desktop on this Mac, signed in to the Google account that
|
||||
receives the "Notes/Slides" emails. During setup (or later with y) the tool copies
|
||||
a small Google Apps Script and opens script.google.com - paste it, save, run
|
||||
"install", allow it. From then on the notes land in My Drive/Message Notes every
|
||||
10 minutes and the tool picks the newest one by itself (it also reads who is
|
||||
preaching at your campus from the email).
|
||||
|
||||
|
||||
FILES
|
||||
-----
|
||||
Program: ~/Library/Application Support/MessageNotes/message-notes.pyz
|
||||
Settings: ~/Library/Application Support/MessageNotes/settings.json
|
||||
Log: ~/Library/Logs/message-notes.log
|
||||
Remove: delete the Desktop launcher and the MessageNotes folder above.
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
# Build the kit for other campuses: dist/Message Notes Kit <version>.zip
|
||||
# Install Message Notes.command, message-notes.pyz, the Desktop launcher, READ ME FIRST.txt
|
||||
# No settings and no keys go in it - each Mac asks its own campus on install.
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
tools/build.sh >/dev/null
|
||||
V=$(/usr/bin/python3 dist/message-notes.pyz --version)
|
||||
K="dist/Message Notes Kit"
|
||||
rm -rf "$K" && mkdir -p "$K"
|
||||
cp dist/message-notes.pyz "dist/Message Notes to ProPresenter.command" "tools/kit/Install Message Notes.command" "$K/"
|
||||
sed "s/VERSION_HERE/$V/" "tools/kit/READ ME FIRST.txt" > "$K/READ ME FIRST.txt"
|
||||
chmod +x "$K/Install Message Notes.command" "$K/Message Notes to ProPresenter.command"
|
||||
Z="dist/Message Notes Kit $V.zip"
|
||||
rm -f "$Z"
|
||||
(cd dist && /usr/bin/ditto -c -k --keepParent --norsrc "Message Notes Kit" "Message Notes Kit $V.zip")
|
||||
rm -rf "$K"
|
||||
ls -l "$Z"
|
||||
Reference in New Issue
Block a user