Sign In:     


Forum: Old versions

Topic: need some help mapping a quick scratch function

This topic is old and might contain outdated or incorrect information.

What I would like to do for this is have a multi function button that will work in 3 stages...

!st - send deck 1 song to sidelist
2nd - load my scratch sample mp3 to deck 1 at hot cue 2 and loop 1 bar
3rd - load and delete the song from the sidelist back to deck 1

This sounds easy enough to map, however, I am having difficulty with a couple of things. First I am unable to take the song from a specific deck with the script. i have used 'deck 1 sidelist_add' but this just adds the song selected in the browser. Is there anyway to get the song name from the specified deck, then search that in the database before adding it to the sidelist, or just to grab the currently playing song any other easier way?

Secondly I would like to be able to reset the cycle back to '0' as sometimes the process is interrupted and without this function It is easy to lose track of the stage and make a mess of your mix. I have tried two different methods for the script, however, both had issues completing the whole command.

this will work without holding at the start, so it wont be able to reset
holding 1000ms ? set 'side' 0 : cycle 'side' 3 & var_equal 'side' 0 ? deck 1 sidelist_add : var_equal 'side' 1 ? deck 1 load 'C:\Users\synthet1c\Music\DJ Choons\Scratch\my_scratch_samples.mp3' & deck 1 hot_cue 2 & deck 1 loop 1 : var_equal 'side' 2 ? deck 1 sidelist_load_and_remove


This I though would definitely work as it is using a manual cycle as I have used this type of code before, I am just unsure of where to place the actions in the cycle script

this is the cycle script that does work on its own
holding 1000ms ? set 'side' 0 : var_equal 'side' 2 ? set 'side' 0 : var_equal 'side' 0 ? set 'side' 1 : var_equal 'side' 1 ? set 'side' 2

this is what I have tried, I know it looks confusing but I cant any other sense of it
holding 1000ms ? set 'side' 0 : var_equal 'side' 2 ? set 'side' 0 & deck 1 sidelist_add : var_equal 'side' 0 ? set 'side' 1 & deck 1 load 'C:\Users\synthet1c\Music\DJ Choons\Scratch\my_scratch_samples.mp3' & deck 1 hot_cue 2 & deck 1 loop 1 : var_equal 'side' 1 ? set 'side' 2 & deck 1 sidelist_load_and_remove


Also I am trying to map it to the 'S' key on the keyboard not a midi controller if that makes any difference.

Cheers for your help

Andrew
 

Posted Mon 18 Apr 11 @ 1:52 pm
this says it better than I can LOL
 

As for copying your current loaded song to the sidelist this might help you:

Download WatchDog from http://www.virtualdj.com/addons/12817/WatchDog.html and use the following command on a button:
deck 1 set 'WD_LC_SL' 1

This command will 1) Copy the track from deck 1 to sidelist and then 2) it will load the highlighted track to deck 1

Of course you can use "deck 2 set 'WD_LC_SL' 1" or you can even use

deck 1 set 'WD_LC_PL' 1 to copy the track on the PLAYLIST
 

thanks for the response phantom, I tried the code you gave me on its own, and it was able to send the track on deck 1 to the sidelist, although It was asking if I wanted to replace the loaded track, I selected yes making sure I had selected a different track in the browser and had a different track in the sidelist but it did nothing, It just continues to play the track... If I press the button again it will then add the track to the sidelist again.

When I used the code as a part of my cycle script It didn't work at all.

Can you explain what the code means, I know 'WD' means 'watch dog' and 'SL' means 'sidelist' but what does 'LC' mean, and are there any other verbs that can be used?

Cheers
 

It asked you because the deck was playing... :P In order to work correctly the deck has to be stopped before you give the command. I can change that in a future version if it's needed, but right now I think it's best the way it currently works so that it won't unload a playing deck that might be in the 'air' live!

WD=WatchDog
LC=Load & Copy
SL=SideList
PL=PlayList

There are a few other verbs/things this plug-in does but it's still in Alpha stage... I'm constantly adding new functionality. I'll have to create a "manual" at some point but right now I'm too busy with actually coding it!

Other vars that are actually working and the coding has been finished:
The plug-in will toggle the var '$WD_BPMLR_SYNC' automatically to 0 and 1. It is 1 when left and right deck have very small BPM difference
Also it will set a variable '$WD_BRSM' from 1 to 30 based on the browser sort mode. Then you can query this variable to handle browser sorting from a controller...

For the rest functions I can't talk yet since I'm coding them...


 

that does make a bit more sense LOL, I never bothered to stop it when I used a clone deck script, as the scratch sample loops anyway, but it won't take much to get used to, looking forward to the next release. This does exactly what I was asking for so thanks phantom, keep up the good work :)
 



(Old topics and forums are automatically closed)