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
+4 -2
View File
@@ -29,8 +29,10 @@ design note is updated.
Two `static-text` blocks explain the console-side iPad extension settings and the iPad-app settings
(generic wording: "this computer", no IPs). Nothing else. Keepalive is always on. Dialect is fixed to
the DiGiCo Pad / SD tree (the only one the iPad extension speaks). On/off values are written as
int 0/1, levels and pans as floats (DiGiCo SD OSC list).
the DiGiCo Pad / SD tree (the only one the iPad extension speaks). Every 0/1 switch is reported AND
written as a float 0.0 / 1.0, as are levels and pans. Verified on an S31 (2026-10-15): int and T/F writes to a
switch are silently ignored (no echo, no change), so the 2014 DiGiCo list (which says Int) is wrong for the S31.
Snapshot triggers and meter subscriptions keep integer arguments.
## Topology discovery