Hi all...I'm new here and could use some help with mappers. I'm coming from Traktor where you could set a loop and then with your controller you could move the loop forward or backwards the amount of your loop, and when you did it, the play head would follow (like hotcues). For instance, if I set a loop of 8 beats and then hit the forward button, the loop starting point would move forward 8 beats, but so would the play head or play pointer of the song. This way I could set a loop at the start of a track and then forward through it, keeping the 1 set in a loop and listen for where I might want to start looping during the crossfade.
So, I set up my controller to move loops in VDJ the same way (loop_move +100% and -100%), however, the play head or point in the song that's playing doesn't jump along with the movement of the loop.
Any ideas of how to jump through the track WITH the loop?
Thanks!
So, I set up my controller to move loops in VDJ the same way (loop_move +100% and -100%), however, the play head or point in the song that's playing doesn't jump along with the movement of the loop.
Any ideas of how to jump through the track WITH the loop?
Thanks!
Posted Thu 12 Apr 12 @ 4:39 pm
This is something I've been wanting to find out some time myself!!!!!
Posted Thu 12 Apr 12 @ 5:20 pm
From looking through the script documentation I sort of understand that the command I'm using to move the loop should also be appended by and "&" and then the next command, which would be "goto" but I need to understand how to use "get_active_loop" to return the number of beats in the current loop so that "goto" will move the correct number of beats.
However, I'm a total VDJ noob and am floundering a bit with scripting. I'm also at work right now so I can't play around with it...and I have my first VDJ gig tonight!
However, I'm a total VDJ noob and am floundering a bit with scripting. I'm also at work right now so I can't play around with it...and I have my first VDJ gig tonight!
Posted Thu 12 Apr 12 @ 5:25 pm
Just map the buttons like the script below and change the (+50% value to what ever you want).
action="loop_move +50%" />
or use the combination of shift keys and the button to move loops backward and forward
(Red color action when the Shift combination is used and blue without the combination of shift key)
action="var '$shift' ? loop_move -50% : loop_move +50%" />
action="loop_move +50%" />
or use the combination of shift keys and the button to move loops backward and forward
(Red color action when the Shift combination is used and blue without the combination of shift key)
action="var '$shift' ? loop_move -50% : loop_move +50%" />
Posted Thu 12 Apr 12 @ 6:12 pm
I don't understand the /> portion of your script.
However, I THINK that the script listed here (http://www.virtualdj.com/forums/148021/Hardware_Technical_Support/Cool_little_mapping_for_loop_move.html) will work, if I understand what it's saying correctly. I believe that it's querying the current loop length and if it's "1" then it moves the loop forward 1 beat and moves the play position forward 1 beat, if the query doesn't return a "1" then it moves to the next section and the next until the query for the current loop length returns the same loop length as the section mentions and moves things forward the same amount of beats as the current loop length.
I'll try it when I get home and report back.
However, I THINK that the script listed here (http://www.virtualdj.com/forums/148021/Hardware_Technical_Support/Cool_little_mapping_for_loop_move.html) will work, if I understand what it's saying correctly. I believe that it's querying the current loop length and if it's "1" then it moves the loop forward 1 beat and moves the play position forward 1 beat, if the query doesn't return a "1" then it moves to the next section and the next until the query for the current loop length returns the same loop length as the section mentions and moves things forward the same amount of beats as the current loop length.
I'll try it when I get home and report back.
Posted Thu 12 Apr 12 @ 6:27 pm
you need a couple of things to get it done properly...
first you need to query the selected loop size, then you need to move the loop that size, finally if you are moving forward the loop will move but not the track, so if you want both to move you need to do that in the mapping.
You can do variables in vdj by using
query ? action if true : action if false
so for this example we will query if the loop is 4 beats
loop_select 4 ? loop_move +4 & goto +4 : next query
then once you have your head around that you just string together all the sizes from 1/16 to 32 beats (you can of coarse go larger and smaller if you want.. This is for moving the loop backwards, I will leave forwards for you to do so you can get your head around it, but remember you need to add "& goto +#"
loop_select 0.0625 ? loop_move -0.0625 :
loop_select 0.125 ? loop_move -0.125 :
loop_select 0.25 ? loop_move -0.25 :
loop_select 0.5 ? loop_move -0.5 :
loop_select 1 ? loop_move -1 :
loop_select 2 ? loop_move -2 :
loop_select 4 ? loop_move -4 :
loop_select 8 ? loop_move -8 :
loop_select 16 ? loop_move -16 :
loop_select 32 ? loop_move -32 :
nothing
then you just delete the spaces and paste it in the mappers
loop_select 0.0625 ? loop_move -0.0625 : loop_select 0.125 ? loop_move -0.125 : loop_select 0.25 ? loop_move -0.25 : loop_select 0.5 ? loop_move -0.5 : loop_select 1 ? loop_move -1 : loop_select 2 ? loop_move -2 : loop_select 4 ? loop_move -4 : loop_select 8 ? loop_move -8 : loop_select 16 ? loop_move -16 : loop_select 32 ? loop_move -32 : nothing
first you need to query the selected loop size, then you need to move the loop that size, finally if you are moving forward the loop will move but not the track, so if you want both to move you need to do that in the mapping.
You can do variables in vdj by using
query ? action if true : action if false
so for this example we will query if the loop is 4 beats
loop_select 4 ? loop_move +4 & goto +4 : next query
then once you have your head around that you just string together all the sizes from 1/16 to 32 beats (you can of coarse go larger and smaller if you want.. This is for moving the loop backwards, I will leave forwards for you to do so you can get your head around it, but remember you need to add "& goto +#"
loop_select 0.0625 ? loop_move -0.0625 :
loop_select 0.125 ? loop_move -0.125 :
loop_select 0.25 ? loop_move -0.25 :
loop_select 0.5 ? loop_move -0.5 :
loop_select 1 ? loop_move -1 :
loop_select 2 ? loop_move -2 :
loop_select 4 ? loop_move -4 :
loop_select 8 ? loop_move -8 :
loop_select 16 ? loop_move -16 :
loop_select 32 ? loop_move -32 :
nothing
then you just delete the spaces and paste it in the mappers
loop_select 0.0625 ? loop_move -0.0625 : loop_select 0.125 ? loop_move -0.125 : loop_select 0.25 ? loop_move -0.25 : loop_select 0.5 ? loop_move -0.5 : loop_select 1 ? loop_move -1 : loop_select 2 ? loop_move -2 : loop_select 4 ? loop_move -4 : loop_select 8 ? loop_move -8 : loop_select 16 ? loop_move -16 : loop_select 32 ? loop_move -32 : nothing
Posted Thu 12 Apr 12 @ 6:33 pm
THIS is what I was looking for...makes more sense that what's at the link I posted. So, to clarify, loop_select is simply the current loop length?
Thanks for this!
Thanks for this!
Posted Thu 12 Apr 12 @ 6:38 pm
loop_select is the size of the loop on the skin, you don't necassaraly need to be looping to use loop select, it is more useful for doing a jump, but what the other one is asking is if the track is looping, so you could get tricky and do one thing if the track is looping and another if it isn't looping but you want to use the selected size...
There is many more possibilities you could do, like have it under a shift or use it on an encoder...
loop 0.0625 ? loop_move -0.0625 :
loop 0.125 ? loop_move -0.125 :
loopt 0.25 ? loop_move -0.25 :
loop 0.5 ? loop_move -0.5 :
loop 1 ? loop_move -1 :
loop 2 ? loop_move -2 :
loop 4 ? loop_move -4 :
loop 8 ? loop_move -8 :
loop 16 ? loop_move -16 :
loop 32 ? loop_move -32 :
loop_select 0.0625 ? goto -0.0625 :
loop_select 0.125 ? goto -0.125 :
loop_select 0.25 ? goto -0.25 :
loop_select 0.5 ? goto -0.5 :
loop_select 1 ? goto -1 :
loop_select 2 ? goto -2 :
loop_select 4 ? goto -4 :
loop_select 8 ? goto -8 :
loop_select 16 ? goto -16 :
loop_select 32 ? goto -32 :
nothing
loop 0.0625 ? loop_move -0.0625 : loop 0.125 ? loop_move -0.125 : loopt 0.25 ? loop_move -0.25 : loop 0.5 ? loop_move -0.5 : loop 1 ? loop_move -1 : loop 2 ? loop_move -2 : loop 4 ? loop_move -4 : loop 8 ? loop_move -8 : loop 16 ? loop_move -16 : loop 32 ? loop_move -32 : loop_select 0.0625 ? goto -0.0625 : loop_select 0.125 ? goto -0.125 : loop_select 0.25 ? goto -0.25 : loop_select 0.5 ? goto -0.5 : loop_select 1 ? goto -1 : loop_select 2 ? goto -2 : loop_select 4 ? goto -4 : loop_select 8 ? goto -8 : loop_select 16 ? goto -16 : loop_select 32 ? goto -32 : nothing
There is many more possibilities you could do, like have it under a shift or use it on an encoder...
loop 0.0625 ? loop_move -0.0625 :
loop 0.125 ? loop_move -0.125 :
loopt 0.25 ? loop_move -0.25 :
loop 0.5 ? loop_move -0.5 :
loop 1 ? loop_move -1 :
loop 2 ? loop_move -2 :
loop 4 ? loop_move -4 :
loop 8 ? loop_move -8 :
loop 16 ? loop_move -16 :
loop 32 ? loop_move -32 :
loop_select 0.0625 ? goto -0.0625 :
loop_select 0.125 ? goto -0.125 :
loop_select 0.25 ? goto -0.25 :
loop_select 0.5 ? goto -0.5 :
loop_select 1 ? goto -1 :
loop_select 2 ? goto -2 :
loop_select 4 ? goto -4 :
loop_select 8 ? goto -8 :
loop_select 16 ? goto -16 :
loop_select 32 ? goto -32 :
nothing
loop 0.0625 ? loop_move -0.0625 : loop 0.125 ? loop_move -0.125 : loopt 0.25 ? loop_move -0.25 : loop 0.5 ? loop_move -0.5 : loop 1 ? loop_move -1 : loop 2 ? loop_move -2 : loop 4 ? loop_move -4 : loop 8 ? loop_move -8 : loop 16 ? loop_move -16 : loop 32 ? loop_move -32 : loop_select 0.0625 ? goto -0.0625 : loop_select 0.125 ? goto -0.125 : loop_select 0.25 ? goto -0.25 : loop_select 0.5 ? goto -0.5 : loop_select 1 ? goto -1 : loop_select 2 ? goto -2 : loop_select 4 ? goto -4 : loop_select 8 ? goto -8 : loop_select 16 ? goto -16 : loop_select 32 ? goto -32 : nothing
Posted Thu 12 Apr 12 @ 6:53 pm
synthet1c: you are a genius. This is exactly what I needed, since I couldn't find any examples of anything close to what I was looking for with an explanation of the various parameters. Thanks so much!
Posted Thu 12 Apr 12 @ 8:16 pm
That is fantastic- I'm mapping that to my vci400! I was going to do something like either +4beats or +1beats depending on whether the encoder was pushed down or not, but this is much more powerful, cheers!
Posted Fri 13 Apr 12 @ 7:41 am