Scripting Question:
the Mapping for an unused controller button:
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
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
Posté Mon 30 Aug 21 @ 4:13 am
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
side and deck selection
you can use crossfader assignment too
to select deck active in one side (i.e.: 1,3 or 2,4), just use deck left or deck right
deck left pioneer_playfor deck 1 and 2 only, just depending on current deck
side and deck selection
pioneer_playfor 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
Posté 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'
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'
Posté Mon 30 Aug 21 @ 8:19 am
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.
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.
Posté 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 ! !
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 ! !
Posté Mon 30 Aug 21 @ 9:43 am
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!
Posté Tue 04 Apr 23 @ 6:14 am
Not tested (should work):
Try this:
or more maybe more simply:
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
Posté Tue 04 Apr 23 @ 6:36 am
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
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
Posté 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)
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:
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:
locodog wrote :
Topics covered to date
FX slots & FX active
effect_select, effect_select_multi
fx buttons & sliders
variables & shift
Maths, add, multiply, subtract, divide & casting
Shader stuff & effect_string
repeat_start, repeat_stop
strings variables
relative & absolute casting
Little tips & strange things
automatic actions with get_beat_bar
Brackets in scripts
Countdown Script
FX slots & FX active
effect_select, effect_select_multi
fx buttons & sliders
variables & shift
Maths, add, multiply, subtract, divide & casting
Shader stuff & effect_string
repeat_start, repeat_stop
strings variables
relative & absolute casting
Little tips & strange things
automatic actions with get_beat_bar
Brackets in scripts
Countdown Script
Posté 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.
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.
Posté Tue 04 Apr 23 @ 4:35 pm
MMUAH!!!! thank you! THANK YOU!!
Posté Tue 04 Apr 23 @ 5:49 pm
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."
"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."
Posté 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:
then if say for the EQ-HI knob you were using (from above post), was:
the new script/action for the EQ-HI knob, (which can toggle between normal and your FX mode), would be:
-------------
PS
If using a controller button to toggle the mode, one may also need/want to script the LED for that button.
or
or
.
.
etc
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
Posté Tue 25 Jul 23 @ 1:39 am
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!
Posté Tue 25 Jul 23 @ 11:30 am
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.
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.
Posté Thu 27 Jul 23 @ 2:20 am
'@$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
starting with @ means it's persistent, it is remembered across sessions
$ means it is associated with deck master, not an individual deck
Posté Thu 27 Jul 23 @ 2:40 am
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
This changed nothing except when I was in deck 4 I wasn't able to change any EQs or FXs
Posté Thu 27 Jul 23 @ 2:44 am
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
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
Posté Thu 27 Jul 23 @ 2:48 am
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
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
Posté Thu 27 Jul 23 @ 3:08 am
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
Posté Thu 27 Jul 23 @ 4:01 am