Hi,
Absolute newbie to vdj and perhaps coding in general. But I hope it's not wasteful to ask how one would nest a few operations to reset a variable. was trying to write a macro in poi editor to change the video effect depending on how many times a cue was relooped (I've wrote it so that once it reaches the next cue it loops back to the previous cue 4 times). I can't seem to find the variable "looptest" in var_list. I'm guessing something is wrong in the use of param_cast 'frac'. I was using it with two parameters as used in param_add which worked for me. Any help is appreciated. thanks!
first cue (sequence-wise ; actually cue 16 toward the end of the song which I activate first):
set 'counter' 0 & var_list & goto_cue 1
second cue (I've made it cue 1):
set 'counter' `param_add "get_var 'counter'" 1`
& set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 3` .25`` & var_equal 'looptest' 0 ? video_fx_select "shader" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 2` .25`` & var_equal 'looptest' 0 ? video_fx_select "cover" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 1` .25`` & var_equal 'looptest' 0 ? video_fx_select "camera" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 0` .25`` & var_equal 'looptest' 0 ? video_fx_select "slideshow"
third cue (actually cue 2):
var_equal 'counter' 4 ? set 'counter' `param_add "get_var 'counter'" 1` : goto_cue 1 & set 'counter' `param_add "get_var 'counter'" 1`
& set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 3` .25`` & var_equal 'looptest' 0 ? video_fx_select "shader" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 2` .25`` & var_equal 'looptest' 0 ? video_fx_select "cover" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 1` .25`` & var_equal 'looptest' 0 ? video_fx_select "camera" :
set 'looptest' 'param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 0` .25`` & var_equal 'looptest' 0 ? video_fx_select "slideshow" :
video_fx_select "slideshow"
Absolute newbie to vdj and perhaps coding in general. But I hope it's not wasteful to ask how one would nest a few operations to reset a variable. was trying to write a macro in poi editor to change the video effect depending on how many times a cue was relooped (I've wrote it so that once it reaches the next cue it loops back to the previous cue 4 times). I can't seem to find the variable "looptest" in var_list. I'm guessing something is wrong in the use of param_cast 'frac'. I was using it with two parameters as used in param_add which worked for me. Any help is appreciated. thanks!
first cue (sequence-wise ; actually cue 16 toward the end of the song which I activate first):
set 'counter' 0 & var_list & goto_cue 1
second cue (I've made it cue 1):
set 'counter' `param_add "get_var 'counter'" 1`
& set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 3` .25`` & var_equal 'looptest' 0 ? video_fx_select "shader" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 2` .25`` & var_equal 'looptest' 0 ? video_fx_select "cover" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 1` .25`` & var_equal 'looptest' 0 ? video_fx_select "camera" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 0` .25`` & var_equal 'looptest' 0 ? video_fx_select "slideshow"
third cue (actually cue 2):
var_equal 'counter' 4 ? set 'counter' `param_add "get_var 'counter'" 1` : goto_cue 1 & set 'counter' `param_add "get_var 'counter'" 1`
& set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 3` .25`` & var_equal 'looptest' 0 ? video_fx_select "shader" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 2` .25`` & var_equal 'looptest' 0 ? video_fx_select "cover" :
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 1` .25`` & var_equal 'looptest' 0 ? video_fx_select "camera" :
set 'looptest' 'param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 0` .25`` & var_equal 'looptest' 0 ? video_fx_select "slideshow" :
video_fx_select "slideshow"
Posted Mon 15 Jun 20 @ 10:06 pm
1) in one word: you can't
- you can't nest backquote operations
- you can't nest quoted strings
- you can't nest apostrophe strings
- quotes and apos are optional with ascii variable names
- float needs leading digit
- param_* operations don't need backquotting operations parameters
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 3` .25``
is wrong in multiple ways
in the opposite you can sequence operations:
param_add "get_var 'counter'" 3 & param_multiply 0.25 & param_cast 'frac' & set 'looptest'
or if you want to use operations in operations with no need of backquotes
param_multiply "param_add 'get_var counter' 3" 0.25 & param_cast 'frac' & set looptest
or if you really want to use backquotes
set looptest `param_multiply "param_add 'get_var counter' 3" 0.25 & param_cast 'frac'`
2) about test
var_equal 'looptest' 0 ? video_fx_select "slideshow" : video_fx_select "slideshow"
does nothing but video_fx_select "slideshow" in any case so that it can remove
var_equal 'looptest' 0 ? ...
shorten in
var looptest 0 ? ...
3) try to be more accurate
var_equal 'counter' 4 ? set 'counter' `param_add "get_var 'counter'" 1` : ...
if counter is equal to 4 add 1 to counter .... don't you know what the wil be ?
instead of interpreting backquote string to calculate a well known result
set counter 5
is faster
4) remember no intermediate variable can be more usable
instead of
set looptest `param_multiply "param_add 'get_var counter' 3" 0.25 & param_cast 'frac'` & var_equal 'looptest' 0 ?
use of
param_equal `param_multiply "param_add 'get_var counter' 3" 0.25 & param_cast 'frac'` 0 ? ....
is working as well without the need of a variable
https://www.virtualdj.com/wiki/VDJscript.html
- you can't nest backquote operations
- you can't nest quoted strings
- you can't nest apostrophe strings
- quotes and apos are optional with ascii variable names
- float needs leading digit
- param_* operations don't need backquotting operations parameters
set 'looptest' `param_cast 'frac' `param_multiply `param_add "get_var 'counter'" 3` .25``
is wrong in multiple ways
in the opposite you can sequence operations:
param_add "get_var 'counter'" 3 & param_multiply 0.25 & param_cast 'frac' & set 'looptest'
or if you want to use operations in operations with no need of backquotes
param_multiply "param_add 'get_var counter' 3" 0.25 & param_cast 'frac' & set looptest
or if you really want to use backquotes
set looptest `param_multiply "param_add 'get_var counter' 3" 0.25 & param_cast 'frac'`
2) about test
var_equal 'looptest' 0 ? video_fx_select "slideshow" : video_fx_select "slideshow"
does nothing but video_fx_select "slideshow" in any case so that it can remove
var_equal 'looptest' 0 ? ...
shorten in
var looptest 0 ? ...
3) try to be more accurate
var_equal 'counter' 4 ? set 'counter' `param_add "get_var 'counter'" 1` : ...
if counter is equal to 4 add 1 to counter .... don't you know what the wil be ?
instead of interpreting backquote string to calculate a well known result
set counter 5
is faster
4) remember no intermediate variable can be more usable
instead of
set looptest `param_multiply "param_add 'get_var counter' 3" 0.25 & param_cast 'frac'` & var_equal 'looptest' 0 ?
use of
param_equal `param_multiply "param_add 'get_var counter' 3" 0.25 & param_cast 'frac'` 0 ? ....
is working as well without the need of a variable
https://www.virtualdj.com/wiki/VDJscript.html
Posted Tue 16 Jun 20 @ 1:46 am
I'm using numark mixtrack pro II.
I want to assign different VDJscripts to both sides of FX buttons.
Can I do it?
I want to assign different VDJscripts to both sides of FX buttons.
Can I do it?
Posted Fri 17 Jul 20 @ 3:15 pm

Posted Fri 17 Jul 20 @ 3:16 pm
twaga wrote :
I'm using numark mixtrack pro II.
I want to assign different VDJscripts to both sides of FX buttons.
Can I do it?
I want to assign different VDJscripts to both sides of FX buttons.
Can I do it?
Yes! Just use
action_deck numas a query. For example:
action_deck 1 ? play : pause
This will be a play button on deck one, and a pause button on all other decks.
Posted Fri 17 Jul 20 @ 7:12 pm
For example, I want to assign VDJscripts indicated in this attached file.
Posted Sat 18 Jul 20 @ 2:52 pm

Posted Sat 18 Jul 20 @ 2:53 pm
Whichever I push left or right FX1 button of mixtrack pro II(indicated in the above picture), FX1 is detected as Key.
How does VirtualDJ distinguish right from left of FX1 buttons?
How does VirtualDJ distinguish right from left of FX1 buttons?
Posted Mon 20 Jul 20 @ 3:21 pm
action deck X ? FOR DECK X : NOT FOR DECK X
Posted Mon 20 Jul 20 @ 3:47 pm
Then I cannot realize this assignment?
https://www.virtualdj.com/img/317225/47626/mixtrackpro2.jpg
https://www.virtualdj.com/img/317225/47626/mixtrackpro2.jpg
Posted Mon 20 Jul 20 @ 4:19 pm
Why not?
action deck 1 ? os2l_button 'blackout' : nothing
action deck 2 ? os2l_button 'strobe' : nothing
action deck 1 ? os2l_button 'blackout' : nothing
action deck 2 ? os2l_button 'strobe' : nothing
Posted Mon 20 Jul 20 @ 4:21 pm
Can we write multiline VDJscript as Action like this?

Posted Tue 21 Jul 20 @ 1:34 pm
twaga wrote :
Can we write multiline VDJscript as Action like this?


Hello, I think this might be a solution:
action deck 1 ? os2l_button 'RED' : action deck 2 ? os2l_button 'GREEN' : nothing
Posted Tue 21 Jul 20 @ 1:49 pm
I've just confirmed that this VDJscript below works well.
action_deck 1 ? os2l_button "Red" : os2l_button "Green"
action_deck 1 ? os2l_button "Red" : os2l_button "Green"
Posted Tue 21 Jul 20 @ 1:52 pm
hello
I am building custom pad (already done with help of locodog)they are reacting like "ableton" with quantise before next Cue..But my question is about the name of my pad...I want to give the name of the hot_cue (pad1--hotcue 1'name..Pad 2 __hotcue 2 'name') but in the empty text field of Name, no script seems to work...I know that i already talk about this here but I don't find the old threat...
I am building custom pad (already done with help of locodog)they are reacting like "ableton" with quantise before next Cue..But my question is about the name of my pad...I want to give the name of the hot_cue (pad1--hotcue 1'name..Pad 2 __hotcue 2 'name') but in the empty text field of Name, no script seems to work...I know that i already talk about this here but I don't find the old threat...
Posted Thu 10 Dec 20 @ 4:19 pm
if I understand, you want
Pad 1 name: `cue_name 1`
Pad 1 name: `cue_name 1`
Posted Thu 10 Dec 20 @ 4:32 pm
or if you wanna have different alternative (name, number, position) depending on cueDisplay setting :
Pad 1 map Name to : `cue_display 1`
Pad 1 map Name to : `cue_display 1`
Posted Thu 10 Dec 20 @ 5:13 pm
locodog wrote :
if I understand, you want
Pad 1 name: `cue_name 1`
Pad 1 name: `cue_name 1`
exactly
Posted Thu 10 Dec 20 @ 6:36 pm
skyzo76 wrote :
exactly
locodog wrote :
if I understand, you want
Pad 1 name: `cue_name 1`
Pad 1 name: `cue_name 1`
exactly
ok so..i understand that I don't know what is this character not a " not a '..and when i copy paste your code it works...(but i already tried it with ") OK so it was so simply thanks again locodog
Posted Thu 10 Dec 20 @ 6:52 pm
It's a backtick [has a few names, you should see it above your tab key]
https://www.computerhope.com/jargon/b/backquot.htm
in vdj script backticks [`] are used in a few places, mostly when dealing with text, it tells vdj to use what is inside two back ticks as a script, and then parse it as text
for example, you set a variable to 6.
set 'myVar' 6
you could give a pad name something like this
myVar is `get_var 'myVar'`
what would be displayed is
myVar is 6
backticks have uses in more advanced script than just text, but the purpose is the same. parsing script,
set 'myVarSquare' `param_multiply "get_var 'myVar'" "get_var 'myVar'"`
it can be a little confusing when you need to use backticks as some param_ modifiers are expecting a script so they don't need backticks, other param_ modifiers might expect a script or a string so backticks are need to indicated we have passed it a script.
It's just one of those that you learn with practice.
https://www.computerhope.com/jargon/b/backquot.htm
in vdj script backticks [`] are used in a few places, mostly when dealing with text, it tells vdj to use what is inside two back ticks as a script, and then parse it as text
for example, you set a variable to 6.
set 'myVar' 6
you could give a pad name something like this
myVar is `get_var 'myVar'`
what would be displayed is
myVar is 6
backticks have uses in more advanced script than just text, but the purpose is the same. parsing script,
set 'myVarSquare' `param_multiply "get_var 'myVar'" "get_var 'myVar'"`
it can be a little confusing when you need to use backticks as some param_ modifiers are expecting a script so they don't need backticks, other param_ modifiers might expect a script or a string so backticks are need to indicated we have passed it a script.
It's just one of those that you learn with practice.
Posted Thu 10 Dec 20 @ 8:08 pm