Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Getting two action_start to run simultaneously? Is this possible?
kzbkzbHome userMember since 2021
Hi again, I have another action_start problem in a command I'm trying out, wondering if anyone can see what I'm doing wrong.

I want an action to basically combine these together:

[Redacted]

So the second part would trigger after 1500ms of the action starting, *not* 1500ms after the first repeat (which takes 3000ms) has finished.

I've tried doing so like this:

[Redacted]

But this just triggers the playdeck2 part after 4500ms or so, because the first repeat_start runs and finishes first. How do I get it so that it sort of runs them together? Is it even possible?
 

Posted Sun 19 Sep 21 @ 3:49 pm
locoDogPRO InfinityModeratorMember since 2013
every time you're reducing the level you're also setting up a rsi.
you need some sort of check, check if the rsi is already running would be one way

deck 1 repeat_start 'rsiFadeD' 120ms -1 & level 0 ? repeat_stop 'rsiFadeD' & unload & volume 100% : level -0.04 & repeat_start 'playdeck2' ? : repeat_start 'playdeck2' 1500ms 1 & deck 2 play

another way would be a counter

deck 1 set 'counter' 0 & repeat_start 'rsiFadeD' 120ms -1 & level 0 ? repeat_stop 'rsiFadeD' & unload & volume 100% : level -0.04 & set 'counter' +1 & var 'counter' 13 ? deck 2 play :

or

deck 1 set 'counter' 0 & repeat_start_instant 'playdeck2' 1500ms 2 & cycle 'counter' 2 & var 'counter' 0 ? deck 2 play : repeat_start 'rsiFadeD' 120ms -1 & level 0 ? repeat_stop 'rsiFadeD' & unload & volume 100% : level -0.04
 

Posted Sun 19 Sep 21 @ 3:59 pm
kzbkzbHome userMember since 2021
Great, the first one seems to be working so far, not sure if any method has an advantage over the others? Otherwise I'll work with that one for now. Thanks!
 

Posted Sun 19 Sep 21 @ 4:36 pm
NicotuxHome userMember since 2014
locodog,
it look like second loop will repeat once done in first example because it is not running anymore
addind a flag may help

second and third example will not take time, depending on initial level

and second repeat will multiply in third example
testing against var counter 2 or loop running before second loop may help

deck 1 set 'counter' 0 & repeat_start_instant 'playdeck2' 1500ms 2 & cycle 'counter' 2 & var 'counter' 0 ? deck 2 play : repeat_start 'rsiFadeD' ? : deck 1 repeat_start 'rsiFadeD' 120ms -1 & level 0 ? repeat_stop 'rsiFadeD' & unload & volume 100% : level -4%
 

Posted Sun 19 Sep 21 @ 4:38 pm