Getting started

Prebuilt binaries for Linux, Windows and OS X can be found on the release page.

Options

Below are the available command-line options. Note that when running without any command-line switch (ie from a file browser), a launcher window will spawn to help setting them.

Option Description
sync synchronized hosts (ip:port pairs) (osc messages sent by widgets will also be sent to these targets)
load session file to load
blank load a blank session and start the editor
custom-module custom module file to load
port http port of the server (default to 8080)
osc-port osc input port (default to --port)
midi midi router settings (requires python-pyo)
debug log received osc messages in the console
no-gui disable default gui
gui-only app server's url. If true, local port (--port) is used
theme theme name or path (mutliple values allowed)
examples list examples instead of recent sessions
url-options url options (opt=value pairs)
disable-vsync disable gui's vertical synchronization
read-only disable session editing and session history changes

Command-line only :

Option Description
help print available options
version print version number

Examples

$ open-stage-control --sync 127.0.0.1:5555 127.0.0.1:6666 --port 7777

This will create an app listening on port 7777 for synchronization messages, and sending its widgets state changes to ports 5555 and 6666.

$ open-stage-control --no-gui --load path/to/session.js --port 9999

This will create a headless app available through http on port 9999 with session.js loaded automatically.

Run from sources

Running the app from the sources slightly differs from using built binaries : instead of running a binary, we'll launch the app with npm.

1. Requirements

$ sudo apt-get install nodejs npm  # install nodejs & npm
$ sudo npm install -g npm   # update npm

2. Download sources

$ git clone https://github.com/jean-emmanuel/open-stage-control
$ cd open-stage-control/
$ npm install

3. Run !

$ npm start [ -- options]

A double hyphen (--) is used here to tell npm that the options are to be passed to the app.

Build from sources

1. Requirements

$ sudo apt-get install nodejs npm  # install nodejs & npm
$ sudo npm install -g npm   # update npm

2. Build

$ git clone https://github.com/jean-emmanuel/open-stage-control
$ cd open-stage-control
$ npm install
$ export PLATFORM=TARGET_PLATFORM # TARGET_PLATFORM can be linux, win32 (windows) or darwin (os x)
$ export ARCH=TARGET_ARCH         # TARGET_ARCH can be ia32, x64 or armv7l
$ npm run build

# Do the following if you want a deb package for debian/ubuntu

$ npm run deb32

# or

$ npm run deb64

# or

$ npm run debarm

This will build the app in dist/open-stage-control-PLATFORM-ARCH.

Building the app for windows from a linux system requires wine to be installed.*

Running in a headless context

Electron, Open Stage Control's engine, is based on chromium and can't run out of the box without a display server. However, using a virtual framebuffer does the trick. Detailed instructions can be found in Electron's documentation.

In short: install xvfb and prepend your command with xvfb-run:

$ xvfb-run open-stage-control -n