Forum Replies Created

Page 1 of 1081
  • Dan Ebberts

    July 10, 2026 at 6:12 am in reply to: expressions for styling text like a Captcha?

    Is this for an expression selector? If so, try this:

    p = text.sourceText;
    t = 0;
    if (p.numKeys > 0){
    n = p.nearestKey(time).index;
    if (time < p.nearestKey(time).time && (n > 1)) n--;
    t = p.key(n).time;
    }
    wiggle(effect("wiggles / sec")("Slider"),effect("wiggle amount")("Slider"),1.0,0.5,t)
  • Dan Ebberts

    July 9, 2026 at 4:44 pm in reply to: expressions for styling text like a Captcha?

    Try replacing your posterizeTime() statement with this:

    seed = 1;
    if (numKeys > 0){
    seed = nearestKey(time).index;
    if (time < nearestKey(time).time) seed--;
    }
    seedRandom(seed,true);

    and if you’re using the Expression Selector expression, try replacing the seedRandom() statement with this:

    seed = 1;
    p = text.sourceText;
    if (p.numKeys > 0){
    seed = p.nearestKey(time).index;
    if (time < p.nearestKey(time).time) seed--;
    }
    seedRandom(textIndex*1000 + seed,true);
  • Dan Ebberts

    July 2, 2026 at 2:46 pm in reply to: expressions for styling text like a Captcha?

    You may have figured it out already, but to make the expression selectors sync up to the randomization of your posterizeTime(), you could replace the seedRandom() statement with something like this:

    seedRandom(textIndex*1000 + Math.floor(time/2),true);
  • Dan Ebberts

    July 1, 2026 at 8:22 pm in reply to: expressions for styling text like a Captcha?

    Just add this to the end of the style .set commands:

    .setAllCaps(Math.round(random()), i, 1)
  • Dan Ebberts

    July 1, 2026 at 4:11 pm in reply to: expressions for styling text like a Captcha?

    For random upper/lower case, you could use a Source Text expression like this:

    txt = "";
    seedRandom(index,true);
    for (i = 0; i < value.length; i++){
    txt += random(1) < .5 ? value[i].toUpperCase() : value[i].toLowerCase();
    }
    txt

    For other properties, like rotation, you can add a Rotation Animator (and set the Rotation value to say 25 degrees), add an Expression Selector, and delete the Range Selector. Then add this expression to Expression Selector’s Amount property:

    seedRandom(textIndex,true);
    random(-100,100)
  • Dan Ebberts

    May 1, 2026 at 3:44 pm in reply to: Countdown clock expression error

    My guess, based on the error message, is that you have the expression engine set to Legacy Extendscript. Try:

    File > Project Settings > Expressions > JavaScript

  • Dan Ebberts

    May 1, 2026 at 3:09 pm in reply to: Countdown clock expression error

    Can you post the whole expression (or a link to where you got it)?

  • Dan Ebberts

    March 19, 2026 at 1:08 am in reply to: Expression for mask mode selection

    Yeah, I sniffed around for a while using propterGroup() but I didn’t get anywhere. I don’t think it’s there, but I’d be happy to be proven wrong.

  • Dan Ebberts

    March 17, 2026 at 4:30 pm in reply to: Expression for mask mode selection

    I don’t know of a way to access the mask mode from an expression. If you find out that there is a way, please come back and post it!

  • Dan Ebberts

    March 12, 2026 at 1:28 pm in reply to: Substract numbers from 2 layers with expression

    This example will ramp from the number in layer “Text 1” to the number in layer “Text 2” (both formatted with commas) over the period defined by variable dur, starting at the time defined by variable tStart and format the result with commas:

    dur = 5;
    txt1 = thisComp.layer("Text 1").text.sourceText;
    n1 = parseFloat(txt1.replace(/,/g, ''));
    txt2 = thisComp.layer("Text 2").text.sourceText;
    n2 = parseFloat(txt2.replace(/,/g, ''));
    tStart = inPoint;
    tEnd = tStart + dur;
    n = linear(time,tStart,tEnd,n1,n2);
    parseInt(n,10).toLocaleString()
Page 1 of 1081

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy