In the last version of Zoom control, if the zoom timer was busy, we would ignore knob twist which means it may not be as smooth as you like.
In this version, we handle things a bit differenty.
- I use preset changes to change from Up/Down and Left/Right. When one preset is enabled it disables the other preset.
- I calculate the movement count needed in the global variable ga. A positive value means up or right movement and a negative value down or left movement depending on the preset selected.
- I set a timer for the timing between keystrokes with global variable gb.
- Turning the knob left or right will simply add or subtract from the value of ga and start a repeating timer “Zoom”
- The Zoom repeating timer increments or decrements the value of ga (depending on direction) and kills itself when it reaches 0.
- The Zoom repeating timer sends keystrokes depending on which preset is selected and the direction based on the value of ga
- I created an Init preset to set and document global variables used in the project.
- The Control Preset Controls the Timer and selects whether you use Up/Down or Left Right/Preset
- The other presets simply send keystrokes at the rate set for the Zoom timer. Also enabling a preset results in a translator to disable the other preset ensuring only one of the two are enable.
I used the global variable zz for a debug flag for testing and Log Commands when debug is on (which will be a new feature of upcoming release of MT Pro. Right now the function is only enabled in Beta release.
Jog-Zoom-2021-04-29.bmtp (3.4 KB)
I think you will find the action of the jog wheel much smoother here. You will need to tweak the value of gb (time between keystrokes) and the translators that actually produce the keystrokes.
If you want to integrate with your existing project, you might want to use different global variables than ga and gb.
Bome Customer Care
Also available for paid consulting services: email@example.com