Skip to content

Repository files navigation

OSCWebMixer2

A rewrite of OSCWebMixer - A server that allows multiple web clients to control their own mix as well as external devices for a DiGiCo sound desk. It currently works with SD Series and Quantum consoles.

What makes v2 better?

  • This new version uses the same iPad connection that is built into the SD/Quantum consoles so it means you can use webmixer devices as well as the DiGiCo iPad apps at the same time. In-fact you can use multiple iPad apps simultaneously!
  • All configuration is done in a browser instead of config files
  • Auxilaries and Channels can have icons assigned to them
  • Channels can be sorted
  • Custom functionality can be added by writing some simple Plugins. There are a couple of examples of how this can be used in the plugins directory
  • Webmixer can send and receive OSC messages to custom devices. This means it can communicate with TouchOSC, Reaper etc.
  • Startup is much quicker because webmixer requests only the information it requires
  • You can group your channels to make them easier to find
  • The current snapshot name is displayed in webmixer
  • Channel and auxiliary configuration can be saved as named presets and recalled later

Donate

This project has taken considerable time to create. If you find it useful and would like further development please make a donation.

paypal

Screenshots

Requirements

  • A DiGiCo SD Series or Quantum Mixing desk.
  • A computer to run the server. Windows, macOS or Linux.
  • GIT will need to be installed for Windows. Node must be installed. On macOS you can install node with Homebrew (brew install node)
  • Server, Desk and other devices must all be on the same network

Admin Authentication (optional)

The admin area (used to configure the server and mixing desk) is unauthenticated by default, matching the trusted-LAN model above. If the server may be reachable from a network you don't fully trust, set the following environment variables before starting the server to require HTTP Basic Auth on the admin area:

  • ADMIN_PASSWORD - if set, the admin area requires Basic Auth with this password. If unset (the default), the admin area remains unauthenticated.
  • ADMIN_USER - username to require alongside ADMIN_PASSWORD. Defaults to admin.

Basic Setup Instructions

  1. Download repository and navigate to the directory in a shell.
  2. Run npm install to install all the required modules.
  3. Run npm run start to start the server.
  4. Visit the admin URL in your browser to configure server and mixing desk. See below screenshot for mixing desk configuration.
  5. Open the server IP address on another device and start mixing.
webmixer-external-control

Developing / Debugging Without a Console

tools/mock-desk.js is a fake DiGiCo console. It answers the OSC queries webmixer sends while loading, so the server reaches its "ready" state and the whole system

  • web mixer, plugins, external device routing - can be exercised on a workbench with no hardware. It also prints every message the server sends, so you can see exactly what the web mixer is doing.
  1. In one shell, start the mock desk:
npm run mock-desk
  1. In another shell, start webmixer as usual (npm run start).
  2. In the admin area, set the Mixing Desk IP Address to the machine running the mock (127.0.0.1 if it is the same box) and save.

Options:

node tools/mock-desk.js --channels 32 --auxes 8   # bigger desk
node tools/mock-desk.js --live                     # also push periodic snapshot changes
node tools/mock-desk.js --port 9000 --reply-port 8000 --host 127.0.0.1

With no flags it reads the port numbers from config.json when present.

Basic Setup Instructions For Docker

  1. Install Git and Docker

  2. Then execute following commands:

git clone https://github.com/castles/OSCWebMixer2.git

cd OSCWebMixer2 

docker build -t oscwebmixer2:latest .

docker compose up -d
  1. To see logs and to see what address to connect run:
docker compose logs -f webmixer

FAQs

My External Devices won't connect Ensure the server is running and the devices are connected on the same network. Verify desk settings in the admin area are correct.
What devices work? Anything with a recent web browser can connect, that means it should work on iOS, Android, Windows, macOS and Linux.
How many devices can I connect at once? No limit has been set and we haved tested 20+ without any issues.
Can I connect multiple iPads at once with the DiGiCo app? Yes, go for it.
How do I enable a plugin? Add a script into the plugin directory and make sure the filename doesn't start with an underscore. Restart webmixer and your plugin will be loaded.
Does OSCWebMixer2 also support DiGiCo S-Series consoles? Currently, S-Series consoles are not supported by V2. For now, you will need to use version 1 of OSCWebMixer with S-Series consoles.
See this issue for more information.

About

No description, website, or topics provided.

Resources

Stars

20 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages