Sign In:     


Forum: VirtualDJ Technical Support

Topic: Mapping Help !!
Using VDJ 2023 ...

When I press Ctrl-E I'd like the foll to happen:
1) Identify currently PLAYING Deck
2) Trigger ECHO OUT effect (ECHO OUT effect is already active in that deck)
3) Set Crossfader Midway - 50%
4) Wait 4 BARS
5) PLAY other DECK
6) Stop ECHO OUT on the Previous Deck

If there's any other step I'm missing, kindly offer your advice.
 

Posted yesterday @ 3:22 pm
deck active - specify a deck, deck active being the loudest as calculated by crossfader and upfader positions
effect_active 'echo out' on - call the effect on
crossfader 0.5 - set the crossfader
wait 16bt - make the script wait a period of beats
stop & effect_active 'echo out' off - stop the deck and the effect
set_deck `get_deck & param_mod 2 & param_add 1` - we now want to specify the other deck, so get the active deck number perform a modulus 2 operation on it [if active was 1 the number stays 1 because it is < 2, if active was 2 the number wraps round to zero] then add 1. That has specified the non active deck as the script focus
play - play the newly specified deck

deck active effect_active 'echo out' on & crossfader 0.5 & wait 16bt & stop & effect_active 'echo out' off & set_deck `get_deck & param_mod 2 & param_add 1` & play


This kind of thing, [and most other script] is covered here
https://www.virtualdj.com/forums/223743/General_Discussion/Script_School.html?page=1
 

Thanks LOCODOG for breaking it down so lucidly.
Much appreciated.
I'm a little challenged at this scripting stuff :(
 

Edit seems you figured out a fix, here's what I wrote while you were editing
---
Indeed, deck active is a dynamic deck specifier.
effect "Echo Out", isn't a valid verb, it's effect_active

You could fix your script with the above, but here's what I suggest

deck active set_deck `get_deck` & effect_active 'echo out' on & crossfader 0.5 & wait 8bt & stop & effect_active 'echo out' off


deck active - specifies the loudest deck is the script focus
set_deck `get_deck` - this gets the deck number of script focus and changes the focus from the dynamic deck active to a static deck number.
 

EDIT ... Thx for your solution above ... Yes I was fiddling with my script & updating my post :)
a) Your get_deck ... does it have to be in quotes ?
b) I've modified my workflow as below ... how to get the below sequence functional ?
Thx!


So this is how I've modified the script:

deck active effect_active 'echo out' on & crossfader 0.5 & wait 8bt & stop & deck left effect_active "Echo Out" off & deck right effect_active "Echo Out" off

After pressing Ctrl-E ... I wait 4 bars and then manually start playing the other deck. Org Deck automatically stops after 8 bars.

I'd like to automate this a step further:
deck active effect_active 'echo out' on & crossfader 0.5 ... so far, so good

Now ... wait 4 Bars | Start Playing other Deck | Wait 4 Bars | Stop Org Deck | Switch ECHO OUT to OFF

TIA
 

Another problem I'm facing:

The ECHO OUT= OFF setting at the end of my script doesn't get activated.
However, If I map the ECHO OUT to another key, then it works.
But that involves pressing 2 keys ... 1 after another.

I'm at a loss here ...
DJ'ing for a Multi-Genre Wedding in a couple of days and Music has crazy BPM variations ... so wanted to use the ECHO OUT as my escape hatch.
 

Using an old build and doing a wedding suggests you're working on a free licence.
Bear in mind, I don't remember when verbs are added, but looks like set_deck was a 2024 addition. I only keep what works with current builds in my head.

So I'm going to leave you to pick over the script school thread.
Brackets in script you'll find useful, as for working round set_deck, you'll have to use param_equals queries against get_deck and write out for each side.
There's also an unlinked topic 05 May 24 deck specifiers, some of it is 24 release but a lot of the first bit applies to way earlier builds, how deck specifiers work and are passed along a script.

good luck.