Skip to content

REAPER guide

The Prest Server plugin is a single file that goes in REAPER’s UserPlugins folder: reaper_prest.dylib on macOS, reaper_prest.dll on Windows, or reaper_prest.so on Linux. It comes in a package for your system: prest-server-reaper-macos-universal.tar.gz, prest-server-reaper-windows-x86_64.tar.gz, or prest-server-reaper-linux-x86_64.tar.gz. Prest Server is in early access: ask for the package on its download page.

The commands below take the package from your Downloads folder and put the plugin in UserPlugins.

  1. Quit REAPER.

  2. Open Terminal and run:

    Terminal window
    mkdir -p ~/Library/Application\ Support/REAPER/UserPlugins
    tar -xzf ~/Downloads/prest-server-reaper-macos-universal.tar.gz -C ~/Library/Application\ Support/REAPER/UserPlugins --strip-components=1
  3. Start REAPER.

The plugin runs on Apple silicon and Intel Macs.

  1. Quit REAPER.

  2. Open PowerShell and run:

    Terminal window
    New-Item -ItemType Directory -Force "$env:APPDATA\REAPER\UserPlugins" | Out-Null
    tar -xzf "$HOME\Downloads\prest-server-reaper-windows-x86_64.tar.gz" -C "$env:APPDATA\REAPER\UserPlugins" --strip-components=1
  3. Start REAPER. If Windows Firewall asks about REAPER, allow it on private networks so other devices can connect.

  1. Quit REAPER.

  2. Run:

    Terminal window
    mkdir -p ~/.config/REAPER/UserPlugins
    tar -xzf ~/Downloads/prest-server-reaper-linux-x86_64.tar.gz -C ~/.config/REAPER/UserPlugins --strip-components=1
  3. Start REAPER. Linux lets only root use ports below 1024, so as a normal user Prest Server cannot use port 80. It serves on the first free port from 8418 to 8422 instead and says so at each start; see Ports to choose the port yourself.

The Linux plugin needs glibc 2.31 or later, which covers Ubuntu 20.04, Debian 11, and newer distributions.

Expected result: REAPER starts normally and shows no Prest message. If Prest Server cannot start, for example because another program already uses its ports, REAPER shows Prest could not start with the reason. Then open http://prest.local/ on a device; see Start and connect.

  • Update: run the same install command again while REAPER is closed. Your songs and setlists are kept. When moving from a 0.1 package to a later release, also delete the old reaper_prest file from UserPlugins, so that REAPER does not load both.
  • Remove: delete reaper_prest.dylib, reaper_prest.dll, or reaper_prest.so from UserPlugins. The catalog stays in prest.pb (see Files); delete it only if you want to discard your songs and setlists. Download a backup first if you might need it.

Older versions are available on the Prest Server releases page.

Prest Server keeps two files in the UserPlugins folder of REAPER’s standard resource folder, even when the plugin runs in a portable REAPER:

Folder System
~/Library/Application Support/REAPER/UserPlugins macOS
%APPDATA%\REAPER\UserPlugins Windows
~/.config/REAPER/UserPlugins ($XDG_CONFIG_HOME/REAPER/UserPlugins when that is set) Linux
  • prest.pb: the catalog: songs, setlists, the show library folder, and network settings. Start REAPER with PREST_STATE_FILE set to a file path to use another file.
  • prest.log: what Prest Server reports. When it grows past 4 MB, it is renamed prest.log.1 and a new one starts.

Prest Server listens on port 80. To use another port:

  • set Server Port in Setup, under Network & Redundancy, save, and restart REAPER; or

  • start REAPER with PREST_PORT, which overrides Server Port:

    Terminal window
    PREST_PORT=8080 reaper

    Use the full path to REAPER if reaper is not on your PATH.

Devices then add the port to the address: http://prest.local:8080/.

When the port is taken, or on Linux not allowed, Prest Server serves on the first free port from 8418 to 8422 and REAPER says so in a message box: … so Prest is serving on port 8418 instead. Open http://prest.local:8418/ — addresses without the port will not reach it. Turn Backup Port off in Setup to make Prest Server not start instead.

On Linux, REAPER running as root (for example on a dedicated stage machine) can use port 80.

Put the show’s projects in one folder, the show library, directly or in subfolders. Prest Server lists every .rpp file in it, in any case (Show.RPP counts). REAPER’s own backups (.rpp-bak) are not listed.

  • A project without song markers is one song, named after the file.
  • To put several songs in one project, add a project marker at the start of each song named S\ and the song’s name: S\Opener, S\Night Drive. Each song runs to the next song marker, or to the end of the project.
  • Markers named \ and a name (\Chorus) mark sections inside a song. Other markers, and regions, are ignored.
  • The tempo at the start of the project becomes the song’s tempo.

Put song markers on bar lines, so that lyrics and chords at a boundary belong to the right song.

  • Lyrics: MIDI lyric events on a track named Lyrics. A lyric that starts with / begins a new line, one that starts with \ a new paragraph.
  • Chords: items on a track named Chordtrack, each with the chord’s name in its item notes. An item whose notes are empty or read N is no chord.

Track names are matched in any case. Prest Server reads REAPER’s tempo and time signature changes, so bars and beats on stage match REAPER’s.

PresTools writes both tracks: it detects chords and times lyrics in REAPER.

In Prest and the next release:

  • Tracks whose name starts with Score (Score, Score Bass) can be shown as notation: their MIDI notes, lyrics, and notation events.
  • Files in a folder beside the project named after it with Attachments added can be shown as charts. See Editor.
  • Opening a song opens its project in REAPER in place of the open one, without asking to save it, so unsaved changes are lost. It then moves to the song’s start.
  • Stop stops and returns to the start of the song.
  • At the end of a song in a project with several songs, REAPER stops.
  • Adding projects opens each new project in turn. In 0.1.1, a project whose media files are missing makes REAPER stop on its own dialog asking for them, until you answer it.

In the next release:

  • Prest Server reads a project’s media before opening it. If files are missing, it does not open the project and shows Missing Media: Not opened: these media files are missing, and REAPER would stop on a dialog asking for them. and the files. Your REAPER preference for missing files is left as you set it.
  • The Mixer view moves REAPER’s faders, pans, mutes, and solos. A fader drag is one undo step in REAPER.
  • When the playhead runs on into the next song of the project, Prest Server follows it there without stopping, and moves the edit cursor to that song’s start.
  • Metronome turns REAPER’s metronome on or off.
  1. Start REAPER with the plugin installed.
  2. On a device on the same private network, open http://prest.local/, with the port if you set one (http://prest.local:8080/).
  3. If the name does not resolve, open the host computer’s IP address instead, for example http://192.168.1.20/.
  4. Check that the page reads Runtime Active.
  5. Set the show library folder in Setup, and add the songs in Editor. See Ten-minute first show.

Prest Server is tested with REAPER 7.76.

  • “Prest could not start”: read the reason in the message. A port already in use usually means another copy of REAPER with the plugin, Prest (which has Prest Server built in), Live with the Control Surface, or another web server is running.
  • No message and no connection: check that the plugin file is in the UserPlugins folder REAPER actually uses, then read prest.log (see Files).
  • Wrong songs: check the S\ markers, and read the Import Issues box after adding projects.
  • Lyrics or chords missing: check the track names and what is on them, above.

More in Troubleshooting.