I was afraid of that. 🙂
Something like this might work:
decayStart = 4;
decaySpeed = 4;
segMin = .3; //minimum segment duration
segMax = .7; //maximum segment duration
minVal = 0;
maxVal = thisComp.width;
end = 0;
j = 0;
if (time > decayStart){
delta = time - decayStart;
factor = 1 + delta*delta*decaySpeed;
}else{
factor = 1;
}
while ( time >= end){
j += 1;
seedRandom(j,true);
start = end;
end += random(segMin,segMax)*factor;
}
endVal = random(minVal,maxVal);
seedRandom(j-1,true);
dummy=random(); //this is a throw-away value
startVal = random(minVal,maxVal);
y = position[1];
ease(time,start,end,[startVal,y],[endVal,y])
Dan