Custom control potTouch callback missing encoder rotations

I noticed that if there is an encoder and screen control dynamically assigned to a custom control, if the encoder is turned slowly, the Electra One internally registers a change to the parameterMap but the potEvent.delta is showing 0 and the control display and parameterMap (and MIDI messages) are out of sync.

Also, because values are missed, the apparent range of the control is not as it was set.

Basically - with the custom control implementation, encoder turns are being missed (or caught as delta of 0.

You can look at the debug and MIDI logs of the multi-stage envelope thing I’m working on to see it. It does track the finger movement 100% (and thanks to @Abbes for suggesting a better finger recognition/tracking approach)

It looks like I can avoid using the custom pot touch callback for most of what I want to do, so even though this is a problem, it shouldn’t impede my progress in developing the multi stage envelope to where I want

It’s chatgpt :wink: . my coding skill in not :joy:. Thanks for this mseg script @oldgearguy ! It’s a great script ! :heart_eyes:

I am having a hard time to replicate it. I am unable to get potEvent.delta = 0. I took a look at your multistage envelope preset, but it has become quite complex to use it to debug this. Do you have any pointers on how I could replicate that? Thanks!

Yes, sorry about not preserving the original w. the problem.

I will dig up an older version that highlights the bug and send it along to you.
Please do not spend any extra time on this until I can get you something that focuses on the issue.

Things have been quite crazy around here, but I will get that to you.

If I remember, it is a similar problem to one that was mentioned a long time ago with the standard controls sometimes missing values after changing the range.
It was related to how the layers handled a range change and re-scaled the encoder rotation information.
One layer of the control->value->message layers was using the new scaling and other layer(s) were not,
This resulted in the control display and the parameterMap getting out of sync.

@martin , here is a version that is trying to use the potCallback() and shows where the delta is 0.
custom potCallback()

I commented out the MIDI send and tried to dump stuff to the console log to make it easier to see.

Again - it certainly could be the way I was dynamically assigning the control/encoders to the custom contol and in the end, I didn’t need to be so fancy.

So - if it still gives you a headache, just ignore it and if someone else ever brings it up we can re-investigate it.

1 Like