Skip to content

Add per-channel HCR volume config and alt+wheel routing#70

Merged
thePunderWoman merged 1 commit intomainfrom
feat/per-channel-volume
Apr 29, 2026
Merged

Add per-channel HCR volume config and alt+wheel routing#70
thePunderWoman merged 1 commit intomainfrom
feat/per-channel-volume

Conversation

@thePunderWoman
Copy link
Copy Markdown
Owner

Summary

  • Adds volumeChA= and volumeChB= config options to set independent startup volumes for HCR channels A and B (useful when wav files are significantly louder than the voice channel)
  • Adds volumewheel= to select which channel (global/voice/chA/chB) the volume wheel (L1 trigger) controls
  • Adds altvolumewheel= to select a different target channel when the alt button is held while turning the wheel; 0 falls through to normal volumewheel behaviour
  • All four options are HCR-only and no-ops on VMusic builds

Changed files

  • include/params.h — 4 new fields + defaults
  • src/config.cpp — parse the 4 new config keys
  • include/audio.h / src/audio.cpp — per-channel startup init, applyHCRVolume() helper, setVolumeNoResponse routes by volumewheel, new setAltVolumeNoResponse
  • include/controller.hsetAltVolumeNoResponse forwarder
  • src/drive_controllers.cpp — L1 trigger checks isAltHeld() and dispatches to alt or normal volume path
  • example_config.txt — documents all 4 new keys with examples

Test plan

  • pio test -e native — all 18 suites pass (new tests in test_audio and test_processconfig)
  • pio run — firmware builds clean
  • On hardware: confirm volumeChA=30 starts channel A quieter than voice
  • On hardware: confirm volumewheel=1 scopes the wheel to voice only
  • On hardware: confirm altvolumewheel=2 + alt held adjusts chA while normal wheel adjusts according to volumewheel
  • On hardware: confirm omitting the new keys gives identical behaviour to before

🤖 Generated with Claude Code

Introduces volumeChA=, volumeChB=, volumewheel=, and altvolumewheel=
config options so voice and wav channel volumes can be set independently
at startup, the volume wheel can target a specific channel, and holding
the alt button while turning the wheel can control a different channel.
Falls through to normal volumewheel behaviour when altvolumewheel=0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@thePunderWoman thePunderWoman merged commit 09c139b into main Apr 29, 2026
1 check passed
@thePunderWoman thePunderWoman deleted the feat/per-channel-volume branch April 29, 2026 02:54
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