Anyway. With the forced behaviour, the dial needs to jogged back-and-forth within the value range 0-63 to move left, or 64-127 to move right. They key thing is that this process needs to be made to repeat so that the change message is registered so the logic can run. Mapping the X1 touchstrip also works, in that case swiping right to left on the left portion moves back, and swiping left to right on the right portion moves forward.
Max4Live does not have an endless encoder object, only a fixed 0-127 dial (or slider). So I put in a JS fix to pull the knob back towards the center. While the user is still turning the knob, this will feed a reset value back into the knob so that it never reaches its limits.
Even with this fix the behaviour of the live.dial is not great. So, while I'd love to have everything managed from Live, so that any controller could be used for scrubbing, I'll have to let my Kontrol X1 Mk2 manage this natively for now.
Inspecting the MIDI output of the Kontrol Z1 Mk2 left encoder, it seems that it generates a value of
127
when moving left and1
when moving right.I'm not 100% sure if that's true as I then put in some code that forced that, so not sure if I was seeing the natural or forced behaviour:
Anyway. With the forced behaviour, the dial needs to jogged back-and-forth within the value range 0-63 to move left, or 64-127 to move right. They key thing is that this process needs to be made to repeat so that the change message is registered so the logic can run. Mapping the X1 touchstrip also works, in that case swiping right to left on the left portion moves back, and swiping left to right on the right portion moves forward.
Max4Live does not have an endless encoder object, only a fixed 0-127 dial (or slider). So I put in a JS fix to pull the knob back towards the center. While the user is still turning the knob, this will feed a reset value back into the knob so that it never reaches its limits.
Even with this fix the behaviour of the live.dial is not great. So, while I'd love to have everything managed from Live, so that any controller could be used for scrubbing, I'll have to let my Kontrol X1 Mk2 manage this natively for now.