As a reference, the automated tradeshow sample project shows a real example of using different step time in a sequencer. Here's the post:
https://groups.google.com/g/lightjams/c/A-xK9dek-3Q/m/xcxfl3Q3BgAJ
In the grid named 'sequencer', you'll find the sources following the sequence. There's a configurable time for each step and there's also a transition step with a fixed time between each step. During the transitions, various animations are played while the visitors are moving to the next kiosk.
The formula that is used to make the source move forward is:
xtopercent(
counter( 0,
grid.lastx,
delta(timer(if(x%2==0,slider(19)*slider(20),slider(x/2+1)*slider(20)), grid.onactivated))<0,
0,
grid.onactivated
)
)
The interesting part is the formula to increment the counter (to move to the next step) which is:
delta(timer(if(x%2==0,slider(19)*slider(20),slider(x/2+1)*slider(20)), grid.onactivated))<0
Having different times for the odd and even steps adds a bit of complexity. But the general idea without this odd and even difference would be:
delta(timer(slider(x+1), grid.onactivated))<0
Basically, the timer function is used to compute the elapsed time for the current step. The desired step time is determined in the sliders. The 1st step time in seconds is in the slider 1. The 2nd step time is in the 2nd slider, etc. When the timer reached the desired time, it resets. When this happens, the delta function, which computes the difference between the last and new value, return a negative value since the timer function which was counting up suddenly reset to 0. At this point, the condition with the <0 becomes true, which finally increment the counter and makes the source moves to the next step.
Using the grid.onactivated variable as the reset parameter of the timer function makes sure the timer resets if we reset the sequence grid.
In the original formula, the step time is multiplied by the slider(20). This is a handy way to speed up or down the sequencer when running tests by only having to adjust the slider number 20.