StagePilot brings the moving parts of a live production into one dependable dashboard. It loads service plans from Planning Center, listens for MIDI cues from MultiTracks Playback, keeps a ProPresenter countdown in sync, and sends scheduled MIDI cues to a lighting controller such as Lightkey.
Download the installer for your computer from the StagePilot 1.0.0 release:
On Windows, run the installer and open StagePilot from the Start menu. On macOS, open the DMG and drag StagePilot into Applications.
StagePilot is not currently code-signed or notarized, so the operating system may ask you to confirm that you trust the application. Only install downloads from the official StagePilot GitHub release page.
StagePilot works with:
- Planning Center Services and a Personal Access Token
- A MIDI input from MultiTracks Playback or another MIDI source
- ProPresenter with its local network API enabled
- Optionally, a MIDI destination for Lightkey or another lighting controller
Planning Center, MIDI, and ProPresenter are independent. You can configure and test one connection without requiring every other integration to be online.
All normal setup happens inside StagePilot; command-line variables are not required.
- Click StagePilot backend and set the timezone, log level, and local server port.
- Click Planning Center, enter the Personal Access Token Application ID and Secret, test the connection, and choose a service type from the discovered list.
- Click MIDI / Playback, select the MIDI input, channel, cue note, action velocities, and debounce time.
- Click ProPresenter, enter its host and API port, select the song timer and optional Look, then test the connection.
- Click Lights to select an output and add elapsed-time lighting cues when lighting automation is needed.
Settings persist between launches. Planning Center credentials are stored separately in the operating system credential store and are never returned by the StagePilot API.
When StagePilot opens, it looks for a plan on the current local date. If none exists, it loads the next upcoming plan for the selected service type. Equally plausible plans require a manual selection instead of being chosen silently.
Before a service:
- Confirm the correct service and service time in Service Plan.
- Review Readiness Check and open any connection card that needs attention.
- Send a Playback cue or use Manual Controls to test the timer path.
- Confirm ProPresenter shows the selected timer as a Countdown Timer with the correct duration.
- Keep StagePilot open during the service to monitor timing, connections, lighting cues, and events.
Service headers and reference items remain visible in Planning Center order, while song rows drive the timer workflow. The Service Plan, Now Playing, Manual Controls, Readiness Check, and Recent Event Stream widgets can be dragged or moved with their arrow controls. The chosen layout is restored on future launches.
The default Playback cue uses MIDI channel 1 and note 112 (E7). Velocities select the action:
| Velocity | Action |
|---|---|
| 100 | Start next |
| 101 | Restart current |
| 102 | Previous |
| 103 | Next |
| 104 | Reload plan |
| 105 | Stop timer |
The note, channel, and velocities can be changed in MIDI Configuration. Reset Position remains available from Manual Controls and returns both StagePilot and the configured ProPresenter timer to 0:00.
To use the Service Plan features, sign in to Planning Center's Personal Access Token page and create a Personal Access Token for StagePilot.
- Create a new token with a recognizable name such as
StagePilot. - Copy the token's Client ID into StagePilot's Application ID field.
- Copy the token's Secret into StagePilot's Secret field.
- Select Test connection, load the available service types, choose the service StagePilot should follow, and save the settings.
Treat the Client ID and Secret like a password. Do not include them in screenshots, logs, support requests, or GitHub issues. StagePilot stores the secret in the operating system credential store rather than its normal settings file.
StagePilot caches the last successfully loaded service plan. If Planning Center is temporarily unavailable, the cached plan remains visible with a stale warning rather than leaving the production dashboard empty.
If something fails:
- Open the affected connection card and run its connection test.
- Review Recent Event Stream for the specific operation that failed.
- Set the backend log level to
DEBUG, restart StagePilot, and reproduce the issue once. - Attach
stagepilot-backend.logto a GitHub issue.
Packaged macOS logs are stored at ~/Library/Logs/org.stagepilot.desktop/stagepilot-backend.log. More configuration and security information is available in the configuration guide and security notes.
Test the complete signal path with the same computers, network, MIDI routes, Playback session, ProPresenter timer, and lighting setup that will be used during the event.
StagePilot is open source. Development, testing, and packaging instructions are in CONTRIBUTING.md, with future direction in ROADMAP.md.
StagePilot is licensed under the GNU General Public License v3.0.