Automation Toolkit
  • Just want to say thank you Alon for this wonderful program. I see how everyday i use your script cutting so much time from my work. Just want to say thank you again for all you did for After effects.
    Thank you very much Zachary, I am glad to hear that automation toolkit helped you and if you need help to create more automations be sure to check out  the Automation Toolkit Forum.
    the next feature in development is to be able to work with files and folders outside of after effects.
  • Wow dude your the man.... You too automation to the highest level of a.e

  • Alon is it possible you could make a random layer trim. Would like to see if i could make a code that randomly take 10 or more layers on the timeline and then trim 3 or more seconds off each layer it pick?
  • Alon is it possible you could make a random layer trim. Would like to see if i could make a code that randomly take 10 or more layers on the timeline and then trim 3 or more seconds off each layer it pick?
    Hi Zachary, yes it is possible, this automation trims the in point of 10 or more random layers by a random number between 3 sec and the layer duration minus 1 sec.
    Thanks,
    Alon
    zip
    zip
    random trim.zip
    2K
  • Dude dude dude your name weights a lot in Gold. I Definite appreciate and enjoy all your scripts they are very very deep......

    I Would nominate you the developer of the year........ Really would especially on aescripts.com..
    Alon is it possible you could make a random layer trim. Would like to see if i could make a code that randomly take 10 or more layers on the timeline and then trim 3 or more seconds off each layer it pick?
    Hi Zachary, yes it is possible, this automation trims the in point of 10 or more random layers by a random number between 3 sec and the layer duration minus 1 sec.
    Thanks,
    Alon

  • Alon i have a script you made for me called Random Keyframe that randomly put keyframes from 0 to 100. Would love to see if you could make this script with on and off.
  • Alon i have a script you made for me called Random Keyframe that randomly put keyframes from 0 to 100. Would love to see if you could make this script with on and off.
    Hi Zachary, 
    I did it, I had to change the random numbers from 0-100 to 0-1 so it will work only with on/off properties.
    Thanks,
    Alon


    zip
    zip
    Random Keyframes on-off.zip
    2K
  • Thanks alon once again you came through.

  • Once again you made the best product even better. Thanks for the updates Alon....
  • Hi, I´m trying to create a menu tool with icons to:
    • add new camera
    • add new Null
    • add New shape layer

    for exmaple, when pressing the button appear the new camera but after 15 seconds. I think it is a long time for a simple action. I don't know if I´m doing something wrong. I have the last update of Ae.
  • Hi, I´m trying to create a menu tool with icons to:
    • add new camera
    • add new Null
    • add New shape layer

    for exmaple, when pressing the button appear the new camera but after 15 seconds. I think it is a long time for a simple action. I don't know if I´m doing something wrong. I have the last update of Ae.
    Hi Juan, this is a very simple automations and it shouldn't take 15 second to execute, in my computer is takes less than a second. I created these automations from scratch so you can check if they work faster for you, if you still have the same problem please contact me again, you can also post on the Automation Toolkit Forum.

    I attached the examples as automation files so you can load and examine yourself (make sure you unzip the file and using the latest version of Automation Toolkit).
    Thanks,
    Alon

    zip
    zip
    Simple Actions.zip
    2K
  • Hey Allon

    Just want to say how you cut my video making production down by 75 percent not just with the Automation toolkit but as well with the scripts you were able to make. If only there was a way to export files directly to folders or quicker render times.

    I wanted to see if you could tweak a script you made for me called replace layer. I would love to see if i could select multiple layers in the project folder and randomly replace  with selected layers in the timeline but as well random time as well.
  • Hey Allon

    Just want to say how you cut my video making production down by 75 percent not just with the Automation toolkit but as well with the scripts you were able to make. If only there was a way to export files directly to folders or quicker render times.

    I wanted to see if you could tweak a script you made for me called replace layer. I would love to see if i could select multiple layers in the project folder and randomly replace  with selected layers in the timeline but as well random time as well.
    Zachary, it's so nice to hear that Automation Toolkit managed to save you so much time!
    in future update I am planning to add a support for files and folders but it is challenging and will take more time.
    I changed the "replace layer" automation to work with multiple selected project items, the new collection variable made it a very easy task.
    Thanks,
    Alon
    zip
    zip
    Replace Layer v2.zip
    2K
  • Hello! Please tell me how to add a marker with a comment to all compositions. I managed to add just an empty marker. How do I add a comment to these markers? Thank!
  • Hello! Please tell me how to add a marker with a comment to all compositions. I managed to add just an empty marker. How do I add a comment to these markers? Thank!
    Hi, Igor
    you can also ask questions in the Automation Toolkit Forum to help other people with this question.
    if you managed to add a marker to all the compositions, adding a comment is very simple.
    after adding the marker (within the loop on the project items) you have to loop on the markers of the comp using the loop option "markers in Layer/Item", inside the new loop add an "if" line and check if the marker time equal to the marker time that you added, inside the if line add a set line and set the marker comment property to your custom text.
    all the steps:
    1. add a marker in custom time.
    2. loop on all the layer/item markers.
    3. check if the time of the current marker you are looping through equal to the custom time from step 1.
    4. set the comment to your custom text.
    I attached the example as automation file so you can load and examine yourself (make sure you unzip the file and using the latest version of Automation Toolkit).
    Thanks,
    Alon
    zip
    zip
    add maker.zip
    975B
  • Hello! Please tell me how to add a marker with a comment to all compositions. I managed to add just an empty marker. How do I add a comment to these markers? Thank!
    Hi, Igor
    you can also ask questions in the Automation Toolkit Forum to help other people with this question.
    if you managed to add a marker to all the compositions, adding a comment is very simple.
    after adding the marker (within the loop on the project items) you have to loop on the markers of the comp using the loop option "markers in Layer/Item", inside the new loop add an "if" line and check if the marker time equal to the marker time that you added, inside the if line add a set line and set the marker comment property to your custom text.
    all the steps:
    1. add a marker in custom time.
    2. loop on all the layer/item markers.
    3. check if the time of the current marker you are looping through equal to the custom time from step 1.
    4. set the comment to your custom text.
    I attached the example as automation file so you can load and examine yourself (make sure you unzip the file and using the latest version of Automation Toolkit).
    Thanks,
    Alon
    Alon, thank you for explaining the logic and for the example file. But it does not work on all compositions, only on those that are outside the folders and ends the cycle from top to bottom to the first folder. For example, I created a composition and one composition inside a folder, the script only works for the first composition and that's it. Although, logically, in your example, the first level is the value "items in the project", which, judging by the description, should also work inside folders.

    Maybe there's a mistake somewhere? Thanks!
  • Alon, thank you for explaining the logic and for the example file. But it does not work on all compositions, only on those that are outside the folders and ends the cycle from top to bottom to the first folder. For example, I created a composition and one composition inside a folder, the script only works for the first composition and that's it. Although, logically, in your example, the first level is the value "items in the project", which, judging by the description, should also work inside folders.

    Maybe there's a mistake somewhere? Thanks!
    Igor, I checked the issue and found this is happening due to a bug that occurs specifically when using the option "markers in Layer/item" on folders, so the loop fails and stop at the first folder, I will fix the bug in the next update but for now an easy fix will be to add an "if" line to check if the item is a composition with the "item type" property, sorry for the inconvenience and thanks for letting me know of the issue.
    Thanks,
    Alon
    zip
    zip
    add maker.zip
    1K
  • Alon, thank you for explaining the logic and for the example file. But it does not work on all compositions, only on those that are outside the folders and ends the cycle from top to bottom to the first folder. For example, I created a composition and one composition inside a folder, the script only works for the first composition and that's it. Although, logically, in your example, the first level is the value "items in the project", which, judging by the description, should also work inside folders.

    Maybe there's a mistake somewhere? Thanks!
    Igor, I checked the issue and found this is happening due to a bug that occurs specifically when using the option "markers in Layer/item" on folders, so the loop fails and stop at the first folder, I will fix the bug in the next update but for now an easy fix will be to add an "if" line to check if the item is a composition with the "item type" property, sorry for the inconvenience and thanks for letting me know of the issue.
    Thanks,
    Alon
    Thank you Alon! I will continue to understand. The only thing I wanted to ask you more. Let's say I have folders with compositions A, B, C and I need to perform actions with the same markers in folders A and B, without touching the folder C. Is it possible to do this or is there no such possibility?
  • Thank you Alon! I will continue to understand. The only thing I wanted to ask you more. Let's say I have folders with compositions A, B, C and I need to perform actions with the same markers in folders A and B, without touching the folder C. Is it possible to do this or is there no such possibility?
    Glad to help, for more technical questions please check out the forum that is dedicated for these kind of questions. Ignoring a content of a specific folder is possible but a bit more complicated: each item has a property called "parent folder". The "parent folder" contains the item (a folder item) that contains the current item, so if you want to ignore every item inside a folder called "folder c" you need to check the name of each parent folder of every item, for this you need to create an item variable and select the loop item and then the parent folder property. After creating the item variable with the parent folder you will be able to access the name of the folder through the variable. next we need to check if the variable "name" property not equal to "folder c" and inside making the markers.

    I attached the example as automation file.
    Thanks,
    Alon
    zip
    zip
    add maker 2.zip
    1K

  • Thank you Alon! I will continue to understand. The only thing I wanted to ask you more. Let's say I have folders with compositions A, B, C and I need to perform actions with the same markers in folders A and B, without touching the folder C. Is it possible to do this or is there no such possibility?
    Glad to help, for more technical questions please check out the forum that is dedicated for these kind of questions. Ignoring a content of a specific folder is possible but a bit more complicated: each item has a property called "parent folder". The "parent folder" contains the item (a folder item) that contains the current item, so if you want to ignore every item inside a folder called "folder c" you need to check the name of each parent folder of every item, for this you need to create an item variable and select the loop item and then the parent folder property. After creating the item variable with the parent folder you will be able to access the name of the folder through the variable. next we need to check if the variable "name" property not equal to "folder c" and inside making the markers.

    I attached the example as automation file.
    Thanks,
    Alon
    Thank you so much for your help and examples, they really helped to understand the logic of the work. You have a very cool product, the analogues of which I have not yet met, and apparently it has very large opportunities and options for use! I would like to wish you success in its further development and as many grateful customers as possible! :)
  • Thank you so much for your help and examples, they really helped to understand the logic of the work. You have a very cool product, the analogues of which I have not yet met, and apparently it has very large opportunities and options for use! I would like to wish you success in its further development and as many grateful customers as possible! :)
    Thank you Igor, feel free to reach out and ask more questions!
  • Is there a script for changing footage frame rates?
  • Is there a script for changing footage frame rates?
    Hi Simon, the footage framerate is not supported in the current version but I can easily implement it in the next update(will be soon), currently only the composition frame-rate can be changed, sorry for the inconvenience and you can ask any question in the Automation Toolkit Forum.
    Thanks, Alon.
  • Is there any way to split a layer so each of its frames has its own layer?
  • Hi era rivera, yes there are multiple ways to achieve this function,
    the easiest way I found is to find the layer's on screen time (calculating the out point - in point),
    then multiply by the composition's frame rate to get the number of frames.
    you also have to calculate the time of each frame, the time of each frame depends on the composition's framerate so you have to calculate 1sec\your framerate to get the frame time.
    now you need the set the time indicator of the composition to the in point of the layer.
    create a custom loop that will loop the number of frames of the layer.
    inside the loop you have to add the time of a 1 frame to the time indicator in each loop cycle so the time indicator will move forward by 1 frame every cycle and split it using the menu command "Split Layer".
    I know that it is a little bit tricky, but i hope that you will manage to understand how it works.
    for more technical questions or any other support please check out the Automation Toolkit Forum.

    I attached the examples as automation files so you can load and examine yourself (make sure you unzip the file and using the latest version of Automation Toolkit).
    Thanks,
    Alon


    zip
    zip
    split layer to frames.zip
    1K
  • Hello, an interesting script, I want to know if it can save the result in .jsx format? To transfer the script for automation to another computer where your script is not. Thank.
  • leon leo said:
    Hello, an interesting script, I want to know if it can save the result in .jsx format? To transfer the script for automation to another computer where your script is not. Thank.
    Hi Leon, Automation Toolkit does not supports exporting in .jsx format, you can execute automations only from the script itself.
    Alon.
  • Hey Alon want to see if you can make two scripts. The first one is to select the layers when following play bar down the timeline. When the timeline bar plays and passes over the video it highlights and selects each layer.

    Also is it possible to make a script that the timeline bar goes to beginning and end of a clip when selected.
  • Hey Alon want to see if you can make two scripts. The first one is to select the layers when following play bar down the timeline. When the timeline bar plays and passes over the video it highlights and selects each layer.

    Also is it possible to make a script that the timeline bar goes to beginning and end of a clip when selected.
    Hi Zachary, the first script is not possible because a limitation in scripting.
    the second script is possible only if you want to go to the In/Out of the selected clip but you should know that you can do this with the keyboard shortcuts I,O.
    but if you still need this automation you can download it here, just make sure you are using the latest version.
    Alon.
    zip
    zip
    go to in-out.zip
    2K
  • Thanks Alon preciate that. I believe your plugin is always top of the class. I wish you would make one of these for Musical Daws like Presonus Studio One, and Fruity Loops, Ableton Live. Just love what you did with Automation Toolkit for After Effects...

    Hey Alon want to see if you can make two scripts. The first one is to select the layers when following play bar down the timeline. When the timeline bar plays and passes over the video it highlights and selects each layer.

    Also is it possible to make a script that the timeline bar goes to beginning and end of a clip when selected.
    Hi Zachary, the first script is not possible because a limitation in scripting.
    the second script is possible only if you want to go to the In/Out of the selected clip but you should know that you can do this with the keyboard shortcuts I,O.
    but if you still need this automation you can download it here, just make sure you are using the latest version.
    Alon.

  • With all the toolkit scripts you have shorting my time by 90 percent or should i say the press of a button..
  • Why not build an Automations sharing platform?
  • lco lok said:
    Why not build an Automations sharing platform?
    Hi Ico lok, feel free to share your automations and download automations made by others on the Automation Toolkit Forum, on the Automations Showcase area. Creating a whole new dedicated platform for sharing automations is too complicated for me right now.
    Thanks,
    Alon
  • Hi Alon would love to see if you could take a layer then split it in the middle, bring the back of the layer to the front and front layer to the back. Then crossfade the two and loop for seamless looping.


  • Hi Alon would love to see if you could take a layer then split it in the middle, bring the back of the layer to the front and front layer to the back. Then crossfade the two and loop for seamless looping.


    Hi Zachary, 
    I know this looping process and automating this process is a great idea, I created for you this automation, the automation will ask for the duration of the cross fade but you can disable this and type a fixed number.
    Alon.
    zip
    zip
    loop layer.zip
    2K
  • Alon you came through again bro. I have  a lot of respect for you as a developer perhaps the best developer on this site.

    Hi Alon would love to see if you could take a layer then split it in the middle, bring the back of the layer to the front and front layer to the back. Then crossfade the two and loop for seamless looping.


    Hi Zachary, 
    I know this looping process and automating this process is a great idea, I created for you this automation, the automation will ask for the duration of the cross fade but you can disable this and type a fixed number.
    Alon.

  • Oh okay let me now ask you as well. Can you set the work area end to the loop end and then precomp? Then loop the precomp longer?
  • Oh okay let me now ask you as well. Can you set the work area end to the loop end and then precomp? Then loop the precomp longer?
    Yes I can do it, you can loop the comp by duplicating and offset the time or using the time remap expression loopOut(), I did it with the time remap because I think it is the better way but I can do it in the other way too (in the other way I can't know how many duplicates you want).
    Alon
    zip
    zip
    loop layer v2.zip
    5K
  • Thanks i will try it out
  • One of my automations is corrupt, and won't run, and isn't editable. When I click to edit, everything in the window is blank. I can't go back, so I have to close the window, and reload Automation Toolkit, again. How can I delete the corrupt automation?
  • One of my automations is corrupt, and won't run, and isn't editable. When I click to edit, everything in the window is blank. I can't go back, so I have to close the window, and reload Automation Toolkit, again. How can I delete the corrupt automation?
    Hi Craig, I'm sorry you've experienced this problem, there should be an easy fix for this by editing the settings file and manually removing the corrupted automation but it's better that I will edit the file for you safely. 
    This forum does not work well in troubleshooting problems so can you please send me a support ticket on this issue (so your automation configuration file will stay private) or instead create a post in this forum  at the "Technical Support" section for a longer conversion, you can send me the file privately too(very easy process).
    thanks,
    Alon
  • One of my automations is corrupt, and won't run, and isn't editable. When I click to edit, everything in the window is blank. I can't go back, so I have to close the window, and reload Automation Toolkit, again. How can I delete the corrupt automation?
    Hi Craig, I'm sorry you've experienced this problem, there should be an easy fix for this by editing the settings file and manually removing the corrupted automation but it's better that I will edit the file for you safely. 
    This forum does not work well in troubleshooting problems so can you please send me a support ticket on this issue (so your automation configuration file will stay private) or instead create a post in this forum  at the "Technical Support" section for a longer conversion, you can send me the file privately too(very easy process).
    thanks,
    Alon
    HI Alon, your mentioning of doing this in settings sounded like a good idea, so what I did was go into the json document, replaced non-corrupt automation code under the name of the corrupted one, and added "-Delete" to the end of the name, and then was able to open it and then delete it. That way it didn't change the number of automations, and figured it would be less messy.  Do you think you might enable a way to delete an automation either in the settings window or from the list, like a command-click, but with a confirmation box?
  • HI Alon, your mentioning of doing this in settings sounded like a good idea, so what I did was go into the json document, replaced non-corrupt automation code under the name of the corrupted one, and added "-Delete" to the end of the name, and then was able to open it and then delete it. That way it didn't change the number of automations, and figured it would be less messy.  Do you think you might enable a way to delete an automation either in the settings window or from the list, like a command-click, but with a confirmation box?
    Craig, well done for solving this yourself, the problem in removing it manually is that the indexes in the categories changes but you could just delete all the text inside the "scope" property of the corrupt automation.
    This situation should not occur and I wonder why it happened but to create a delete option from the main window would be a good solution, I am working on a new extension where it is already possible to do it.
    Thanks,
    Alon
  • Is there a way to rename a layer to only the first part of it's name? For example, when I drop footage in that is a file sequence, it automatically appends the frame range inside brackets at the end of its name, plus the extension, eg., 102_017_030.[01001-01092].dpx.  I want to rename the layer to the same name but without the added frame range and extension. Is there a way to do that with Automation Toolkit?

    Thank you!
  • Is there a way to rename a layer to only the first part of it's name? For example, when I drop footage in that is a file sequence, it automatically appends the frame range inside brackets at the end of its name, plus the extension, eg., 102_017_030.[01001-01092].dpx.  I want to rename the layer to the same name but without the added frame range and extension. Is there a way to do that with Automation Toolkit?

    Thank you!
    Craig, yes this is possible, you can manipulate text with automation toolkit in multiple ways, with the addition of collection (arrays) you can separate text by specific characters to multiple parts, manipulate some of the parts or removing/adding parts then combine them.
    there are many ways to create this exact automation, I could create a very simple automation that removes everything after the open bracket "[" character then set the layer name but I went with the smarter and more complicated approach:
    1. looping on all the layers and checking if the layer is selected.
    2. checking if the layer name contains open bracket "[".
    3. create 2 variables for the name and a text collection.
    4. set the separator property to the open bracket "[" and using the action "add text elements by separator".
    5. if the collection length property equal or greater then 2, set the collection index to the last element, check if this element contains "]."
    6. removing the last text element and rename the layer for the combined collection text.
    with this approach we can be sure  we are deleting the right part of the name.
    I hope this explanation is helpful, you can download this automation here.
    (you can use this approach to rename the source name footage if you want).
    Thanks, 
    Alon 
    zip
    zip
    Fix Names.zip
    2K
  • Is there a way to rename a layer to only the first part of it's name? For example, when I drop footage in that is a file sequence, it automatically appends the frame range inside brackets at the end of its name, plus the extension, eg., 102_017_030.[01001-01092].dpx.  I want to rename the layer to the same name but without the added frame range and extension. Is there a way to do that with Automation Toolkit?

    Thank you!
    Craig, yes this is possible, you can manipulate text with automation toolkit in multiple ways, with the addition of collection (arrays) you can separate text by specific characters to multiple parts, manipulate some of the parts or removing/adding parts then combine them.
    there are many ways to create this exact automation, I could create a very simple automation that removes everything after the open bracket "[" character then set the layer name but I went with the smarter and more complicated approach:
    1. looping on all the layers and checking if the layer is selected.
    2. checking if the layer name contains open bracket "[".
    3. create 2 variables for the name and a text collection.
    4. set the separator property to the open bracket "[" and using the action "add text elements by separator".
    5. if the collection length property equal or greater then 2, set the collection index to the last element, check if this element contains "]."
    6. removing the last text element and rename the layer for the combined collection text.
    with this approach we can be sure  we are deleting the right part of the name.
    I hope this explanation is helpful, you can download this automation here.
    (you can use this approach to rename the source name footage if you want).
    Thanks, 
    Alon 
    Wow!! Thank you so much!
  • HI Alon, your mentioning of doing this in settings sounded like a good idea, so what I did was go into the json document, replaced non-corrupt automation code under the name of the corrupted one, and added "-Delete" to the end of the name, and then was able to open it and then delete it. That way it didn't change the number of automations, and figured it would be less messy.  Do you think you might enable a way to delete an automation either in the settings window or from the list, like a command-click, but with a confirmation box?
    Craig, well done for solving this yourself, the problem in removing it manually is that the indexes in the categories changes but you could just delete all the text inside the "scope" property of the corrupt automation.
    This situation should not occur and I wonder why it happened but to create a delete option from the main window would be a good solution, I am working on a new extension where it is already possible to do it.
    Thanks,
    Alon
    Glad to hear it! Thank you, again!
  • Hi Alon , I would like to create a comp for Stories with custom name and it automatically opens with size 1920x1080 if possible with a shape inside! is there how to do this? if yes will you help me : ) ? huggg
  • Hi Alon , I would like to create a comp for Stories with custom name and it automatically opens with size 1920x1080 if possible with a shape inside! is there how to do this? if yes will you help me : ) ? huggg
    Hi Bernardo, 
    it is possible except the part that creates the shape layer, currently Automation Toolkit can only add empty shape layer without any content inside.

    I created for you this automation with the project action "run javascript code", 
    with this action I can write code that use scripting functions that Automation Toolkit still don't support, this code only add a rectangle to the shape with the size of 1920*1080 and add a fill too.
    if you want to use this action you have to allow this option in the General settings tab under "Allow automation to run javascript code" (please read the alert before enabling this option).

    beside the javascript code action the automation is very simple, 
    I used the project action "add composition", and typed a strange name which will certainly not exist already in the project, then I loop through the "items in the project" and search for the item with that strange name, then I set the width, height, frame rate, name of this item, 
    used the item action "add shape" to add an empty shape layer, 
    use the action "run javascript code" and wrote a custom code that adds rectangle shape to the content of the shape layer with the right values, then used the item action "open in viewer" to open the comp.

    I hope this explanation is helpful, you can download this automation here.

    for more help and support please check out the Automation Toolkit Forum.
    Thanks,
    Alon