Make the raw fader value type consistent - #93
Open
iibaranov-IG wants to merge 1 commit into
Open
iibaranov-IG wants to merge 1 commit into
iibaranov-IG wants to merge 1 commit into
Conversation
iibaranov-IG
force-pushed
the
bcl/openmixercontrol-80-75f181943f0f0d26
branch
from
September 14, 2026 13:43
be3c4c7 to
4616fc9
Compare
iibaranov-IG
marked this pull request as ready for review
September 14, 2026 13:43
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-80BCL revision:
a8ccbf77c45ca7de27e3508f1a179d10f0d9840fTested baseline:
OpenMixerProject/OpenMixerControl@6838286c6fb2eefc16a71aaacf091f4dda40a629Candidate SHA-256:
75f181943f0f0d26517d1c408e684757c2a3a0987f84e0102a3a60ded1b440e5python3 tests/bcl_fader_type.py .; exit: 1; log:upstream-2-baseline-red.logpython3 tests/bcl_fader_type.py .; exit: 0; log:upstream-3-candidate-green.logpython3 tests/bcl_fader_type.py .; exit: 0; log:upstream-4-candidate-suite.logOwner 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.