Skip to content

am4: fix amp-edit crash, enable block place/remove + palette#31

Merged
sKuhLight merged 1 commit into
mainfrom
break-free
Jul 4, 2026
Merged

am4: fix amp-edit crash, enable block place/remove + palette#31
sKuhLight merged 1 commit into
mainfrom
break-free

Conversation

@sKuhLight

Copy link
Copy Markdown
Owner

Lands the remaining AM4 (model 0x15) fix on top of the portable-runtime release already merged to main.

What's included

  • am4: fix amp-edit crash, enable block place/remove + palette (f47c3b7)

The rest of AM4 support (device profile, gen-3 gating, param read/write, driver architecture) already reached main via PRs #29/#30. This is the outstanding follow-up fix.

🤖 Generated with Claude Code

- Composite (pidLow<<16)|pidHigh id encoding for block params so amp
  and cab sub-blocks no longer collide on bare pidHigh — fixes the
  each_key_duplicate crash when opening the Amp editor, and the latent
  cab-write mis-addressing. setParam() decodes the composite back.
- Bump bypass sentinel to 0xffff (above every bare pidHigh, below every
  composite id) so it can't collide either.
- Implement placeCell() via buildSetBlockType(slot, id): place/change a
  block, and clear a slot (id 0) — enables delete + change amp.
- Implement blocksCatalog() so the add-FX palette is populated.
- Capability gridEdit: true (slot block-type write); decouple
  gridRouting from gridEdit in registryCore (routing = cable, which AM4
  lacks) so caps stay accurate.
- Report the actually-active driver in the detect log instead of leaking
  the vestigial gen-3 profile key.
@sKuhLight sKuhLight merged commit 93c5099 into main Jul 4, 2026
2 checks passed
@sKuhLight sKuhLight deleted the break-free branch July 4, 2026 05:34
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