Skip to content

217 midi unlearning tweak12 bug / address footswitch complete teardown#218

Open
jpremill wants to merge 4 commits into
TreeFallSound:fix/mod-param-rangesfrom
jpremill:217-midi-unlearning-tweak12-bug
Open

217 midi unlearning tweak12 bug / address footswitch complete teardown#218
jpremill wants to merge 4 commits into
TreeFallSound:fix/mod-param-rangesfrom
jpremill:217-midi-unlearning-tweak12-bug

Conversation

@jpremill

@jpremill jpremill commented Jul 23, 2026

Copy link
Copy Markdown

fixes #217
I addressed the early return in _apply_midi_binding that allowed unmapping to reach old_controller.unbind_from_parameter(), which exposed that footswitch unmapping was incomplete — Footswitch was missing an unbind_from_parameter() override to clear its parameter label/category, and update_footswitch() was missing an else: branch to repaint unmapped switches back to grey.I noticed this after the first commit. I was hesitant to continue the fix just based on needing to update the footswitch too, but I suppose this is the whole point of the testing.

@jpremill

Copy link
Copy Markdown
Author

@sastraxi I still haven't setup the deployment to the hardware device,so again this is all based on the reasonable assumption of the tests passing. The test snapshots were very helpful to identify issues, but I wasn't able to manually test using the emulator. I suspect it has something to do with the MIDI registration on mac silicon.

@sastraxi

sastraxi commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

@jpremill I gave some tips on how to deploy in the other PR! Will be reviewing this one shortly.

By the way, I hope you don't mind, I had to change the upstream branch due to some shuffling around on my end. There's a small merge conflict now.

@sastraxi
sastraxi changed the base branch from prerelease to fix/mod-param-ranges July 24, 2026 04:46
Comment thread pistomp/handler.py
controller = self.hardware.controllers.get(binding)
old_controller = self.hardware.controllers.get(old_binding) if old_binding is not None else None

if old_controller is not None and old_binding != binding:

@sastraxi sastraxi Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be fine after the addition of binding_range to fix a bug with the "Advanced" binding features of MOD-UI (we were ignoring the parameter range before), but it would be good to have a test that explicitly makes sure a different range bound on the same parameter still works as we expect it to. Sorry for the churn.

@jpremill

Copy link
Copy Markdown
Author

@sastraxi I saw the guidance; its just a matter of making the time to do it. I just have been finding a few minutes in the evening to make some progress; I think after this changeset, i'll get the env setup before pushing changes.

@jpremill
jpremill force-pushed the 217-midi-unlearning-tweak12-bug branch from da82043 to 19ea5aa Compare July 24, 2026 05:14
@sastraxi
sastraxi changed the base branch from fix/mod-param-ranges to feat/transport-bindings July 24, 2026 05:35
@sastraxi
sastraxi changed the base branch from feat/transport-bindings to fix/mod-param-ranges July 24, 2026 05:35
@sastraxi

Copy link
Copy Markdown
Collaborator

@jpremill awesome! No rush. I'm going to be away for a week starting Sunday, so there may be some delays from my end in review.

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.

3 participants