Quick Sign In:  

Forum: General Discussion

Topic: Cue Recall on CDJ2000NXS2 chronologically rather than by Hot Cue bank position/number?
Hi there,

I have been loving Virtual DJ for my setup which is 2x CDJ2000NXS2's and a DJM-S11 mixer (with all the functionality that Serato offers, however I prefer Rekordbox since I use memory cues so Virtual DJ can be made to operate like that).

Obviously Virtual DJ has no limit on the number of cues, so all my memory cues get mapped as hot cues which is fine. However my first bank of hot cues is always 32 beats before the first drop, the first drop, then the same but for second drop (I mainly play drum & bass).

The problem I am having is that when setting auto cue to "Cue" rather than silence, it will always pick the first chronological hot cue (Hot Cue 1/A) rather than the first cue it sees after silence near the intro (often something like G-F cues depending how Virtual DJ interprets memory cues - since I will always set a hot cue in the rack near where I want it to load the track after sorting my performance cues out). In Rekordbox and when playing on the CDJs in standalone mode, it will always pick the first cue in the timeline as your intro point, and then when navigating memory cues forward/back it does it chronologically i.e. it navigates along the waveform time. This means Virtual DJ is in effect loading every track at just before the drop which is quite annoying.

Similarly when I use the Cue/Loop recall buttons on the CDJs, it is jumping around the cues in order that they were set, rather than chronologically like how would be done with memory cues in Rekordbox/standalone mode.

This is literally the only problem I have with VDJ, so I am wondering if anybody has any suggestions on how to address this behaviour, so that:

1. VDJ picks the very first cue as the starting point in a track, no matter what position it is in the hot cue bank
2. When using cue/loop recall the CDJ will jump forwards in the timeline chronologically rather than the order that the cues are set.

I feel I am missing something obvious here. I don't really want to reset all my cue strategy as I have muscle memory built up from that. Any help gratefully received! :)

Posted Thu 14 Sep 23 @ 2:18 pm
There are a few possible work-arounds, but there's no direct "solution" since VirtualDJ (as you figured out) works with a different logic.

The first workaround is to enable "autoSortCues" option which will sort all cues chronologically.
This option will modify the cues to sort them in order, so it may not be what you want. It is a possible solution only if you just imported your hotcues from another program and you don't mind having hotcue 1 on the start of the track.

Another workaround would be to mark the cue you want (let's say cue 8) as "load point" in POI editor.
This is a manual process that you'd have to repeat on all songs, so most likely not a viable solution either.

A third workaround would be to open your keyboard mapper, find the ONSONGLOAD key and add the following script: has_cue 8 ? goto_cue 8
This will make the track to jump to jump to cue 8 upon load (if cue 8 exists)

Finally there's no option/way to alter how goto_cue -1 / +1 works.
In VirtualDJ ecosystem it moves between the cue numbers, not between the timeline.

PS: Generally speaking in VirtualDJ ecosystem it's common practice to use cues by their significance. So, most users will use "Cue 1" as the cue they use most for starting a track, "Cue 2" as the second option e.t.c.
Also in VirtualDJ you can set "markers". So, if you use hotcues just to mark 32 beat intervals you can do that with markers instead of cues on POI editor.

Finally, (just for fun) you can use an automated script like this repeat_start 'Set32Bts' ? repeat_stop 'Set32Bts' : set 'cuenr' 9 & repeat_start 'Set32Bts' 100ms & get_var 'cuenr' & param_cast int & set_cue & param_bigger song_pos 99% ? goto +32 & cycle 'cuenr' 100 : repeat_stop 'Set32Bts' to drop cue markers every 32 beats (the first one being on the current pos)

Posted Fri 15 Sep 23 @ 12:34 am
locodogPRO InfinityModeratorMember since 2013
set T_Remain -3600 & goto_cue +1 & 
repeat_start thing 25ms 100 &
param_smaller `get_var T_Remain` `get_time remain 1` ? goto_cue +1 :
param_bigger `get_var T_Remain` `get_time remain 1` ? set T_Remain `get_time remain 1` & goto_cue +1 :
repeat_stop 'thing'

Could have this onsongload, if the flickering bothers, it could be turned into a longer non rsi script.

Posted Fri 15 Sep 23 @ 1:18 am