The SENS VALUE byte span a Roland box accepts — 0x00 (least gain) to 0x37 (55, so 56 steps).
DERIVED from REAC_HEAD_AMP_GAIN_RANGE, not declared: the byte IS the gain in dB, one per
step, so the box's encoding is that travel's REALISATION on the REAC wire and taking it from the
travel is what makes the two unable to drift apart. Same law as dB vs a fader position — the
quantity is dB, and the encoding is whatever the far end happens to speak. The travel itself
lives in @freemixer/declarations, out of a client's reach, because a channel's gain span is a
property of the preamp patched behind it and a client must read the one the row publishes.
The byte span lives HERE rather than in the REAC adapter that writes it because the adapter owns
the WRITE, not the fact that the box has 56 steps.
The SENS VALUE byte span a Roland box accepts —
0x00(least gain) to0x37(55, so 56 steps).DERIVED from REAC_HEAD_AMP_GAIN_RANGE, not declared: the byte IS the gain in dB, one per step, so the box's encoding is that travel's REALISATION on the REAC wire and taking it from the travel is what makes the two unable to drift apart. Same law as dB vs a fader position — the quantity is dB, and the encoding is whatever the far end happens to speak. The travel itself lives in
@freemixer/declarations, out of a client's reach, because a channel's gain span is a property of the preamp patched behind it and a client must read the one the row publishes.The byte span lives HERE rather than in the REAC adapter that writes it because the adapter owns the WRITE, not the fact that the box has 56 steps.