I have a problem with my Korg Nanopad2, when trying to map in VDJ the mapping will only go up to 8 pads and not the whole 16 pads. The left 8 pads I can map and the right 8 pad are identical triggers in mapping. There should be 16 pads to trigger for different things right. If I change the scene it will do another 8 pads but not 16. I only really need 16 pads in total and not interested in switching between scenes. Has anyone else had this problem? Please help
Posted Fri 05 Aug 22 @ 10:29 am
I believe that's because it's configured to be deck aware
So that the 8 left pads are for the left deck and the 8 right pads are for the right deck
Looking at the default mapping for the unit you can make up for that. Like it has been done to handle 16 samples
So you simply split up the 8 pads scripts to 16 scripts by asking VDJ which "side" you are triggering from
Like:
device_side 'left' ? sampler_pad 1 : sampler_pad 5
As in:
If left side
Do this
Else do that
So that the 8 left pads are for the left deck and the 8 right pads are for the right deck
Looking at the default mapping for the unit you can make up for that. Like it has been done to handle 16 samples
So you simply split up the 8 pads scripts to 16 scripts by asking VDJ which "side" you are triggering from
Like:
device_side 'left' ? sampler_pad 1 : sampler_pad 5
As in:
If left side
Do this
Else do that
Posted Fri 05 Aug 22 @ 10:41 am
Thanks for the prompt reply. Sorry I might be a little daft with this.
Mapping to SC1_PAD1 with Script saying eg:
device_side 'left' deck 1 cue_stop
But when I press the 5th button along it also say SC1_PAD1 (which would be right deck). what would an example script say and for the 5th button.
Mapping to SC1_PAD1 with Script saying eg:
device_side 'left' deck 1 cue_stop
But when I press the 5th button along it also say SC1_PAD1 (which would be right deck). what would an example script say and for the 5th button.
Posted Sat 06 Aug 22 @ 7:05 am
You may be thinking about it a bit wrongly
The 16 pads are really 8 pads for each deck. So when that is ok then there should be no change to the script
But if you want it to be global and handle 16 functions, then you add the questionmark to ask vdj if the first part of the ststement is true, which in this case is "are you currently triggering on the left deck - hence the first 8 pads" if so then do something globally like trigger sample 1 for the first pad. But if it's not the left deck - so in fact the right deck as in the 8 pads to the right - then you do something else like trigger sample 9. You use colon in the script to indicate the "else" part. That way you can now setup the 2x8 pads to handle 16 actions like triggering 16 different samples
The 16 pads are really 8 pads for each deck. So when that is ok then there should be no change to the script
But if you want it to be global and handle 16 functions, then you add the questionmark to ask vdj if the first part of the ststement is true, which in this case is "are you currently triggering on the left deck - hence the first 8 pads" if so then do something globally like trigger sample 1 for the first pad. But if it's not the left deck - so in fact the right deck as in the 8 pads to the right - then you do something else like trigger sample 9. You use colon in the script to indicate the "else" part. That way you can now setup the 2x8 pads to handle 16 actions like triggering 16 different samples
Posted Sat 06 Aug 22 @ 8:41 am
oh I get it. thanks. woh confusing haha
Posted Sat 06 Aug 22 @ 9:04 am
I’m not sure why but I’m not getting it only the first 8 pads are mappable and the rest mirror the first 8 pads …. Doesn’t seem to do this in other software tho….. I’m using deck left and then the action I’m not understanding how to utilize all 16 pads tho 🤦🏽
Posted Sat 25 Nov 23 @ 8:22 pm
klausmogensen wrote :
The 16 pads are really 8 pads for each deck.
@klausmogensen - I am adding to this thread to keep the topic together, it might help someone else.
I am using the following script
deck 1 pad_page 3 "stems" & deck 2 pad_page 3 "stems" &
device_side 'left' ? deck 1 stem_pad "bass" : deck 2 stem_pad "kick"
I would expect that this does the following:
- switches both decks to Stems pads
- pressing pad 7 on the left side will toggle bass on the left deck
- pressing pad 15 (7 on the right) will toggle kick on the right deck
But what actually happens is:
- switches both decks to Stems pads
- pressing pad 7 on the left side toggles "kick" on the right deck
- pressing pad 15 (7 on the right) also toggles "kick" on the right deck
Is there a problem with the script?
Also, is there a way to turn all stems on with a single command?
Ultimately, here is what I want to have happen.
- reset all stems to ON
- switch both decks to Stems pads
- pressing pad 7 on the left side makes deck 1 acapella and at the same time makes deck 2 Instrumental. Pressing again toggles
- pressing pad 15 (7 on the right) makes deck 2 acapella and at the same time makes deck 1 Instrumental. Pressing again toggles
Thanks
Posted 7 days ago @ 1:31 am
Because you're specifying deck 2 further actions will be specified to deck 2, it's not getting the side specified from the device any more it's getting the deck specified from script
and a few other things you don't need and general confusion
contain the deck specified commands in brackets, the mute_stem off commands will unmute all 5 stem types, outside of brackets our implied deck is from the device now,
this deck mute the stems to get acapella [could have used stem_pad acapella instead ] , other deck we have to specify but we know the number because we're in the left side of the device side query deck 2 mute the vocal : other side of the query same thing except we specify deck 1
edit, I just caught your case of wanting to toggle back off, factored that in but it makes it more complicated. the initial && query deals with that.
Minimum typing version
and a few other things you don't need and general confusion
( deck 1 pad_page 3 stems && deck 2 pad_page 3 stems ) ?
device_side 'left' ? mute_stem meloRhythm & deck 2 stem_pad vocal : mute_stem meloRhythm & deck 1 stem_pad vocal : ( deck 1 pad_page 3 stems & mute_stem meloRhythm off & mute_stem vocal off & deck 2 pad_page 3 stems & mute_stem meloRhythm off & mute_stem vocal off ) & device_side 'left' ? mute_stem meloRhythm & deck 2 stem_pad vocal : mute_stem meloRhythm & deck 1 stem_pad vocal
contain the deck specified commands in brackets, the mute_stem off commands will unmute all 5 stem types, outside of brackets our implied deck is from the device now,
this deck mute the stems to get acapella [could have used stem_pad acapella instead ] , other deck we have to specify but we know the number because we're in the left side of the device side query deck 2 mute the vocal : other side of the query same thing except we specify deck 1
edit, I just caught your case of wanting to toggle back off, factored that in but it makes it more complicated. the initial && query deals with that.
Minimum typing version
( deck 1 pad_page stems && deck 2 pad_page stems ) ? stem_pad acapella & set_deck `param_mod 2 get_deck & param_add 1` & stem_pad vocal : ( deck all pad_page stems & mute_stem meloRhythm 0 & mute_stem vocal 0 ) & stem_pad acapella & set_deck `param_mod 2 get_deck & param_add 1` & stem_pad vocal
Posted 7 days ago @ 2:19 am
locoDog wrote :
I just caught your case of wanting to toggle back off, factored that in but it makes it more complicated. the initial && query deals with that.
BRILLIANT! Not only am I grateful that it works, I will also learn a lot from what you have done.
I am a pretty experienced PHP/jQuery coder and I have to admit to finding vdjscript pretty tricky to get right. I think if the page https://www.virtualdj.com/manuals/virtualdj/appendix/vdjscriptverbs.html was improved with better examples and less ambiguity it would not only help users, but also save you time doing vdjscript support. It is almost as though each verb could have a page of its own with more details and several examples. (Although obviously not every verb would need that). Why not make a user accessible wiki so we can contribute and improve it?
A good example of a verb with a description that simply doesn't make sense:
param_mod - wrap the value of the calling slider/encoder if more than the given value
and then in your example
set_deck `param_mod 2 get_deck & param_add 1`
Posted 6 days ago @ 12:14 am
param_mod is Modulo operator.
Posted 6 days ago @ 6:44 am