Skip to content

Add configurable master fader modes - #5

Closed
daxliniere wants to merge 4 commits into
ak5k:mainfrom
daxliniere:agent/master-fader-mode
Closed

daxliniere wants to merge 4 commits into
ak5k:mainfrom
daxliniere:agent/master-fader-mode

Conversation

@daxliniere

@daxliniere daxliniere commented Aug 5, 2026 •

Copy link
Copy Markdown

What changed

  • add a Master fader setting with Master volume, Last-touched FX parameter, and Disabled choices
  • capture the current last-touched track or take FX parameter by tapping the jog wheel
  • keep the captured target focused when REAPER's last-touched parameter later changes
  • validate the captured FX GUID and parameter before every access to prevent writes being redirected after FX deletion or reordering
  • suppress motor-input feedback unless the master fader touch sensor is active, and cache quantized motor output to avoid repeated unchanged messages
  • add an Enable control surface checkbox that releases the configured MIDI input and output while disabled
  • keep Master volume as the backward-compatible default
  • suppress master-fader MIDI move, touch, normal surface-output, custom MCU output-track, and ReaScript output data when disabled
  • preserve the existing Ignore fader moves when fader is not being touched option when saving settings
  • display the extension version at the lower-left of the settings panel
  • update both Windows and SWELL dialog resources

Why

Users may want to reserve the physical master fader for another purpose instead of binding it to the REAPER master volume. LTFP mode provides deliberate jog-tap assignment without following every later FX click, while Disabled mode makes reservation explicit and prevents the surface implementation from fighting another mapping.

Compatibility

The new behavior is stored as an additional bit in the existing configuration flags field. Existing configurations do not have that bit and therefore retain the current Master volume behavior.

The surface-enable toggle also uses an opt-out flag, so existing configurations remain enabled. Port selections are retained while disabled, but their MIDI handles are not opened, allowing REAPER to use the device as a normal MIDI input/output.

Validation

  • built the standard Windows x64 reaper_reamculive-x64.dll target successfully
  • MSVC 19.44.35228, Windows SDK 10.0.26100.0, CMake 4.3.3
  • confirmed the generated DLL is x64
  • git diff --check passes

Dependency

This branch is stacked on #4. Until #4 is merged, GitHub will also show its track-navigation commit in this PR; after merge, the PR diff will reduce to the master-fader/settings changes.

@daxliniere daxliniere changed the title Add master fader mode setting Add configurable master fader modes Aug 6, 2026
@daxliniere

Copy link
Copy Markdown
Author

Closing until the hardware changes have been tested and explicitly approved for upstream submission.

@daxliniere daxliniere closed this Aug 6, 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