Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Scripting Question: device_side 'left' - Page: 1
Scripting Question:

the Mapping for an unused controller button:
device_side 'left' ?  deck 1 pioneer_play : device_side 'right' ? deck 2 pioneer_play : nothing

works perfectly if Deck1 and Deck 2 are the active decks on the controller


once the Deck 3 and or Deck 4 is the active Deck (ie in an upper quadrant of the software and hotcues etc are associated with Deck 3 or 4), the above mapped button does NOT work.

Why? The Left side and Right side of the device have not changed. Why does it not start and stop Play on Decks 1 & 2 respectively


would like the button to stop and start Decks 1 & 2 independent of which Deck is Active (in upper quadrant)

Thanks in advance :)



-----------------
using on a 4 Deck Denon MC7000 controller
VDJ 6613
Win10
 

Posted Mon 30 Aug 21 @ 4:13 am
NicotuxHome userMember since 2014
This is because of side is not deck location but device location in multiple devices configurations

to select deck active in one side (i.e.: 1,3 or 2,4), just use deck left or deck right
deck left pioneer_play
for deck 1 and 2 only, just depending on current deck
side and deck selection
pioneer_play
for deck 1 and 2 just depending on current deck location|
leftdeck ? deck 1 pioneer_play : rightdeck ? deck 2 pioneer_play : nothing

you can use crossfader assignment too
leftcross ? deck 1 pioneer_play : rightcross ? deck 2 pioneer_play : nothing

 

Posted Mon 30 Aug 21 @ 5:19 am
Wow Nicotux, Once again you are Amazing...

love all the examples for every case possible :)

Thanks that worked perfectly.. !

________

still don't fully understand when/how, in which situations to use:

rightdeck
action_deck
and
device_side 'right'
 

Posted Mon 30 Aug 21 @ 8:19 am
djdadPRO InfinityDevelopment ManagerMember since 2005
A. For buttons/faders/knobs that exist on both sides of a controller (and have the same name), there is no need to query the 'side' or 'deck' if you want to provide the same action on both sides.
So your example should be just .. pioneer_play

If you need to provide different actions depending on the side the button is, you can query either device_side 'left' or action_deck x.
device_side 'left' is mostly used with 2 decks controllers while action_deck x is used mostly with 4 deck controllers or more accurately with controllers with hardware layers that switch hardware layer/deck but dont change left/right decks in VDJ.

B. For buttons/faders/knobs that dont exist on both sides of a controller, you can query either the selected deck using .. deck default play, or the active deck (the one is playing out live) using deck active play
For 4 decks , you can query which deck is Left or Right using .. deck x leftdeck or deck x rightdeck.
 

Posted Mon 30 Aug 21 @ 8:52 am
Thank you DJDAD..

Wow awesome explanation!

Keeping a copy for reference, since I am sure to need it in the future.

I am always amazed at what can be done with VDJ... and what makes it all possible is the amazing community of support .

Thanks again everyone, the awesome assistance.

VDJ is the Best ! !
 

Posted Mon 30 Aug 21 @ 9:43 am
SBVDJControlleristMember since 2022
I'd love for someone to help me configure something specific on my 4 channel controller. I rarely use the decks 3/4 and would love to use those EQ knobs as effects from the bank "effect_slider 1" for example. How would I choose this? For instance, I want my EQ_HIGH for deck 3 which is on the outer bank of knobs to control the effect_slider 1. What would I have to do for this? I choose EQ_HI but it isnt deck specific in the mapping. Its seemingly for all decks. I tried device_side :( Please help!
 

Posted Tue 04 Apr 23 @ 6:14 am
Not tested (should work):

Try this:
action_deck 3 ?  YourFXScriptLside : action_deck 1 ? eq_high : action_deck 2 ? eq_high : action_deck 4 ? YourFXScriptRside : eq_high


or more maybe more simply:
action_deck 3 ?  YourFXScriptLside :  action_deck 4 ? YourFXScriptRside : eq_high


 

Posted Tue 04 Apr 23 @ 6:36 am
SBVDJControlleristMember since 2022
This one makes the EQ-High on deck 1 do what its supposed to but now EQ-High deck 3 does nothing:
action_deck 3 ? effect_slider 1 1 : action_deck 1 ? eq_high

This one makes the deck 1 EQ-High control the FX slider and EQ-High deck 3 does nothing still:
action_deck 3 ? : effect_slider 1 1 : action_deck 1 ? eq_high

This one is the exact same as the one above in function:
action_deck 3 ? : effect_slider 1 1 : action_deck 3 ? eq_high

And lastly, this one breaks both knobs so they do nothing at all:
action_deck 1 ? : effect_slider 1 1 : action_deck 3 ? eq_high

I really wish this was easier to understand :(
I am using DDJ-FLX6
 

Posted Tue 04 Apr 23 @ 1:47 pm
here are more details: (filled in what I think you may want for the outer upper EQ-HI knobs. tested)

action_deck 3 ?  deck 1 effect_slider 1 1 :  action_deck 4 ?  deck 2 effect_slider 1 1 : eq_high

where now the outer EQ-HI knobs will adjust the first slider of effect on slot 1, and the inner EQ-HI knobs will adjust as usual, what you have set for them to adjust.. Stems, FQ EQ, etc.


------------------------
PS
your first line of code should have worked (but maybe on the deck 3 FX slot), the others have a typo of ":" after the first "?"

the structure is
query ? actionIFqueryTrue : actionIF queryFalse

note the position of the ":" ..... which separates the 2 actions.



----------------------

You may find it fun and easy to learn more scripting, as Locodog had created many awesome tutorials in the thread Script School
working links below to the different topics:


 

Posted Tue 04 Apr 23 @ 4:13 pm
Some other interesting things to consider maybe:


1) After you get above working as you like, you could get fancier by toggling a variable with a custom button (or controller button) to toggle the outer EQs between the usual 3 EQ use and FX effect sliders. (in case you wish to use 4 decks at future time)
To turn ON and OFF the outer knobs affecting the FX.

2) you could similarly use the outer Gain/Trim and ColorFx knobs if/when not using decks 3 and 4. (know 5 knobs each side)

3) lastly could control a different slider while shift is depressed, for each of the knobs.


 

Posted Tue 04 Apr 23 @ 4:35 pm
SBVDJControlleristMember since 2022
MMUAH!!!! thank you! THANK YOU!!
 

Posted Tue 04 Apr 23 @ 5:49 pm
SBVDJControlleristMember since 2022
Everything is working perfectly! Now. Bonus question! How do I add a button or something on my deck / keyboard to turn the scripting off and on so that I could mix with 4 decks again?

"1) After you get above working as you like, you could get fancier by toggling a variable with a custom button (or controller button) to toggle the outer EQs between the usual 3 EQ use and FX effect sliders. (in case you wish to use 4 decks at future time)
To turn ON and OFF the outer knobs affecting the FX."
 

Posted Mon 24 Jul 23 @ 9:44 pm
One solution:
would be to use a variable like, @$4Decks (true when you want to use all 4 decks with EQs only)

then set up a custom/controller button to toggle that variable with:
toggle '@$4Decks'


then if say for the EQ-HI knob you were using (from above post), was:
action_deck 3 ? deck 1 effect_slider 1 1 : action_deck 4 ? deck 2 effect_slider 1 1 : eq_high


the new script/action for the EQ-HI knob, (which can toggle between normal and your FX mode), would be:

var '@$4Decks' ? eq_high : action_deck 3 ? deck 1 effect_slider 1 1 : action_deck 4 ? deck 2 effect_slider 1 1 : eq_high





-------------

PS
If using a controller button to toggle the mode, one may also need/want to script the LED for that button.
var '@$4Decks' 

or
var '@$4Decks' ? on : off

or
var '@$4Decks' ? blink 500ms : off

.
.
etc
 

Posted Tue 25 Jul 23 @ 1:39 am
SBVDJControlleristMember since 2022
Okay! Ill give this a try on Thursday when I get home from a trip im on. Ill let you know if that worked, thanks!
 

Posted Tue 25 Jul 23 @ 11:30 am
SBVDJControlleristMember since 2022
So. I dont understand what '@$4Decks' actually does. I guessed maybe @ calls a button "$" being that button? I really dont know :(

Would it be at all possible to when there is something loaded 'doesn't even have to be playing' into decks 3/4 then the EQ knobs work as intended? Also I always have at least 4 FX on so that I can always control them with the knobs and not have to active them. The action would have to be something like "load track into deck 3/4 will one time turn off all FX and return EQ's to normal use for decks 3/4 and when nothing is loaded they return to FX knobs" I really dont know if this is at all possible but I am imaginative :)

I currently use "action_deck 3 ? deck 1 effect_slider 2 1 : action_deck 4 ? deck 2 effect_slider 2 1 : eq_mid" assigned similarly for decks 3/4 all EQ knobs and gain to control FX for decks 1/2.
 

Posted Thu 27 Jul 23 @ 2:20 am
locoDogPRO InfinityModeratorMember since 2013
'@$4Decks' is a variable to used to indicate 4 deck mode in the default skin

starting with @ means it's persistent, it is remembered across sessions
$ means it is associated with deck master, not an individual deck
 

Posted Thu 27 Jul 23 @ 2:40 am
SBVDJControlleristMember since 2022
var @$4Decks : action_deck 3 ? deck 1 effect_slider 2 1 : action_deck 4 ? deck 2 effect_slider 2 1 : eq_mid

This changed nothing except when I was in deck 4 I wasn't able to change any EQs or FXs
 

Posted Thu 27 Jul 23 @ 2:44 am
locoDogPRO InfinityModeratorMember since 2013
because you're not querying the vars value

var '@$4Decks' ? value is true / >1 : value is false / 0

you want something like this

param_equal `param_add 'deck 3 loaded' 'deck 4 loaded'` 0 !? SOMETHING IS LOADED ON DECK 3 OR 4 OR BOTH : NOTHING LOADED ON THOSE DECKS
 

Posted Thu 27 Jul 23 @ 2:48 am
SBVDJControlleristMember since 2022
This is all soo confusing :'(

Could you explain what each word / symbol in the command means?

param_equal `param_add 'deck 3 loaded' 'deck 4 loaded'` 0 !? action_deck 3 ? deck 1 effect_slider 5 1 : action_deck 4 ? deck 2 effect_slider 5 1 : eq_low

This just breaks the EQ for deck 4 all together for LOW and FX
 

Posted Thu 27 Jul 23 @ 3:08 am
locoDogPRO InfinityModeratorMember since 2013
action_deck 3 ? deck 3 loaded ? eq_low : deck 1 effect_slider 5 1 : action_deck 4 ? deck 4 loaded ? eq_low : deck 2 effect_slider 5 1 : eq_low
 

Posted Thu 27 Jul 23 @ 4:01 am
87%