Hi all
I am looking to create a custom mapper specifically for my needs. ( Yes i will happily upload and make available when done with explainations)
As a mashup artist i dont play with conventional buttons like seek etc and want to customise these
I understand that the mappers built into VDJ is made alot easier in version 6, but i am looking for some clarification on use.
I have read the articles on vdj scripts, and some times as an end user, the point a developer is making, is not so clear. So please bear with me on this
What i think i understand is that there are two configuration files required for a mapper to work correctly, the hercules mapper under the mappers folder and another file ( please clarrify what and where this file is )
What i would expect, is that you have a mapper that is used for sending and recieving of mid commands, for example the playbutton {id} on device maps to play funtion in software, and this seems to be clear in the config > mappers section
What i dont understand is the underlaying commands structure. lets take the command "button 1" which maps to the action djc_button1, but where is the underlaying code which specifies which funtion djc_button1 should carry out, e.g effect beatgrid
I have 3 scenarios i want to achieve at first and if someone can explain how they would implement these, i am confident i can work out the rest
1) I would like the sync button to do three funtions at once, play sync, and beat lock ( like in the older version of VDJ 3.x )
2) The 6 custom buttons on hercules RMX / Steel, i would like to map 6 effects to the 6 buttons then on pressing shift, this would activate buttons 7 - 12 to for looping 2/4/8/etc
2b) I was able to do this in 3.4 version with Hercules MK2, in which i could select either effects, or lopping and it would action on the 3 effects loaded under the effects section, how would i map button 1-3 to predefined effects, then map buttons 4-6 to the 3 effects loaded under the effects section no matter what they were
3) I dont use the seek butons, would i be able to specify this as a second and third shift button in which i could then use six custom buttons for effects, shift button for loops, and left shift for samples and right seek for something else
P.S I dont ask for such detailed help without providing something in return. I will be happy to provide a Pellapushers production - Mashup Euphorium Volume 3 - 2 hour Hour Extended mix to any one who provides the answre i am lookign for ( Thsi production is still in development and will be released this summer. The Entended two hour set will not be availble for general download.
pp.s I am working on trial version of pro to configure before i buy, but i do have a pro version friend who is willing to help if needs be. I want to ensure i can accomplish these task before i upgrade to pro myself.
Regards, MICK_c
The Pellapushers
I am looking to create a custom mapper specifically for my needs. ( Yes i will happily upload and make available when done with explainations)
As a mashup artist i dont play with conventional buttons like seek etc and want to customise these
I understand that the mappers built into VDJ is made alot easier in version 6, but i am looking for some clarification on use.
I have read the articles on vdj scripts, and some times as an end user, the point a developer is making, is not so clear. So please bear with me on this
What i think i understand is that there are two configuration files required for a mapper to work correctly, the hercules mapper under the mappers folder and another file ( please clarrify what and where this file is )
What i would expect, is that you have a mapper that is used for sending and recieving of mid commands, for example the playbutton {id} on device maps to play funtion in software, and this seems to be clear in the config > mappers section
What i dont understand is the underlaying commands structure. lets take the command "button 1" which maps to the action djc_button1, but where is the underlaying code which specifies which funtion djc_button1 should carry out, e.g effect beatgrid
I have 3 scenarios i want to achieve at first and if someone can explain how they would implement these, i am confident i can work out the rest
1) I would like the sync button to do three funtions at once, play sync, and beat lock ( like in the older version of VDJ 3.x )
2) The 6 custom buttons on hercules RMX / Steel, i would like to map 6 effects to the 6 buttons then on pressing shift, this would activate buttons 7 - 12 to for looping 2/4/8/etc
2b) I was able to do this in 3.4 version with Hercules MK2, in which i could select either effects, or lopping and it would action on the 3 effects loaded under the effects section, how would i map button 1-3 to predefined effects, then map buttons 4-6 to the 3 effects loaded under the effects section no matter what they were
3) I dont use the seek butons, would i be able to specify this as a second and third shift button in which i could then use six custom buttons for effects, shift button for loops, and left shift for samples and right seek for something else
P.S I dont ask for such detailed help without providing something in return. I will be happy to provide a Pellapushers production - Mashup Euphorium Volume 3 - 2 hour Hour Extended mix to any one who provides the answre i am lookign for ( Thsi production is still in development and will be released this summer. The Entended two hour set will not be availble for general download.
pp.s I am working on trial version of pro to configure before i buy, but i do have a pro version friend who is willing to help if needs be. I want to ensure i can accomplish these task before i upgrade to pro myself.
Regards, MICK_c
The Pellapushers
Posté Thu 01 Apr 10 @ 5:55 pm
You can do all the above and more in VirtualDJ Pro using VDJscript:
http://www.virtualdj.com/wiki/VDJScript%20Examples.html
http://www.virtualdj.com/wiki/VDJscript.html
http://www.virtualdj.com/wiki/VDJscript_verbs.html
VirtualDJ Pro allows any button on the console to be customised.
The free limited DJ Console Edition that you currently have does not allow any custom mapping, except for the list of presets that can be chosen from for the 6+6 buttons.
Your Hercules Steel DJ Console entitles you to a significant discount off upgrading to VirtualDJ Professional. To receive this, please go to http://www.virtualdj.com/buy/index.html and enter your DJ Console software serial number in the box provided.
http://www.virtualdj.com/wiki/VDJScript%20Examples.html
http://www.virtualdj.com/wiki/VDJscript.html
http://www.virtualdj.com/wiki/VDJscript_verbs.html
VirtualDJ Pro allows any button on the console to be customised.
The free limited DJ Console Edition that you currently have does not allow any custom mapping, except for the list of presets that can be chosen from for the 6+6 buttons.
Your Hercules Steel DJ Console entitles you to a significant discount off upgrading to VirtualDJ Professional. To receive this, please go to http://www.virtualdj.com/buy/index.html and enter your DJ Console software serial number in the box provided.
Posté Fri 02 Apr 10 @ 12:43 pm
Did you end up solving this problem? I am unable to program my RMX to use the shift command.
If someone does this please post.
Thank you
If someone does this please post.
Thank you
Posté Mon 26 Apr 10 @ 1:03 pm
Please see http://www.virtualdj.com/wiki/VDJScript%20Examples.html - There are instructions there on how to program a shift button along with many other common examples.
However, you will need to upgrade to VirtualDJ Pro - It's not possible to do custom mapping in the free limited DJ Console Edition.
If you are using the 20 day trial of VirtualDJ Pro, make sure that you have the latest trial http://www.virtualdj.com/download/trial.html - The trial of Pro included with the Console Edition is v5.2 and does not have the new VDJscript mapping feature that allows you to easily customise the mappings of controllers.
NOTE: Your RMX DJ Console entitles you to a significant discount off upgrading to VirtualDJ Professional. To receive this, please go to http://www.virtualdj.com/buy/index.html
However, you will need to upgrade to VirtualDJ Pro - It's not possible to do custom mapping in the free limited DJ Console Edition.
If you are using the 20 day trial of VirtualDJ Pro, make sure that you have the latest trial http://www.virtualdj.com/download/trial.html - The trial of Pro included with the Console Edition is v5.2 and does not have the new VDJscript mapping feature that allows you to easily customise the mappings of controllers.
NOTE: Your RMX DJ Console entitles you to a significant discount off upgrading to VirtualDJ Professional. To receive this, please go to http://www.virtualdj.com/buy/index.html
Posté Mon 26 Apr 10 @ 1:23 pm
I am also interested in doing something like this, but code in the example does not work to control an external controller (Hercules RMX) if someone solves this please let me know!!
Posté Wed 28 Apr 10 @ 6:46 pm
It should work fine on any controller - If the controller doesn't actually have a dedicated button labelled SHIFT then you will need to designate another suitable button that you do not use to this task (E.g: One of the 6+6 buttons.)
Posté Wed 28 Apr 10 @ 7:39 pm
Another option is to use holding ? held_action : clicked_action
This will execute clicked_action when the button is clicked and held_action if it is held down and then released.
However, this is not suitable for actions where timing is critical, such as executing an action such as hot_cue, loop_in, etc. manually in time to the beat because the action is not applied until the button is released, introducing a small varying delay (Depending on how fast you press and release the button.)
This will execute clicked_action when the button is clicked and held_action if it is held down and then released.
However, this is not suitable for actions where timing is critical, such as executing an action such as hot_cue, loop_in, etc. manually in time to the beat because the action is not applied until the button is released, introducing a small varying delay (Depending on how fast you press and release the button.)
Posté Wed 28 Apr 10 @ 7:47 pm
Hi, i am having problems mapping my keyboard and hercules rmx controller. I am using virtual DJ6 btw
I am trying to have button 5 both play hot_cue 2 and loop out. i figured the command would be
- hotcue_2 : loop_out
and with my keyboard i have been trying to configure the keys to loop for the different decks. at the moment they are at the standard which is keys 1,2,4,8 are loop 1, loop 2, loop 4, loop 8. i find it kinda hard because sometimes when i use the keyboard to change the loop it does it for the wrong deck. i tried configuring key 1 to action_deck 1 : loop 1 and Q to action_deck 2 : loop 2. they just didnt do anything. any help would be appreciated.
CHEERS!
I am trying to have button 5 both play hot_cue 2 and loop out. i figured the command would be
- hotcue_2 : loop_out
and with my keyboard i have been trying to configure the keys to loop for the different decks. at the moment they are at the standard which is keys 1,2,4,8 are loop 1, loop 2, loop 4, loop 8. i find it kinda hard because sometimes when i use the keyboard to change the loop it does it for the wrong deck. i tried configuring key 1 to action_deck 1 : loop 1 and Q to action_deck 2 : loop 2. they just didnt do anything. any help would be appreciated.
CHEERS!
Posté Thu 22 Jul 10 @ 6:00 am
btw how do i add my license to my profile
Posté Thu 22 Jul 10 @ 6:01 am
The format is: action query ? action to perform if true : action to perform if false
E.g: holding ? hot_cue 2 : loop_out
This will cause it to perform hot cue 2 if held down and then released, or loop out if clicked.
Please bear in mind that the use of holding will delay the action until you release the button, which will introduce a small delay making it difficult to perform these actions precisely on the beat.
To avoid this, you would be better assigning a button on the controller to act as a 'shift' button by mapping it to the following:
set '$shift' 1 while_pressed
Then map button 5 to:
var '$shift' ? hot_cue 2 : loop_out
This will cause it to perform loop out normally, and hot cue 2 if you are holding down your shift button.
For the loops on the keyboard, you will need to add either deck 1 or deck 2 as appropriate in front of the mapping, e.g:
deck 1 loop 1
deck 2 loop 1
You can register your serial number by going to the following page and entering it in the box provided: http://www.virtualdj.com/users/edit.html
E.g: holding ? hot_cue 2 : loop_out
This will cause it to perform hot cue 2 if held down and then released, or loop out if clicked.
Please bear in mind that the use of holding will delay the action until you release the button, which will introduce a small delay making it difficult to perform these actions precisely on the beat.
To avoid this, you would be better assigning a button on the controller to act as a 'shift' button by mapping it to the following:
set '$shift' 1 while_pressed
Then map button 5 to:
var '$shift' ? hot_cue 2 : loop_out
This will cause it to perform loop out normally, and hot cue 2 if you are holding down your shift button.
For the loops on the keyboard, you will need to add either deck 1 or deck 2 as appropriate in front of the mapping, e.g:
deck 1 loop 1
deck 2 loop 1
You can register your serial number by going to the following page and entering it in the box provided: http://www.virtualdj.com/users/edit.html
Posté Thu 22 Jul 10 @ 1:07 pm
CHEEERS!!!!!!!!!!!!!!
Posté Thu 22 Jul 10 @ 8:25 pm
Hi their i'm a noobi and this mapping thing is got me so confused. Is their a simpler break down on how to map buttons on the RMX? if their is can you please refer me to the right link? Example if I wanted to map the buttons 1-6 to do two different things. like right now on both sides I have button 1 to loop in and button2 to loop out which is fine with me but how about one button to loop in and out say on a 8 bar count? And so forth button 3 is my effects on but on button 4 is map to pop up the different choices of effects that I have but i still need the mouse to pick the effect which i'm starting to think that its a waste of a button then button 5 plays my samples and button 6 pops open the sample tab which i don't use cuz i'm still trying to figure out how to use that part of the software in my sets.
THanks in adavnce
THanks in adavnce
Posté Tue 10 May 11 @ 6:06 am
I did this for a guy in another topic you didn't actually say what you wanted but this could be fun. The best way to learn is to read the wiki's and examples, there are links up the page. You cant loop out say on a 8 bar count as the commands are performed immediately
left/right 6 buttons - i have made these buttons work in three different ways normal, shifted and while looping. i don't like how the buttons are laid out so I changed them so the order is 1,4,2,5,3,6
normal mode
buttons 1,4,2,5 - will set or play a hot cue, however if these buttons are held for one second then released the applicable cue will be deleted
button 3 - will loop 4 bars
button 6 - I have used my hot loop work around, this will set hot cue 6 and loop 4 bars when pressed for the first time, but if there is a loop running another press will loop out. You can also delete cue 6 if you hold the button for one second then release.
shifted mode
buttons 1-6 will play the applicable sample on the first press, the second press will stop the sample & the browser will display the sampler page so you know the shift is activated
while looping
button 1 - will halve the loop size
button 4 - will double the loop size
button 2 - will change the loop position backwards one beat
button 5 - will change the loop position forwards one beat
button 6 - will loop out
left shift button
toggle 'left_shift' & var_equal 'left_shift' 1 ? page "sampler" ? nothing : page "sampler" : var_equal 'left_shift' 0 ? page "browser" ? nothing : page "browser"
left buttons
1) var_equal 'left_shift' 1 ? sampler 1 play_stop : holding 1000ms ? deck 1 delete_cue 1 : deck 1 loop ? deck 1 loop 50% : deck 1 hot_cue 1
4) var_equal 'left_shift' 1 ? sampler 2 play_stop : holding 1000ms ? deck 1 delete_cue 2 : deck 1 loop ? deck 1 loop 200% : deck 1 hot_cue 2
2) var_equal 'left_shift' 1 ? sampler 3 play_stop : holding 1000ms ? deck 1 delete_cue 3 : deck 1 loop ? deck 1 loop_move -1 : deck 1 hot_cue 3
5) var_equal 'left_shift' 1 ? sampler 4 play_stop : holding 1000ms ? deck 1 delete_cue 4 : deck 1 loop ? deck 1 loop_move +1 : deck 1 hot_cue 4
3) var_equal 'left_shift' 1 ? sampler 5 play_stop : deck 1 loop 4
6) var_equal 'left_shift' 1 ? sampler 6 play_stop : holding 1000ms ? deck 1 delete_cue 6 : deck 1 loop ? deck 1 loop_out : deck 1 hot_cue 6 & deck 1 loop 4
right shift button
toggle 'right_shift' & var_equal 'right_shift' 1 ? page "sampler" ? nothing : page "sampler" : var_equal 'right_shift' 0 ? page "browser" ? nothing : page "browser"
right buttons
1) var_equal 'right_shift' 1 ? sampler 7 play_stop : holding 1000ms ? deck 2 delete_cue 1 : deck 2 loop ? deck 1 loop 50% : deck 2 hot_cue 1
4) var_equal 'right_shift' 1 ? sampler 8 play_stop : holding 1000ms ? deck 2 delete_cue 2 : deck 2 loop ? deck 1 loop 200% : deck 2 hot_cue 2
2) var_equal 'right_shift' 1 ? sampler 9 play_stop : holding 1000ms ? deck 2 delete_cue 3 : deck 2 loop ? deck 2 loop_move -1 : deck 2 hot_cue 3
5) var_equal 'right_shift' 1 ? sampler 10 play_stop : holding 1000ms ? deck 2 delete_cue 4 : deck 2 loop ? deck 2 loop_move +1 : deck 2 hot_cue 4
3) var_equal 'right_shift' 1 ? sampler 11 play_stop : deck 2 loop 4
6) var_equal 'right_shift' 1 ? sampler 12 play_stop : holding 1000ms ? deck 2 delete_cue 6 : deck 2 loop ? deck 2 loop_out : deck 2 hot_cue 6 & deck 2 loop 4
enjoy :)
left/right 6 buttons - i have made these buttons work in three different ways normal, shifted and while looping. i don't like how the buttons are laid out so I changed them so the order is 1,4,2,5,3,6
normal mode
buttons 1,4,2,5 - will set or play a hot cue, however if these buttons are held for one second then released the applicable cue will be deleted
button 3 - will loop 4 bars
button 6 - I have used my hot loop work around, this will set hot cue 6 and loop 4 bars when pressed for the first time, but if there is a loop running another press will loop out. You can also delete cue 6 if you hold the button for one second then release.
shifted mode
buttons 1-6 will play the applicable sample on the first press, the second press will stop the sample & the browser will display the sampler page so you know the shift is activated
while looping
button 1 - will halve the loop size
button 4 - will double the loop size
button 2 - will change the loop position backwards one beat
button 5 - will change the loop position forwards one beat
button 6 - will loop out
left shift button
toggle 'left_shift' & var_equal 'left_shift' 1 ? page "sampler" ? nothing : page "sampler" : var_equal 'left_shift' 0 ? page "browser" ? nothing : page "browser"
left buttons
1) var_equal 'left_shift' 1 ? sampler 1 play_stop : holding 1000ms ? deck 1 delete_cue 1 : deck 1 loop ? deck 1 loop 50% : deck 1 hot_cue 1
4) var_equal 'left_shift' 1 ? sampler 2 play_stop : holding 1000ms ? deck 1 delete_cue 2 : deck 1 loop ? deck 1 loop 200% : deck 1 hot_cue 2
2) var_equal 'left_shift' 1 ? sampler 3 play_stop : holding 1000ms ? deck 1 delete_cue 3 : deck 1 loop ? deck 1 loop_move -1 : deck 1 hot_cue 3
5) var_equal 'left_shift' 1 ? sampler 4 play_stop : holding 1000ms ? deck 1 delete_cue 4 : deck 1 loop ? deck 1 loop_move +1 : deck 1 hot_cue 4
3) var_equal 'left_shift' 1 ? sampler 5 play_stop : deck 1 loop 4
6) var_equal 'left_shift' 1 ? sampler 6 play_stop : holding 1000ms ? deck 1 delete_cue 6 : deck 1 loop ? deck 1 loop_out : deck 1 hot_cue 6 & deck 1 loop 4
right shift button
toggle 'right_shift' & var_equal 'right_shift' 1 ? page "sampler" ? nothing : page "sampler" : var_equal 'right_shift' 0 ? page "browser" ? nothing : page "browser"
right buttons
1) var_equal 'right_shift' 1 ? sampler 7 play_stop : holding 1000ms ? deck 2 delete_cue 1 : deck 2 loop ? deck 1 loop 50% : deck 2 hot_cue 1
4) var_equal 'right_shift' 1 ? sampler 8 play_stop : holding 1000ms ? deck 2 delete_cue 2 : deck 2 loop ? deck 1 loop 200% : deck 2 hot_cue 2
2) var_equal 'right_shift' 1 ? sampler 9 play_stop : holding 1000ms ? deck 2 delete_cue 3 : deck 2 loop ? deck 2 loop_move -1 : deck 2 hot_cue 3
5) var_equal 'right_shift' 1 ? sampler 10 play_stop : holding 1000ms ? deck 2 delete_cue 4 : deck 2 loop ? deck 2 loop_move +1 : deck 2 hot_cue 4
3) var_equal 'right_shift' 1 ? sampler 11 play_stop : deck 2 loop 4
6) var_equal 'right_shift' 1 ? sampler 12 play_stop : holding 1000ms ? deck 2 delete_cue 6 : deck 2 loop ? deck 2 loop_out : deck 2 hot_cue 6 & deck 2 loop 4
enjoy :)
Posté Tue 10 May 11 @ 8:19 am
This sounds amazing, i also have an hercules rmx but sometimes the midi options don't let me do mashups like I would like to, maybe once you upload the skin this could help :D
Posté Fri 13 May 11 @ 4:13 pm
You will need to upgrade to pro to be able to map your RMX, it should be half price for you
Posté Fri 13 May 11 @ 4:59 pm
Hi all. The problem I am having is that I can not separate the left and right side 6 buttons. If I use the custom mapping previously given I twill only work for the left side since I only have on description in my mapping setting for both sets of 6 buttons. Also I have the RMX but it does not have a shift button so I am just using button 6 on both sides. Am I missing something or is everyone with an RMX having to sacrifice on button to use as a shift button? Thanks for any help.
Posté Sun 15 May 11 @ 8:51 am
I have made it so there is two shift buttons (one for each deck) If you wanted you could change "left_shift & right_shift" to "$shift", I have never used a RMX so I don't know why the mapping only works on one side, unless you only had one shift button mapped. you could also try leaving out the "deck 1/2" as the deck assigning may be written in the definition file for the rmx
Posté Sun 15 May 11 @ 9:13 am
Thanks, I will give that a try. Also I am using the VDJ 7 4 deck skin and was curious if anyone else had a problem with the left right gains when using decks 3 or 4 as well as there not being any indication as to the status of the kill buttons on screen so you don't know what kill is in effect?the kill button
Posté Mon 16 May 11 @ 7:54 am
The only workaround besides modifying the skin I can think of is to map the kill buttons as
toggle 'kill_l_1' & var_equal 'kill_l_1' 1 ? deck 1 eq_kill_low & fake_eq_low 0% : var_equal 'kill_l_1' 0 ? deck 1 eq_kill_low & deck 1 fake_eq_low 50%
toggle 'kill_m_1' & var_equal 'kill_m_1' 1 ? deck 1 eq_kill_mid & fake_eq_mid 0% : var_equal 'kill_m_1' 0 ? deck 1 eq_kill_mid & deck 1 fake_eq_mid 50%
toggle 'kill_h_1' & var_equal 'kill_h_1' 1 ? deck 1 eq_kill_high & fake_eq_high 0% : var_equal 'kill_h_1' 0 ? deck 1 eq_kill_high & deck 1 fake_eq_high 50%
Unfortunately that is the best I can get it, when you activate the kill the knob on the skin will go to zero, and when reactivated the knob will go to 50% but the sound will return to what it was, so at least you can see what is killed, you just need to make the right deck assignments and use 'kill_l_2' for deck 2 etc..
toggle 'kill_l_1' & var_equal 'kill_l_1' 1 ? deck 1 eq_kill_low & fake_eq_low 0% : var_equal 'kill_l_1' 0 ? deck 1 eq_kill_low & deck 1 fake_eq_low 50%
toggle 'kill_m_1' & var_equal 'kill_m_1' 1 ? deck 1 eq_kill_mid & fake_eq_mid 0% : var_equal 'kill_m_1' 0 ? deck 1 eq_kill_mid & deck 1 fake_eq_mid 50%
toggle 'kill_h_1' & var_equal 'kill_h_1' 1 ? deck 1 eq_kill_high & fake_eq_high 0% : var_equal 'kill_h_1' 0 ? deck 1 eq_kill_high & deck 1 fake_eq_high 50%
Unfortunately that is the best I can get it, when you activate the kill the knob on the skin will go to zero, and when reactivated the knob will go to 50% but the sound will return to what it was, so at least you can see what is killed, you just need to make the right deck assignments and use 'kill_l_2' for deck 2 etc..
Posté Mon 16 May 11 @ 8:32 am
I am looking to connect 2 Hercules Rmx controllers to my laptop and function them using 4 decks in virtual dj pro. Is this possible and if so what input/output settings do i need to configure in order to achieve this?
Posté Wed 15 Jun 11 @ 12:12 pm