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?
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
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
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
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
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%
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