pt_ExpressEdit 2
  • Testing the trial version of ExpressEdit 2, only filtering on expressions appear to work. ie Filtering on Property, Comp name, Layer name, doesn't appear to work.
    Please confirm if this is a bug or possibly user error?

    Also, is it possible to use filtering to use logical operators, specifically exclude (or NOT)?
  • Hey, I have the full version of ExpressEdit 2 and the filter option on the search does indeed seems buggy, I've got the same problem than Julian.

    Other than that the script is a lifesaver.

    Thanks.
  • Sorry for my slow response. Yes you're right, it appears that the search functionality did get a bit broken in the process of me adding the search/replace feature in v2.0. Oops!

    I'm just finishing up work on a v2.1 update which fixes that problem, and I've also taken Julian's suggestion and implemented support for logical operators AND, OR & NOT in the main search filter, so you'll be able to do searches like "Comp 1 NOT Position" and "position OR rotation NOT wiggle".

    Thanks for the feedback. Expect the update in the next day or two.

    Paul




  • I've released the v2.1 update that fixes the search filter bug and adds the new logical operator functionality.
  • Hi great script, not sure how to get it to do what i would like though :)

    I have 6 puppets all linked to the same control layer in another composition  (   comp("*Render").layer("**Character 1**")   ), am I able to select  **Character 1** and change it to **Character 2** with your script without having to do it one by one?

    Thanks
    Naim
  • If all the expressions are the same you could do a search (i.e. for Character 1) select all the expressions in the results list, edit the expression in the box above and click Apply to List Selection. Another way to do it would be using the Search/Replace function (accessible from the "Choose action or preset" pulldown) to search for "Character 1" and replace with "Character 2".

    Paul
  • Thanks for a life-saver script!
  • Hi Declan,

    Do you mean that you're essentially including line returns in the search filter box? i.e. your search contains a multiline expression? I haven't tested for this so it wouldn't surprise me if it didn't work, but I could look into it.

    Or do you mean that doing a basic word/phrase search isn't finding the result when it's contained in a multiline expression?

    Are you doing this in the main search filter or the search/replace function?

    For now, if there's a single line that is unique to a particular expression, or you can do a logical operator search in the main search field (i.e. xxx AND yyy AND zzz NOT aaa) that might be enough to narrow down your results to just that expression so you can easily change them all in one go without having to select the right ones from the search results list.

    Paul


  • I purchased.  Absolutely none of the pulldowns seem to be working for me.  Click and get nothing.  Help?
  • Which version of After Effects are you using it in? Is it the 'Choose action or preset' menu you mean? Over the next few days I'll be going through my scripts and checking them for CC 2014 compatibility and will release updates if necessary.
  • Which version of After Effects are you using it in? Is it the 'Choose action or preset' menu you mean? Over the next few days I'll be going through my scripts and checking them for CC 2014 compatibility and will release updates if necessary.
    Using CS6...looks like the problem corrected itself after a few times restarting the program.  
  • I seem to have the same problem as Glass. The “Choose action or preset” dropdown shows me the available options but falls back to “Choose action or preset” as soon as I click something and nothing happens. 

    I’m on CC 2014.1.1 on OS X 10.9.5.
  • Hi Sébastie, is this problem happening for everything in that dropdown? As in, you can't even use the 'Select All' option to select all the expression list items? I can't replicate it myself in CC 2014 1.1 in ExpressEdit v2.1. I'm using an earlier version of OS X but I'd be surprised if that was a factor.


    The next update will work around an AE CC+ bug where clicking a dropdown menu item that's in front of the listbox causes the selection to change if more than one list item was selected. That would be an issue if you selected a saved expression from the dropdown and had Auto Fetch enabled, as it would immediately select the expression list item under the menu causing it to be fetched into the editor box. That's the only action/preset dropdown issue I'm aware of.


    If you want to open a support ticket we can look into this issue.

  • Hi. This is a great script but I wanted to know if this would work for my situation. I've created an animated alphabet which uses multiple expressions for each letter in its own composition that link back to a controller layer on another composition. What I'd like to do is duplicate all the letter comps including the controller comp and and create a new set of alphabet that links back to the new duplicated controller. Will this script help me easily edit all of the expressions in the new alphabet set to link to the duplicated controller? Hope this makes sense. Thanks.
  • Hi Fabian, I would think you can use the Search/Replace feature to change all the links. But you might be better doing something like, saving a copy of your project, changing the controller comp/layer name (which may well update all the expressions anyway, otherwise do the Search/Replace), then re-import the original project and using that for the duplicate comps which will still be linked to that import that has the original names.
  • Hi Paul. Thanks for the quick response. I hadn't actually thought of the idea of saving, renaming, and reimporting the original. That could work although I will be having to create multiple copies of of this alphabet as I am making a template project. With that in mind I feel the search/replace function in your script may still be useful in my project. Thanks and best wishes!
  • I can't find the search and replace in the Action drop down in either version 2.1 or 2.2. I am using AE cc 2015 ver 13.6.1.6
    I have big project I need search and replace hundreds of expressions.

    thnx
  • Hi Michael, I've responded through the support ticket you also submitted about this, but the search and replace feature is showing up fine for me on AE CC 2015.
    Paul
  • Hi there,
    Hope you are well.
    I hope believe this script will save my life...
    I've just bought it and I'm still getting my head around it.

    Basically I had one animation in a big comp, with loads of expressions. And now I need to create another one which will be a variation of the first.
    So in a sense I want to copy my big comp and be able to control my expressions with the new duplicate comp and not through the original.

    So basically all I need to do is Find: "*Main-Comp-01" and replace with "Main-Comp-02" in all the expressions, a bit more complex than this but this is the general idea.

    I need to be able to find this text comp(“*Main”) on the expression comp(“*Main”).layer(“whatever”).

    Once I do it... it re-writes exactly the expression I'm looking for but it still gives me an error. If I click on the exclamation error mark it still gives an error. But if I write manually exactly the same expression that the script wrote it will work (which doesn't solve the problem as I have 6000 expressions).

    It says that a ) (close bracket) is missing, but it's not.

    Any thoughts on what the problem might be?

  • I've just realised that you can't use brackets. If I just look to the comp name without brackets it works like a charm.
    In my example I can just look for *Main opposed to comp("Main").

    Thanks

    Hi there,
    Hope you are well.
    I hope believe this script will save my life...
    I've just bought it and I'm still getting my head around it.

    Basically I had one animation in a big comp, with loads of expressions. And now I need to create another one which will be a variation of the first.
    So in a sense I want to copy my big comp and be able to control my expressions with the new duplicate comp and not through the original.

    So basically all I need to do is Find: "*Main-Comp-01" and replace with "Main-Comp-02" in all the expressions, a bit more complex than this but this is the general idea.

    I need to be able to find this text comp(“*Main”) on the expression comp(“*Main”).layer(“whatever”).

    Once I do it... it re-writes exactly the expression I'm looking for but it still gives me an error. If I click on the exclamation error mark it still gives an error. But if I write manually exactly the same expression that the script wrote it will work (which doesn't solve the problem as I have 6000 expressions).

    It says that a ) (close bracket) is missing, but it's not.

    Any thoughts on what the problem might be?


  • hello,
    is there a way to searche and select multiple layer acros a projects (ex: comp_pink*) that have no expression yet,  to apply theme a saved expretion a once? thank you.
  • Hi Alex, You can't search for layers that don't have expressions but if you open a comp and select the relevant layer properties, you can then click the (add to) Timeline button to apply a previously saved expression to those properties.

    There are some quick ways to reveal the layer properties in the Timeline panel. If it's a regular transform property you can select the layers in the timeline and press the shortcut key to reveal them, like P for Position. If they already have keyframes you can press U to reveal them, or UU to reveal all properties that have changed from their default values. For harder to reveal properties like effects you could click the property stopwatch in the Effect Controls panel to add a keyframe to one of them, copy, select the other layers then paste, then you can reveal them all with the U shortcut.
  • Hi Alex, You can't search for layers that don't have expressions but if you open a comp and select the relevant layer properties, you can then click the (add to) Timeline button to apply a previously saved expression to those properties.

    There are some quick ways to reveal the layer properties in the Timeline panel. If it's a regular transform property you can select the layers in the timeline and press the shortcut key to reveal them, like P for Position. If they already have keyframes you can press U to reveal them, or UU to reveal all properties that have changed from their default values. For harder to reveal properties like effects you could click the property stopwatch in the Effect Controls panel to add a keyframe to one of them, copy, select the other layers then paste, then you can reveal them all with the U shortcut.
    thanks Paul but I wanted to apply an expretion on a bunch of layers that are distributed on a variety of comp and precomps... i'll try to call the boudist monk inside me and spend my day on it... ;) unles you've got an idea ... what prevent you'r scrip to diplay layers without exp on it?
  • Hi Alex, More accurately, ExpressEdit shows properties (not layers) with expressions on them. Listing every single property on every layer would produce a ridiculously long list. The search may have to become more sophisticated to deal with multiple parameters like property, layer and comp names for this to become practical. 

    In most use cases, I expect it wouldn't take that long to go through a project applying initial expressions, simply by alt-clicking on the property stopwatch for example, after which they would be discoverable by ExpressEdit.

    What is it about your project that makes this so difficult? Simply the size of the project?

    I could consider allowing the listing of properties without expressions for a future update, but there would have to be significant demand for it and you're the first person that has brought this up.
  • Ha ok Paul I get it better! the dificulty is the numbers of comps that includs numbers of precomps that inluds precomp that includs the comps I want to apply exp... :(
  • Hi there,

    I've been using your script for years and really love it. It's saved me so much time. However, since updating to CC2015.3 I've been noticing some strange behavior with the "Search and Replace" functionality. I have an expression on a number of layers which links a colour property to a swatches comp, and the swatch that it looks for is based on a 'team' variable. Basically, changing the team variable to "Lakers" makes it grab the "Lakers" swatches, whereas changing it to "Cavaliers" makes it grab the "Cavaliers" swatches. For purposes of versioning, I use your script to batch-change the variable from one team to another.

    The variable line looks like this:
    var team = "Lakers";

    So, using pt_ExpressEdit I search for var team = "Lakers"; and replace with var team = "Cavaliers"; and the script does batch-change the expressions. However, it causes all of the expressions to break for a syntax error. Upon closer inspection, I realized that the newly updated expressions had different quotation marks, they looked very similar but were at a slight angle. These quotes seem to cause the expression to not evaluate properly.

    I thought this was something that I was typing by accident, but even when I copy-paste the var team = "Lakers"; from the 'search' field and paste it into the replace field, do not re-type the quotes but only change the team name, the expression breaks. My assumption is that there might be a bug in the way that the script is retrieving the expressions, somehow changing the double quote characters, or a bug in the way that it is batch changing the expressions.

    The current work around is to find a broken expression, copy the incorrect double quotes, and then re-run a search and replace to replace the incorrect quotes with the correct quotes. It's not a terrible workflow, but it would be helpful if the expressions did not break in the first place.

    Any ideas on how to remedy this? Any help is appreciated!
  • Hi David, Thanks for letting me know. I'll look into it. If you open a support ticket it might be helpful if I need to contact you for additional information, and I'll probably be able to get you an advance copy for testing once I've figured out what the problem is.

  • Hi David, I've been trying to replicate this and haven't been able to so far. It's working as expected. Please do open a support ticket so I can get some additional information off you. It would be good to know what OS you're running on. Also, if you're using any external text editor to copy/paste from at all.
  • I'm having a similar issue in that I go to edit an expression using this and even if I'm simply changing a "1" into a "3", it breaks the expression. Nothing short of clearing the expression and retyping or copy/paste from original expression will fix.
  • Hi Osman, this is also with Search & Replace? Are you on Mac or Windows?
  • OSX 10.11.6
    After Effects CC 2015.2 Ver. 13.7.2.3

    It actually happens any time I edit an expression and apply to List Selection. Haven't been about to test much more than that.
  • Interesting. If anyone else is having issues let me know. If you can open a support ticket including your system info and test project / steps to reproduce then that would be very helpful. Once I can reproduce the issue I'll most likely be able to fix it.
  • Hello Paul,
    First off, what an amazing script, it has been a life saver! In regards to the search and replace feature, I was wandering if one can specify a range of words, or numbers to batch replace. For example in my expressions I need to replace the comp names they are referring to with .layer("effects Controller") but each comp name is different, they all began with Slide and end with a number. Slide 01, Slide 02, Slide03........all the way in sequence to slide 17. Is there a way I can search Slide 1-17 and replace them all, sort of using regex in some way?

    thanks so much for your time.
  • Hi Steven, Not that I can think of I'm afraid. Pretty sure it's just a regular string based search. It's an interesting idea but I imagine it would be tricky to implement in an easy to use way. Perhaps rather than requiring something as complex as regex syntax, it would be better to do it with some kind of wildcard character.
  • Hey Paul,

    Thanks for your previous comment, when I loaded it up today there is no SEARCH AND REPLACE option under "choose action or preset" any ideas? I'm using most current version.

    thanks
  • Hi Steven, Someone else did mention this in the comments a while back but I haven't been able to replicate myself so far. It has shown up for you correctly with that version of ExpressEdit and After Effects before? Does quitting and relaunching AE help? Which version of AE are you using, and if you have multiple versions installed does it do the same in all of them? I'll look into it again to see if I can find any cause.
  • Hi Paul,

    thanks for responding, yeah the Search and Replace function was visible and worked the first few times I used it. Then I went to use on the 15th and it was no longer under the menu, and the other menus are cut off around the bottom, so maybe that is the problem? I've only used Adobe CC2015.3 sense i got the script, so that hasn't changed, It is also the only version I have installed currently. Quitting and relaunching AE doesn't help, I've also tried deleteing and re downloading the script, and have tried it inside the AE script folder, and inside the scriptui panels folder both with no luck. I'm going to install the previous version of AE, AE CC2015 and I'll open the script inside of there and see if there are any changes. also my OS is Windows 10.
  • Hi Paul,

    same problem is occurring in the previous version of AE as well, the only thing I changed since I last used the script was I did get two new monitors,
    I can't imagine the display would have anything to do with it?
  • Hi Steven, The monitors seem unlikely but anything is possible with AE's scripting! Could it be that it worked before you had any expression presets saved? If so then maybe deleting any you've stored might bring it back and would offer me some clues. If you can open a support ticket and post me a screenshot (might be difficult to grab) then it would be good to see exactly what you're seeing, and it's a better way for us to have an ongoing conversation anyway. Useful to know this is Windows 10 as that's not my primary test platform.
  • For anyone having the broken expression issue on Mac, it seems like it may be caused by having System Prefs > Keyboard > Text > "Use smart quotes and dashes" enabled. Please let me know if disabling that solves your problem. This most likely won't help to fix expressions already broken because of this but may well prevent the problem going forward. Hopefully I can address this in the next update so it won't be an issue regardless of that system pref setting.

  • Hi Paul.

    I just want to say what a great and useful script you've made here. It has saved me bags of time today and no doubt will do in the future also, so thank you very much.

    Andy
  • Can this be used to search and delete all expressions in a project?
  • Hi Michael, yes you could use it to search and delete all expressions.
  • Is there an option for search to include nested?
  • There's an update coming that will include that option. For now, if all your nested comps are separated into a folder structure (i.e. say you imported a new copy of a project and want to alter just that instance) you can select that folder structure in the project window and search using 'project selection'.
  • Been using this a while and I love it. Thanks!

    I think the UX could be tweaked to be a little more intuitive but that's for another day.

    I just noticed today that it doesn't see expressions created using property links.  So as a workaround, when duplicating my comp, I had to then copy the effects and paste the new property links again.

    Is this an AE limitation with how it handles property links or a bug in expressEdit?
  • Hi James, can you open a support ticket so we can discuss the issue you're having with property links.
  • I tried the Demo for CC21 18.4.1 - everything worked great - but the EDITING.  I was able to change stuff but it wouldn't apply. Still great that I could reveal all layers in question to replace the mouldy string.
  • Hi Matthias, the next update will added support for editing expressions on hidden layer style properties, there are also locked layers where expressions can only be edited if you enable the pref for this in the help window, but it should be obvious if this is the case.

    If you're seeing anything else then please open a support ticket so I can get more information off you and investigate.