Write on/off switches as float 0/1, as the S31 requires

Verified on a live S31 against an unused, silent input (restored after):
a float fader write is accepted and echoed, but a mute written as int 0/1
or as an OSC True/False is silently ignored, while a float 1.0/0.0 works.
DiGiCo's 2014 SD command list says int, which is wrong for the S31.

Every switch (mute, solo, send on, group assign, EQ/dynamics/filter/
insert/delay switches, phantom, phase, pad, GEQ in) now goes out as a
float. The mock console now ignores int and T/F switch writes the same
way the console does, so a regression to int fails 38 checks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-15 17:32:17 -04:00
co-authored by Claude Opus 5.5
parent dad8010239
commit 57645be1e9
6 changed files with 87 additions and 40 deletions
+3 -2
View File
@@ -166,8 +166,9 @@ different banks both receive the mixed stream. The module never sends `/Meters/c
## Protocol (condensed)
A query is the address plus `/?` with no argument; the reply is the same address without `/?`. All 0/1
switches are **reported as floats** but written as integers 0/1; levels, sends and pans are floats. Numbers
are 1-based, snapshot indexes 0-based.
switches are **reported and written as floats** (0.0 / 1.0), verified on an S31 on 2026-10-15: integer and
OSC `T`/`F` writes to a switch are silently ignored (no echo, no change), unlike the 2014 DiGiCo list.
Levels, sends and pans are floats too. Numbers are 1-based, snapshot indexes 0-based.
| Address | Reply | Notes |
| --- | --- | --- |