Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Any way to copy hotcues from one song to another?
For example, I go in and set the hotcues for the Clean version of the song and want to copy them to the Dirty version. Is there a way to just copy and paste the hotcues without having to create them from scratch?
 

geposted Thu 08 Sep 22 @ 6:59 pm
No, it wouldn't work anyway as every song has a different structure. Even different versions of the same one.
 

geposted Thu 08 Sep 22 @ 7:01 pm
kradcliffe wrote :
No, it wouldn't work anyway as every song has a different structure. Even different versions of the same one.


I'm certain it's possible because I've personally written software that does it within the PRIV ID3V2 tags of mp3 files. MP3s have an issue where the very start of the file can be variable length so you just have to take that into account.

I was hoping for something that works within VDJ but it seems such functionality is not included. No worries.
 

geposted Fri 09 Sep 22 @ 2:32 am
The hot cues are not stored in tags. They are stored in the VDJ database.xml file
Since that is by definition a text based files, then yes you can do it using any text editor
But I don't recommend it
 

geposted Fri 09 Sep 22 @ 5:42 am
You could make a COMPLEX script that would cycle through the hotcues of deck 1, query their location, save it as a variable, then seek on the same spot on deck 2 using that variable and set a hotcue on the same location.
So, in theory it is possible.
I have not created such a script though..
I'll see if I can find some time to play around and come up with a sample script.
 

geposted Fri 09 Sep 22 @ 10:02 am
Actually it was faster than I thought it would be:

(deck 1 has_cue 1 ? deck 1 goto_cue 1 & set '$cuepos' '`deck 1 song_pos' & deck 2 get_var '$cuepos' & param_cast percentage & deck 2 song_pos & deck 2 set_cue 1 : nothing) &
(deck 1 has_cue 2 ? deck 1 goto_cue 2 & set '$cuepos' '`deck 1 song_pos' & deck 2 get_var '$cuepos' & param_cast percentage & deck 2 song_pos & deck 2 set_cue 2 : nothing) &
(deck 1 has_cue 3 ? deck 1 goto_cue 3 & set '$cuepos' '`deck 1 song_pos' & deck 2 get_var '$cuepos' & param_cast percentage & deck 2 song_pos & deck 2 set_cue 3 : nothing) &
(deck 1 has_cue 4 ? deck 1 goto_cue 4 & set '$cuepos' '`deck 1 song_pos' & deck 2 get_var '$cuepos' & param_cast percentage & deck 2 song_pos & deck 2 set_cue 4 : nothing) &
(deck 1 has_cue 5 ? deck 1 goto_cue 5 & set '$cuepos' '`deck 1 song_pos' & deck 2 get_var '$cuepos' & param_cast percentage & deck 2 song_pos & deck 2 set_cue 5 : nothing) &
(deck 1 has_cue 6 ? deck 1 goto_cue 6 & set '$cuepos' '`deck 1 song_pos' & deck 2 get_var '$cuepos' & param_cast percentage & deck 2 song_pos & deck 2 set_cue 6 : nothing) &
(deck 1 has_cue 7 ? deck 1 goto_cue 7 & set '$cuepos' '`deck 1 song_pos' & deck 2 get_var '$cuepos' & param_cast percentage & deck 2 song_pos & deck 2 set_cue 7 : nothing) &
(deck 1 has_cue 8 ? deck 1 goto_cue 8 & set '$cuepos' '`deck 1 song_pos' & deck 2 get_var '$cuepos' & param_cast percentage & deck 2 song_pos & deck 2 set_cue 8 : nothing)


This will copy the 8 first hotcues from deck 1 to deck 2.
Mind you that as others said, you may need to tweak the location of the cues on deck 2 afterwards as usually two versions of the same track may not be exactly the same.
 

geposted Fri 09 Sep 22 @ 10:20 am
George once again proving he is in fact a genius!
 

geposted Fri 09 Sep 22 @ 10:26 am
LOL.. Thank you (I guess) :P

That's a sample code.
I guess it can also be expanded to copy attributes like color and cue name (if set) from one deck to another.

That being said, the "critical" operation in that case would be to use "set_cue" action when tweaking the hotcues location, since "set_cue" preservers all the hotcue attributes if that cue exists (it only updates it's location if the cue exists already)
Otherwise, deleting and recreating a hotcue on the second deck would make it loose all it's attributes.
Also the code above doesn't check if the given cue is an action point, or a saved loop e.t.c.
Surely a complete script could be created to copy almost anything, but I think it would be too complex for too little gain.

Anyway, if OP needs something let me know and I'll see if/how the sample code can be improved.
 

geposted Fri 09 Sep 22 @ 10:39 am
This is what's so amazing about VirtualDJ - almost anything you want it to do is possible with a few lines of script. Other DJ software just doesn't come close.

People call it a toy. Well it's the most versatile toy in the world!
 

geposted Fri 09 Sep 22 @ 11:00 am