Forum Replies Created

Page 1 of 1081
  • Dan Ebberts

    September 17, 2026 at 10:05 pm in reply to: MOGRT – Constrain to two specific fonts, can it be done?

    Here’s a simple example. Try adding a checkbox to your text layer and add this expression to the Source Text property (edit the font names to ones that make sense on your system):

    cb = effect("Checkbox Control")("Checkbox").value;
    cb ? style.setFont("ArialMT") : style.setFont("LucidaConsole");
  • Dan Ebberts

    September 15, 2026 at 4:53 pm in reply to: Text Position for Essential Graphics

    Try this simple setup. Make your text layers the first 5 layers in your comp’s layer stack. Add a null named “control” below the text layers. Add a slider named “gap” to the control layer and set it to the horizontal distance you want between text layers. Add this expression to each text layer’s Position property:

    if (index > 1){
    gap = thisComp.layer("control").effect("gap")("Slider");
    L = thisComp.layer(index-1);
    r = L.sourceRectAtTime(0);
    p = L.toComp([r.left + r.width, r.top]);
    x = p[0] + gap;
    [x,value[1]]
    }else
    value
  • 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.

Page 1 of 1081

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