Skip to content

Headless mode

On Linux and macOS, Prest can run with no window on a stage computer. It plays the audio and runs Prest Server, whose screens control the transport and open songs from setlists. There is no timeline and no PresTools.

In a terminal, run Prest with --headless, and optionally a song or project to open:

  • Linux: in the unpacked Prest folder,

    Terminal window
    ./prest --headless show.prest
  • macOS:

    Terminal window
    /Applications/Prest.app/Contents/MacOS/Prest --headless show.prest

Expected result: Prest opens the song or project, if you named one, and Prest Server starts. The terminal shows Prest’s log, with a line such as prest server: serving on port and the port number. Screens connect as described in Stage screens; Prest Server’s port settings apply as they do with the window.

Prest plays on the audio device, and the metronome on the outputs, chosen in Settings → Audio the last time Prest ran with its window. Choose them there first.

It needs no display, but on Linux the libraries the window uses (WebKitGTK 4.1, GTK 3, and ALSA) must still be installed.

Press Ctrl-C, or send it SIGTERM or SIGHUP. Prest quits as the window does, but asks nothing: changes that were not saved are kept as recovery copies, and Prest offers them back the next time it opens with its window. See Recovery.

Prest also ends, with exit status 1, when Prest Server cannot start or stops.

To turn a REAPER project, an Ableton Live set, or a DAWproject file into a Prest project without opening the window, run Prest with --convert, the project, and the .prest file to write:

Terminal window
./prest --convert "Set.rpp" "Set.prest"

On macOS, use /Applications/Prest.app/Contents/MacOS/Prest in place of ./prest. Prest opens the project as Open… would and saves it as the .prest file you named, then quits. If it cannot, it prints why and ends with exit status 1. Save the .prest in the original’s folder: the paths to audio in that folder are then kept relative, so the folder can move as a whole.

To convert every REAPER project in a folder, in a macOS or Linux terminal:

Terminal window
for f in *.rpp; do ./prest --convert "$f" "${f%.rpp}.prest"; done

On Windows, Prest.exe --convert converts too, but Prest has no console there, so it prints nothing.

Headless mode is not available on Windows. There, --headless is taken as a file to open, which Prest says it cannot.