Using the WebSockets Server

The WebSockets Server is an experimental control surface that allows controlling a running Ardour session via a web browser on any computer in the same local network.

The connection between the WebSockets server and a running instance of Ardour is two-way: any changes made in the web-based surface are immediately available in Ardour, and vice versa.

The experimental status means that this control surface is not feature-complete and might have bugs.

Supported features are currently limited to:

  • Adjusting positions of channel faders and panners in tracks and the master bus, as well as muting and unmuting tracks.
  • Changing settings of LV2 plugins that have already been loaded into tracks or the master bus.
  • Rolling or pausing transport.

Enabling and Accessing the WebSockets Server

To enable the WebSockets Server surface, open the Preferences dialog and go to the Control Surfaces page. Click on the Web Sockets Server (Experimental) to enable it. This will immediately run the server and make it available on port 3818. You can verify that it's running by opening a web browser on the same computer and visiting http://localhost:3818/. You should see the home page that looks like this:

WebSockets Server main page
WebSockets Server main page

To access the server from any device in the same network you need to know the broadcast IP address of the computer running Ardour. Here is how to do that on supported operating systems.

Windows 10:

  1. Open the Settings application.
  2. Go to the Network & internet from the menu on the left, then click Properties along the top.
  3. Select the type of network connection (WiFi or Ethernet)
  4. Click Network in the center.
  5. In the newly opened page, the local IPv4 address be displayed.

…or…

  1. Open the Start menu and type cmd. This will to open the command prompt.
  2. Type ipconfig and press Enter.
  3. In the output, look for IPv4 address.

macOS:

  1. Open the System Preferences dialog.
  2. Select Network, then choose connection type (typically WiFi, Ethernet, or USB).
  3. The IP address will be displayed on the newly opened page under the connection status.

Linux:

  1. Open a terminal program.
  2. Run this command: $ ip -4 address.
  3. The output will list several network devices. You want the one that has "BROADCAST" rather than "LOOPBACK" in the description.

Once you know the address, you can open the control surface web app in a browser by visiting the IP address with appended port number. E.g. if the IP address of the computer running Ardour is 192.168.1.68, the entire URL will be http://192.168.1.68:3818/.

Using the WebSockets Server control surface

Various features available in the control surface are spread across three pages: Mixer, Transport, and Protocol.

Mixer

This is where you can view VU meters for each track and the master bus, as well as make a number of adjustments:

  • Change positions of faders and panners.
  • Enable and disable the Mute status.
  • Adjust settings of LV2 plugins loaded into mixer channels.
Mixer view in WebSockets Server
Mixer view in WebSockets Server

The control surface only supports changing settings for LV2 plugins presently. LADSPA, VST2/VST3, and AU plugins will not be listed. When an LV2 plugin has been loaded into a mixer channel, a button with "f" caption appears on top of the mixer channel. Clicking it opens this kind of an overlay:

Plugins view in WebSockets Server
Plugins view in WebSockets Server

Transport

The Transport view displays the timecode of the current playhead position and allows toggling playback.

Transport view in WebSockets Server
Transport view in WebSockets Server

The Record toggle is currently non-functional.

Protocol

This page is targeted at developers willing to enhance the WebSockets Server control surface. It displays the data passed between Ardour and the web browser.

Protocol view in WebSockets Server
Protocol view in WebSockets Server