Files

28 lines
1.3 KiB
Bash
Raw Permalink Normal View History

#!/bin/zsh
# Install (or update) the Pro Tools solo-mode helper on the Studio B Mac Studio, as its logged-in user.
# Run from NA Ingest:
# scp remote-access/solo-mode-agent.swift remote-access/install-solo-mode.sh studiob@10.1.13.175:/tmp/
# ssh studiob@10.1.13.175 'zsh /tmp/install-solo-mode.sh'
# Then allow "solo-mode-agent" once in System Settings > Privacy & Security > Accessibility on that Mac.
set -e
DIR="$HOME/Library/Application Support/status-panel"
LABEL=org.waterschurch.status-panel.solo-mode
PLIST="$HOME/Library/LaunchAgents/$LABEL.plist"
mkdir -p "$DIR" "$HOME/Library/LaunchAgents"
/usr/bin/swiftc -O "${0:A:h}/solo-mode-agent.swift" -o "$DIR/solo-mode-agent"
cat > "$PLIST" <<EOF
<?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>$LABEL</string>
<key>ProgramArguments</key><array><string>$DIR/solo-mode-agent</string></array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
<key>ThrottleInterval</key><integer>10</integer>
</dict></plist>
EOF
launchctl bootout "gui/$(id -u)/$LABEL" 2>/dev/null || true
for i in {1..50}; do launchctl print "gui/$(id -u)/$LABEL" >/dev/null 2>&1 || break; sleep 0.2; done
launchctl bootstrap "gui/$(id -u)" "$PLIST"
echo "installed $LABEL"