Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Forums Adobe After Effects Expressions Script request, reveal in timeline

  • Script request, reveal in timeline

  • Ben Pohl

    February 22, 2014 at 7:37 pm

    Hello,

    I originally posted this on AE Enhancers, but I probably should’ve posted here first. 🙂

    I do a lot of creating/animating with shape layers. And I’m frequently trying to access the Path of shape layers. The constant twirling/untwirling of the shape layer properties is a big time killer. The only way I know how to quickly reveal the paths of a shape layer is to search in the comp window for “path”.

    I did a screen capture of exactly what I’m trying to do:
    https://youtu.be/x0kadW2m66k

    Can a script reveal all the paths of a selected shape layer? I’d like to add it to ftToolbar, it would really speed things up.

    I’d be willing to pay a scripter for this, if it helps.

    Thanks!

    Ben Pohl
    bad-pixel.com

    Some contents or functionalities here are not available due to your cookie preferences!

    This happens because the functionality/content marked as “Google Youtube” uses cookies that you choosed to keep disabled. In order to view this content or use this functionality, please enable cookies: click here to open your cookie preferences.

  • Dan Ebberts

    February 22, 2014 at 9:13 pm

    Scripting has really limited control of the UI, so, unfortunately, I don’t think it’s possible to operate specific twirlies from a script.

    Dan

  • Sebastian Moreno

    May 13, 2021 at 12:27 pm

    I was looking for the same script but didn’t find something similar so I wrote a quick and dirty solution. Works only with custom paths and creates a keyframe at current time (can be removed with further code)

    function Path() {
    var selectedLayers = app.project.activeItem.selectedLayers;
    for (var x = selectedLayers.length - 1; x >= 0; x--) {
    var currentLayer = selectedLayers[x];
    var Path = currentLayer.property("ADBE Root Vectors Group").property("ADBE Vector Group").property("ADBE Vectors Group").property("ADBE Vector Shape - Group").property("ADBE Vector Shape")
    Path.selected = true;
    app.executeCommand(2701);
    app.executeCommand(2387);
    }
    }
    Path();
  • Filip Vandueren

    May 15, 2021 at 1:28 pm
  • Filip Vandueren

    May 18, 2021 at 10:10 am

    Here it is rewritten for specifically revealing only all paths of the selected layers. There may be a more efficient way to first find all Paths in the selected layers, my extendscripting is a bit rusty.

    app.beginUndoGroup("reveal Paths");

    selLayers = app.project.activeItem.selectedLayers;

    props=[];

    function findPaths(prop) {

    if (prop.matchName == "ADBE Vector Shape") {

    props.push(prop);

    }

    if (prop.numProperties) {

    for (var i=1; i<=prop.numProperties; i++) {

    findPaths(prop(i));

    }

    }

    }

    for (l in selLayers) {

    selLayer=selLayers[l];

    if (selLayer.matchName == "ADBE Vector Layer") {

    numGroups = selLayer("ADBE Root Vectors Group").numProperties;

    findPaths(selLayer("ADBE Root Vectors Group"),props);

    }

    }

    // prop we want to reveal:

    originalExpression=[];

    for (p=0; p < props.length; p++) {

    prop = props[p]

    originalExpression[p] = prop.expression;

    prop.expression= "1/0"; // create an expression error

    //reveal expression errors:

    }

    app.executeCommand( app.findMenuCommandId("Reveal Expression Errors") );

    $.sleep(1); // wait 1 ms

    // reset expression to previous value

    for (p=0; p < props.length; p++) {

    props[p].expression = originalExpression[p];

    }

    app.endUndoGroup();

Viewing 1 - 5 of 5 posts

Log in to reply.

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