After Effects scripts by Michael Cardeiro
Spell Check

Okay, I admit it...I am a horibal uhm horrible speller; but I thankfully grew up in the age of computer aided spellchecking. Unfortunately, Adobe After Effects never included this feature. Every time a new release was announced I would anxiously await the arrival of this much needed feature...but it never came.

I finally decided to take matters into my own hands. I used the scripting funtionality in After Effects to build my own spellchecker. The script goes through the currently selected composition, and any precomp contained within and checks every text layer for proper spelling.

If a word is misspelled, the script will give you the opportunity to enter in the propper spelling or get a suggestion. The spell suggestion comes from my website. I originally had the script come up with suggestions but it was taking nearly 15 seconds per word, so I created a script on my website using perl (which gets the suggestion very quickly). When you click on the suggest button, your computer connects to my website and gives it the misspelled word. The script on my website then gives the spell check script a list of suggestions.


Tagging Templates

This script was written out of pure laziness. We have a few clients who have commercials that need to be tagged. Basically they will start out with a few base spots, then they email a list of upwards of 80 entries that basically says take template 1, add this phone number to the spot, give it this ISCI code in the slate and move on to the next line.

It is very tedious and time consuming (and prone to errors after you've done about 50!). This type of job is perfect for scripting as there is no creativity involved, you are basically copying a template, typing in a phone number, creating a slate with info from the client.

Here is how the script works. There is an after effects project with the templates in it as ae comps. Each template has a "phone number" text layer that is positioned and formatted as it should look, and there is a slate at the begining with text layers for each piece of data that needs to be changed. The client sends the list as a spreadsheet (which will always need to be formatted the same way so I dont have to alter the code each time to work...again, laziness). The list is converted into a tab delimited text file. When the script is run it asks you to navigate to the list. It opens the list and goes through it line by line. For each line it finds the appropriate template in the project; duplicates it and names it the line number (the first comp is called 1 and so on, this makes it easier for you to string them all together in the proper order in your editing app for output to tape). it then takes the isci code for the spot and writes it into the slate of the comp, and does the same for the phone number.

When all the data is written into the comp the comp is placed into the render que, an avid locater file is created so when they are all strung together in a timeline in avid you can quickly jump to any spot using locators, and finally a text tape log is created with the spot and timecode of where it will appear on the tape.

The script is probably not very useful as it was written with a particular job in mind, but it could be helpful in giving ideas about how to implement something similar, also the code for creating avid locators is way cool!


Queue Render

Sometimes I have many many many renders lined up in my render queue. I wrote this script to allow multipe computers running After Effects to chug through the list and each render an item from the queue.

The way the script works is simple. First you set up a project in a location where every computer on your network has access. You set up your render queue (also making sure that the path to where you will be rendering is network accessable). You then save the project and run the queueRender script. You go to every available computer and open the project through the network and run the script on those boxes as well.

What the script does is quite simple. It looks at each entry in the queue and looks at the location where the render will be. If a file exists in that location with the same name as that in the render queue the script assumes another computer is rendering that entry and moves on to the next entry in the queue.

the script runs through the list twice; the reason being, if you stop a render on one of your computers, it will delete the file it was rendering, as it was not complete. One of the other computers running the script will see this on its second pass through the list and render it.


Resume for Michael Cardeiro