Ingreso rápido:  

Forum: VirtualDJ Technical Support

Tema: "duplicating" POI from one file to another, is this possible?
SepatroPRO InfinityMember since 2019
Hello,

I have purchased a number of songs and would like to "duplicate" the POIs from the streamed-version to this new local file version. Is this possible, and if so, how does VDJ know which the "source" song is?
 

Mensajes Sun 16 Jun 24 @ 1:30 pm
Don't think it's possible.

And although the tracks may be the same name, there may be differences in the length, gap at the start before the song starts etc. so it's always better to start afresh on a new file.
 

Mensajes Sun 16 Jun 24 @ 1:46 pm
szemekPRO InfinityMember since 2019
As KRADCLIFFE pointed out, there might be small differences between streamed and purchased local versions.

All pieces of information you need are store in database.xml file.
https://www.virtualdj.com/wiki/VDJ_database.html

Song nodes has FilePath attribute, that points to filepath on disk or external location, e.g: netsearch://...
Poi nodes have all the data about detected and created points for that song

database.xml is in VirtualDJ folder.
On older installations it might be found in Documents folder
On newer installations:
(Windows) \Users\YourUserName\AppData\Local\VirtualDJ
(macOS) \Users\YourUserName\Library\ApplicationSupport\VirtualDJ

⚠️ Make backup of database.xml before any changes
Technically, you can copy Poi nodes between songs, but database.xml has a very specific format and line endings and it's easy to get this file corrupted.

 

Mensajes Mon 17 Jun 24 @ 6:52 am
(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)

Use the above code on a custom button.
It will copy the first 8 hotcues from the track that's loaded on deck 1 to the track that's loaded on deck 2.

So, your workflow should be like this:
1. Load "old" track on deck 1
2. Load "new" track on deck 2
3. Press the button
4. Check and fix / fine tune the position of the hotcues on deck 2 if needed.
5. Proceed to next track.

PS: The code shift_all_cues may also come handy
 

Mensajes Mon 17 Jun 24 @ 1:38 pm