Companion module for the DiGiCo S31 with an iPad relay (v1)

Bitfocus Companion 5 connection module (ESM, @companion-module/base ~2.1.3,
runtime node22) for the DiGiCo S21/S31. It occupies the console's single
iPad slot, controls per-channel sends/assigns to one buss, aux send
level/on/pan, mutes, faders and snapshots, and relays any number of DiGiCo
iPad apps through to the console byte-for-byte.

The S31's iPad extension was probed live: it speaks the SD/DiGiCo Pad OSC
tree (console receives on 8000, replies only to the configured iPad port
9000). tools/mock-s31.js emulates the console and test/selftest.js runs the
link + relay end to end against it. docs/design-v2.md is the brief for the
generic v2 rewrite.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-10-15 15:55:18 -04:00
co-authored by Claude Fable 5.1
commit 131cdfd81f
23 changed files with 10066 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
{
"$schema": "../node_modules/@companion-module/base/assets/manifest.schema.json",
"type": "connection",
"id": "digico-s31",
"name": "digico-s31",
"shortname": "DiGiCo S31",
"description": "DiGiCo S21/S31 aux-send control over OSC with a relay that lets several DiGiCo iPad apps share the console's single remote slot",
"version": "0.1.0",
"license": "MIT",
"repository": "http://chronicles-ab.waterschurch.org:3000/Waters-Church/companion-module-digico-s31",
"bugs": "http://chronicles-ab.waterschurch.org:3000/Waters-Church/companion-module-digico-s31/issues",
"maintainers": [{ "name": "Waters Church Production" }],
"legacyIds": [],
"runtime": {
"type": "node22",
"api": "nodejs-ipc",
"apiVersion": "2.1.3",
"entrypoint": "../src/main.js"
},
"manufacturer": "DiGiCo",
"products": ["S21", "S31"],
"keywords": ["Audio", "Sound", "Mixer", "OSC"]
}