Back To Listings RSS Print

After Effects ExtendScript Training: Ep. 19

ExtendScript Script Writing Training

By David Torno | August 11, 2013

Welcome to episode 19, the final episode of the After Effects ExtendScript Training series. We end this series this week by building some helpful custom functions that will reveal layer types, retrieve all fonts used in your project, retrieve text layer justification settings, and retrieve layer blending mode settings.

With this final episode, I would like to thank my family, friends, and everyone who showed their support and patience. This series started out as just a mind map file on my iPad back in 2012 and bloomed very quickly into something so much more than I was expecting. I am so happy that many of you are finding this series helpful and I appreciate all the feedback you have given. Please continue to spread the word about this valuable, free, learning tool. Now it's back into the think tank for me to develop the next series idea.

With that, let us travel our last hour and eighteen minutes of the roughly sixteen hour journey that we've taken since April. Thank you all again.

If you missed any of the previous episodes in this series, follow the links below.

Previous episodes in the series:

Episode 1 (Intro)

Episode 2 (Javascript Basics p1)

Episode 3 (Javascript Basics p2)

Episode 4 (After Effects Object Model structure overview / Script Preparation and development tips / Single Item Access of various project items, comps and layers)

Episode 5 (Access Renderqueue items, output modules and file paths / Multiple item access of project items, comps and layers / Batch change all renderqueue items file paths)

Episode 6 (Collecting data into an Array() / Changing values / Various tips)

Episode 7 (Create new comps and folders / Create Null, Solid, and Text layers)

Episode 8 (Create multiple comps of various sizes / Use Undo group / Add solids to match each comp / Various tips)

Episode 9 (Globally change blue solids to red / Replace solid name blue with red)

Episode 10 (Build a custom function to collect all CompItem objects / Modify function to dynamically allow for choice of CompItem, FolderItem or FootageItem)

Episode 11 (Build floating GUI)

Episode 12 Part 1 & 2 (Build dockable/floating combo GUI)

Episode 13 (ExtendScript Developer Utility script / Retrieve list of project item footage file paths)

Episode 14 (Processing text strings)

Episode 15 Part 1 & 2 (Reading, writing, and transferring Keyframes)

Episode 16 Part 1 & 2 (Creating text layers from external text files.)

Episode 17 Part 1 & 2 & 3 (Layer Property Recursion)

Episode 18 Part 1 & 2 & 3 (Retrieve all effects used into a listbox GUI with option to save to text file.)

In this episode:
- Build function to reveal that a layer is a type of Null, Camera, Light, Adjustment, Video Audio, etc...
- Build function to retrieve all fonts used in project with option to remove duplicate names.
- Build function to easily retrieve a text layer's justification setting.
- Build function to easily retrieve a layer's blending mode setting.

Page 1 of 2 pages 1 2 Next »

Editor's Choice
PVC Exclusive
From our Sponsors

Share This

Back To Listings RSS Print

Get articles like this in your inbox: Sign Up


Mographfactory: | August, 16, 2013

Your tutorials are awesome.Helped me a lot.
I need to know, is it possible to use custom images for ui control in extend script. Like, custom image for drop down list or radio button etc.

David Torno: | August, 16, 2013

Episode 12 will show the available image options and how to create them. You can have an image as is, or as an image button, or as as part of a ListItem in a ListBox element only.

Marr: | April, 29, 2014

As an addendum to the UI training series, it would be nice to see a tutorial on persistance of data between sessions, including storing/reading variables from your after effects scenes that are loaded at the time of the script running.

David Torno: | April, 29, 2014

Marr, Thank you for the suggestion. While I am unable to make an addendum at this time, I will keep that in mind if I am ever able to do so in the future.

KiiwiArts: | July, 15, 2014

Hi David,
first of all I want to tell you you’re the only one with this kind of useful tutorials.
I’m a Call of Duty montage editor and i want to make a script so it creates various folders (some of them inside some others, etc). How could I create all the folders and then put some of them (specific, not random) inside another ones? And, by the way, is there a way to create adjustment layers?
Greets and keep up the good work!

David Torno: | July, 16, 2014

This would be the most basic way to do so, but if you have lots of folders it will take a little more coding.
var proj = app.project.items;

var a = proj.addFolder(“My parent folder”);

var b = proj.addFolder(“My child folder”);

b.parentFolder = a;
Will Summers had a script at one point that did this very thing.
To create adjustment layers, you first create a solid them turn on it’s adjustment layer property. YOUR_LAYER_OBJECT.adjustmentLayer = true;

Please login or register to comment