ProPresenter Lyrics Export

Logo

Extract and export worship song lyrics from ProPresenter 7

View the Project on GitHub adamswbrown/propresenterlyricexport

ProPresenter Viewer Guide

<- Back to Home Getting Started

Let your congregation follow along on their own devices with real-time slide thumbnails and lyrics text, streamed directly from ProPresenter.

Table of Contents

  1. What is ProPresenter Viewer?
  2. How It Works
  3. Installation
  4. Setup (First Run)
  5. Sharing the Viewer URL
  6. Using the Viewer on Devices
  7. End-to-End Walkthrough
  8. Tray Menu & Settings
  9. Troubleshooting

What is ProPresenter Viewer?

ProPresenter Viewer is a standalone companion app that runs alongside ProPresenter on your production machine. It provides a web-based live view of the current slide so that anyone on the same Wi-Fi network can follow the service on their phone, tablet, or laptop browser.

Use cases:

Key features:


How It Works

ProPresenter 7          Viewer App (menu bar)         Congregation devices
 ┌─────────────┐        ┌─────────────────────┐       ┌──────────────────┐
 │  Network API │───────>│  Polls PP every 1.5s │       │  Phone / iPad /  │
 │  (port 1025) │        │  Serves web viewer   │──────>│  Laptop browser  │
 └─────────────┘        │  on port 3100        │  SSE  │  at viewer URL   │
                        └─────────────────────┘       └──────────────────┘
  1. The Viewer App sits in your menu bar and polls ProPresenter’s Network API every 1.5 seconds for the current slide status.
  2. When a slide changes, the app broadcasts the update to all connected browsers using Server-Sent Events (SSE) — a lightweight, one-way push mechanism.
  3. Each browser fetches the slide thumbnail image directly through the Viewer App (which proxies it from ProPresenter’s API), so congregation devices never need direct access to ProPresenter.
  4. If ProPresenter is quit or the connection drops, the viewer page shows a reconnecting overlay and clears stale content automatically.

Installation

Download

Go to GitHub Releases and download the Viewer for your platform:

The Viewer app is a separate download from the main ProPresenter Lyrics app. You only need the Viewer if you want to provide a live slide view for congregation devices.

macOS

# 1. Unzip the download
unzip ProPresenter-Viewer-1.0.0-mac.zip

# 2. Fix Gatekeeper (one-time, since the app is not notarized)
xattr -cr "ProPresenter Viewer.app"

# 3. Move to Applications (optional but recommended)
mv "ProPresenter Viewer.app" /Applications/

# 4. Launch
open "/Applications/ProPresenter Viewer.app"

After launching, a small cross icon appears in your menu bar (top-right of your screen). There is no dock icon — the app is designed to stay out of the way.

Windows

  1. Run the installer (ProPresenter-Viewer-1.0.0-win.exe)
  2. Follow the one-click installer
  3. Launch “ProPresenter Viewer” from the Start menu
  4. The app appears in your system tray (bottom-right, near the clock)

Setup (First Run)

When the Viewer App launches for the first time, a small settings window appears automatically.

1. Configure ProPresenter Connection

Field Description Default
ProPresenter Host IP address or hostname of the machine running ProPresenter 127.0.0.1 (same machine)
ProPresenter Port The Network API port configured in ProPresenter 61659
Server Port The port the Viewer web server listens on 3100

Finding your ProPresenter port: Open ProPresenter -> Preferences -> Network. The port is shown next to “Enable Network API”. Common values are 1025 (older default) or 61659.

2. Test the Connection

Click Test Connection to verify that ProPresenter is reachable. You should see a green indicator with the ProPresenter version (e.g., “Connected (v7.x)”).

If the test fails:

3. Save Settings

Click Save. The Viewer server restarts automatically with the new settings. The viewer URL is shown in the settings window — this is the address you share with your congregation.


Sharing the Viewer URL

Once the server is running, the settings window displays the Viewer URL, for example:

http://192.168.1.50:3100/viewer

This URL is accessible to any device on the same Wi-Fi network. You can:

Tips for sharing


Using the Viewer on Devices

What viewers see

When a congregation member opens the URL on their phone or tablet:

  1. Status bar — Shows “Service Viewer” with a connection indicator, refresh button, and fullscreen button
  2. Slide thumbnail — A large, real-time image of the current ProPresenter slide, scaled to fill the screen
  3. Lyrics text — The current slide’s text displayed below the image for easy reading
  4. LIVE badge — Appears when content is actively being presented

Viewer states

State What’s shown
Live content Slide thumbnail + lyrics text + LIVE badge
Media / video slide Slide thumbnail + “Video / Media” badge (no lyrics)
Between items “Service in progress — Next lyrics will appear automatically”
Waiting to start “Waiting for service to begin…”
ProPresenter disconnected Reconnecting overlay with spinner
Server unreachable Reconnecting overlay (auto-retries every 3 seconds)

Refresh button

The circular arrow button in the status bar forces the viewer to:

Use it if the viewer looks stale or a thumbnail didn’t load. The button spins briefly to confirm the refresh.

Most of the time you won’t need this — the viewer automatically detects and recovers from stale connections (see Staying Connected below). The button is there as a manual fallback.

Fullscreen mode

Viewers can tap the fullscreen button (top-right) or double-tap the slide image to enter fullscreen mode. This hides the status bar and gives the slide maximum screen space. Tap the button again or double-tap to exit.

Responsive design

The viewer adapts to any screen size:

Staying connected

The viewer uses several mechanisms to ensure devices stay in sync throughout a service:

  1. Server-Sent Events (SSE) — The primary real-time channel. The server pushes slide changes to all connected devices instantly.
  2. Server heartbeat — The server sends a keepalive signal every 15 seconds to all connected browsers, keeping the connection alive through network proxies and mobile power management.
  3. Heartbeat timeout — If the browser doesn’t receive any activity for 25 seconds, it assumes the connection has gone stale and automatically reconnects and re-fetches the current slide.
  4. Page visibility detection — When a user returns to the viewer tab after locking their phone or switching apps, the viewer checks how long it’s been inactive. If it’s been too long, it immediately refreshes rather than waiting for the next heartbeat timeout.
  5. Manual refresh — The refresh button in the status bar forces an immediate re-fetch and reconnect as a last resort.

These layers work together so that even on iPads that aggressively suspend background tabs, the viewer recovers within seconds of the user returning to it.


End-to-End Walkthrough

Here’s a complete walkthrough from installation to congregation members viewing slides:

Before the service

  1. Install the Viewer App on the ProPresenter machine (see Installation)
  2. Launch the Viewer App — the tray icon appears and the settings window opens
  3. Configure the ProPresenter host and port, then click Test Connection to verify
  4. Save the settings — the server starts and the viewer URL is displayed
  5. Test by opening the viewer URL in a browser on another device (phone, tablet) — you should see “Waiting for service to begin…”
  6. Advance a slide in ProPresenter — the viewer should update within ~2 seconds with the slide thumbnail and lyrics

During the service

After the service


Tray Menu & Settings

Tray icon

Click the menu bar icon (macOS) or system tray icon (Windows) to toggle the settings window. Right-click for the context menu:

Menu item Description
ProPresenter: Connected/Disconnected Current connection status (read-only)
Viewer: http://… Click to open the viewer in your browser
Copy Viewer URL Copies the URL to your clipboard
Settings… Opens the settings window
Quit Stops the server and exits the app

Settings window

The compact settings window shows:


Troubleshooting

Viewer page shows “Waiting for service to begin…” but ProPresenter has content

Devices can’t reach the viewer URL

Slide thumbnails don’t load or are blank

“Port 3100 is already in use” error

Another application (or a previous instance of the Viewer App) is using port 3100. Either:

Settings window doesn’t appear

Viewer looks stale or stuck


System Requirements

ProPresenter machine (runs the Viewer App):

Congregation devices (view in browser):


Common Questions

Will the Viewer App slow down ProPresenter during a service?

No. The impact is negligible. Here’s what happens during a typical 90-minute service:

ProPresenter’s own GPU rendering and video playback consume far more resources than the Viewer App’s API polling. You should not notice any performance impact.

How many devices can connect at once?

There’s no hard limit. The Viewer App uses Server-Sent Events (SSE), which are lightweight one-way connections. Each connected device holds one open HTTP connection and receives tiny JSON messages only when a slide changes (plus a 15-byte heartbeat every 15 seconds).

In practice, a typical church Wi-Fi network would become the bottleneck before the Viewer App does. For congregations of 50-200 devices, performance should be excellent.

Does it work if ProPresenter is on a different machine?

Yes. Set the ProPresenter Host in settings to the IP address of the machine running ProPresenter (e.g., 192.168.1.10). The Viewer App can run on any machine on the same network — it doesn’t have to be the same computer as ProPresenter.

Can I use it over the internet (not just local Wi-Fi)?

The Viewer App is designed for local network use. For remote/internet access, you’d need to expose the viewer port through a tunnel or reverse proxy. The separate Web Proxy feature (coming soon) provides authenticated remote access via Cloudflare Tunnel.

What happens if my phone locks during the service?

When you unlock your phone and return to the viewer, it detects that the connection has been inactive and automatically refreshes to show the current slide. This typically happens within 1-2 seconds of returning to the tab. You can also tap the refresh button if you want to force an immediate update.

Does it use a lot of mobile data?

No. The viewer is designed to be bandwidth-efficient:


Need Help?