There are a bunch of expressions that do different things to different properties, but they’re all driven by how long it has been since the most recent, previous marker. You get that with this code:
n = 0;
if (marker.numKeys > 0){
n = marker.nearestKey(time).index;
if (marker.key(n).time > time){
n--;
}
}
When this code is finished, n has the index of the most recent previous marker (or 0 if no marker has been reached yet). Then you can do something like:
t = time – marker.key(n);
to calculate how long it has been since that marker and then use variable t in some calculation to generate the current value of the property hosting the expression.
Dan