Skip to content

Make the raw fader value type consistent - #93

Open
iibaranov-IG wants to merge 1 commit into
OpenMixerProject:developfrom
iibaranov-IG:bcl/openmixercontrol-80-75f181943f0f0d26
Open

iibaranov-IG wants to merge 1 commit into
OpenMixerProject:developfrom
iibaranov-IG:bcl/openmixercontrol-80-75f181943f0f0d26

Conversation

@iibaranov-IG

Copy link
Copy Markdown

Volume::SetFadervalue accepts a float but immediately passes it to Helper::Fadervalue2dBfs(uint16_t), silently truncating fractions and exposing a misleading API for the console's 12-bit raw fader value.

Change

Change Volume::SetFadervalue's declaration and definition to uint16_t, matching the 0..4095 physical fader domain and the existing helper contract.

Related issue: #80

Reproduction and acceptance

Inspect the declaration and definition of Volume::SetFadervalue at the pinned revision: both accept float while the only conversion helper and hardware callback accept uint16_t.

The Volume setter, conversion helper, and physical fader path use one explicit uint16_t raw-value type, with no implicit float-to-integer conversion at the setter boundary.

BCL evidence

Run: https://github.com/iibaranov-IG/broadcast-control-lab/actions/runs/34850745991

Artifact: batch-evidence/openmixercontrol-80
BCL revision: a8ccbf77c45ca7de27e3508f1a179d10f0d9840f
Tested baseline: OpenMixerProject/OpenMixerControl@6838286c6fb2eefc16a71aaacf091f4dda40a629
Candidate SHA-256: 75f181943f0f0d26517d1c408e684757c2a3a0987f84e0102a3a60ded1b440e5

  • baseline-red: PASS; command: python3 tests/bcl_fader_type.py .; exit: 1; log: upstream-2-baseline-red.log
  • candidate-green: PASS; command: python3 tests/bcl_fader_type.py .; exit: 0; log: upstream-3-candidate-green.log
  • candidate-suite: PASS; command: python3 tests/bcl_fader_type.py .; exit: 0; log: upstream-4-candidate-suite.log

Owner check

Build the X32/M32 target, move a physical fader through its range, and confirm the surface still reports and recalls positions from 0 through 4095 without jumps.

BCL proves the API mismatch on the pinned baseline and the consistent raw fader type after the repair. The repository's full build requires external libraries and Linux headers; GitHub's target builds remain authoritative.

Hardware verified: false. Full application verified: false.

The evidence artifact contains HARDWARE-CHECK.md and owner-result.json. Automated checks do not certify hardware.

@iibaranov-IG
iibaranov-IG force-pushed the bcl/openmixercontrol-80-75f181943f0f0d26 branch from be3c4c7 to 4616fc9 Compare September 14, 2026 13:43
@iibaranov-IG
iibaranov-IG marked this pull request as ready for review September 14, 2026 13:43
@iibaranov-IG iibaranov-IG mentioned this pull request Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant