Accesso rapido:  

Forum: VirtualDJ Technical Support

Topic: Browser_scroll sensitivity
seanPRO InfinityMember since 2018
I'm currently moving from Traktor to Virtual DJ. There's an option in Traktor where you can set the sensitivity of a rotary encoder. This works really well on an encoder used for scrolling in the browser, you can still scroll song by song when you move the rotary encoder one detent but if you quickly scroll the rotary encoder it'll speed up the scrolling so you can quickly scroll to the bottom of a playlist.

Is there any way I can replicate this in Virtual DJ I have very long playlists and I'm finding it hard to scroll through them.
 

Inviato Fri 08 Sep 23 @ 8:18 am
locoDogPRO InfinityModeratorMember since 2013
If in mapping you get values other than -1 or +1 out of your encoder, then I think it can be done
param_bigger 1 ? browser_scroll +8 : param_smaller -1 ? browser_scroll -8 : browser_scroll

That should be pretty readable as to how it works.
 

Inviato Fri 08 Sep 23 @ 10:08 am
seanPRO InfinityMember since 2018
Unfortunately it only outputs -1 +1. I just did a bit of research and I'm guessing my best option will be to use a stopwatch and determine how quickly the encoder is being spun over a period of time. I'll try to put something together.
 

Inviato Sat 09 Sep 23 @ 6:54 am
djdadPRO InfinityDevelopment ManagerMember since 2005
For most encoiders (sending -1/+1) you query >0 or <0 and adjust the actions accordingly.
E.g.
param_bigger 0 ? browser_scroll +8 : browser_scroll -8
and you could assign this to some SHIFT+ENCODER key, leaving the normal browser_scroll action for non-SHIFT key.

Alternatively you can map some button to toggle a variable for fast/normal scrolling ...
toggle '$fastscroll' and then your encoder could be mapped like..
var '$fastscroll' ? param_bigger 0 ? browser_scroll +8 : browser_scroll -8 : browser_scroll
 

Inviato Sat 09 Sep 23 @ 8:15 am
seanPRO InfinityMember since 2018
For anyone finding this from Google, here's what I came up with.... after 6 hours. This allows you to use the browse knob normally until you spin it extremely fast at which point it smoothly scrolls at a much faster speed. This replicates a similar feel to what other DJ software has. I feel this is a quality of life improvement that most people would use once they test it.

However it takes a bit of tweaking to get the feel right so your not accidentally triggering the fast scrolling. You will need to modify this script based on how sensitive your rotary encoder is. It checks to see if 3 lines var_greater $scrollCountDown 3 have been scrolled in 0.03 seconds param_smaller 0.03 stopwatch. This works great on my Kontrol X1 MkII but I have no idea how it'll be on other controllers.

I'm sure I could simplify this code by not duplicating as much each side of the param_bigger but struggled to get that far.

param_bigger 0 ?
repeat_stop 'scrollUp' &
browser_scroll & stopwatch &
set $scrollCountDown +1 &
var_greater $scrollCountDown 3 ?
set $scrollCountDown 0 &
param_smaller 0.03 stopwatch ?
stopwatch_reset & repeat_start_instant 'scrollDown' 1ms 20 & browser_scroll +2 :
stopwatch_reset :
nothing :
repeat_stop 'scrollDown' &
browser_scroll & stopwatch &
set $scrollCountUp +1 &
var_greater $scrollCountUp 3 ?
set $scrollCountUp 0 &
param_smaller 0.03 stopwatch ?
stopwatch_reset & repeat_start_instant 'scrollUp' 1ms 20 & browser_scroll -2 :
stopwatch_reset
 

Inviato Mon 11 Sep 23 @ 6:00 am
locoDogPRO InfinityModeratorMember since 2013
Maybe this?

param_bigger 0 ? browser_scroll & doubleclick 50ms ? browser_scroll : :  browser_scroll & doubleclick 50ms ? browser_scroll : 
 

Inviato Mon 11 Sep 23 @ 5:46 pm