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
+2 -1
View File
@@ -754,7 +754,8 @@ export default class DigicoS31Instance extends InstanceBase {
}
on = !cur
}
return this.write(address, [{ i: on ? 1 : 0 }], on ? 1 : 0)
// Verified on an S31: switches are written as float 0.0 / 1.0; int and T/F writes are silently ignored.
return this.write(address, [on ? 1 : 0], on ? 1 : 0)
}
writeLevel(address, dB) {