jog - how to decrease the speed

Discuss problems and solutions.
Post Reply
somethingnew
Newbie
Posts: 9
Joined: 22 May 2013 13:02

jog - how to decrease the speed

Post by somethingnew »

i got this working jog wheel from some template shared here, thanks to that person, i forgot who was, sorry.
but,
i am trying to use it with Traktor & also on DJAY (Algoriddim) ... the speed of this jog is very fast.
i do not understand the formula, could anyone please help me how to make this jogwheel from `corse' to `fine' ?

even further i would add a button to make it switch from `corse' to `fine'

thanks
Attachments
working-jog.jzml
(3.48 KiB) Downloaded 88 times
Softcore
Regular
Posts: 1613
Joined: 04 Nov 2012 08:34

Re: jog - how to decrease the speed

Post by Softcore »

Actually this jog is an endless rotary encoder with acceleration feature - the faster you rotate the jog, the faster increment - decrement it provides with 7 different "speeds"

Notice the custom expression "step"

step = (abs(x-last_x)>0.01?(abs(x-last_x)>0.025?(abs(x-last_x)>0.04?(abs(x-last_x)>0.055?(abs(x-last_x)>0.07?(abs(x-last_x)>0.095?7:6):5):4):3):2):1)

I have marked with bold two things you need to consider:

The "threshold rotation speed" which define how fast the jog has to be turned in order to apply one of the 7 steps' resolution (speeds) - these are the numbers of abs(x-lastx)
The actual steps resolutions which are the numbers at the end of the equation 7,6,5,4,3,2,1

So in order to make it "slower" you can EITHER change the thresholds for the acceleration OR change the 'speeds' for each acceleration.

For example
step = (abs(x-last_x)>0.01?(abs(x-last_x)>0.025?(abs(x-last_x)>0.04?(abs(x-last_x)>0.055?(abs(x-last_x)>0.07?(abs(x-last_x)>0.095?3:2):2):1,5):1,5):1):1)

Will be much slower than the original - in fact if you notice that the highest step is now 3 (while it was 7) we can say its a bit slower than precisely half the speed of the original (7/2 = 3.5)

Finally if you want to incorporate a button to change the resolution - lets say the button (switch object) is named "Fine" then:


step = (Fine.x==0?(abs(x-last_x)>0.01?(abs(x-last_x)>0.025?(abs(x-last_x)>0.04?(abs(x-last_x)>0.055?(abs(x-last_x)>0.07?(abs(x-last_x)>0.095?7:6):5):4):3):2):1):1)

should work!
Post Reply