Skip to content

v29

Choose a tag to compare

@github-actions github-actions released this 07 Jun 02:48
· 14 commits to main since this release
Per-rig dynamic knob layouts + tuner cents fix

Resolve each board's HOME dials from the loaded rig's signal chain instead
of a single global assignment:

- BlockCatalog.h: ModuleType -> generic-category table generated from the
  Prime's own categoryOfBlock (authoritative, not heuristic), plus per-
  category bind params and the Gain/Ambience bucket priorities.
- Net task introspects /Evil/Engine/Patch/Chain on every rig change and
  resolves two dynamic dials (Gain: Drive>Amp>Comp, Ambience:
  Reverb>Delay>Mod>Filter>Pitch), picking the first param the real block
  exposes. Cross-fills empty buckets; falls back to globals for sparse rigs.
- Per-rig HOME assignment persisted in NVS keyed by the rig's loadedID;
  unconfigured rigs use the generated default by board role. Rig changes
  (WebSocket PresetName) re-resolve the layout and refresh the displayed value.
- Default layout + authoritative categorization documented in UX_MODEL.md.

Also fix the tuner readout: FFTCtrl delivers raw values (TunerRef reads 440,
TunerCents meta -100..+100), not the 0..1 normalized wire other params use.
TunerCents was being stretched through wireToDisplay(-50,+50), correct only
at dead center; use it directly as cents.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>