August 8, 2010

Intro to After Effects plug-in development

Satya Meka distills his own recent experience in the area in his brief Intro to After Effects plugin development for beginners, which includes info on the AE SDK. He also posted Intro to Pixel Bender for Non-Programmers not long ago. For a general overview of filters in AE, see the Plug-ins page in AE Help.

Mac users have access to a variety of other tools that leverage Apple's Core Image OS framework: Apple Quartz Composer, FxFactory, and Pixlock Effect Builder AE. The latter two make plug-ins supported in After Effects. Apparently QC Integration FX no longer offers compatibility with After Effects.

Outside of the AE SDK, Windows users have only disjointed features available in Adobe's Pixel Bender (the new hope after an aborted Python Plug-in demo from Adobe and the sale of Useful Things to SONY). There was more hope for the now-in-limbo Conduit for Flash Pixel Bender and other sundry image processing geekery end user tools, but support for the AE plug-in format has not been extended. Even so, the profusion of free , , and should keep most users busy.

—>> Script panel UI really changed the game. For more on AE scripts, see Using and creating After Effects scripts: Some learning and script resources.

Creating After Effects plug-ins using the SDK is "surprisingly easy" -- if you believe the aging MacTech article (from Volume15, Number 9): “How to Write Plug-Ins for Adobe After Effects” by Kas Thomas (web archive). What they mean is that it's easy if you're a C or C++ programmer, or have ingrained faculties like Satya. But the SDK itself does include its own introduction, which is intelligible to everyone who wants to know what AEGP or PiPL means.

—>> To ask questions about writing native effect plug-ins for After Effects, try the After Effects SDK user-to-user forum.

There's little commentary from actual developers apart from Satya's article. Here's a few older AE-list comments on porting PS filters. Brendan Bolles:  
"I think the After Effects SDK is way easier. For example, your standard UI can be built with just a few lines of code and will be totally cross-platform. And don't worry about putting a preview in your interface - it already happens in the comp window. AE works a bit differently from Photoshop so there's a learning curve, but porting should be pretty easy once you figure it out."  
Darrin Cardani added:  
"The thing I found most confusing is the calling sequence. When Photoshop calls your filter plugin, it follows a pretty standard sequence telling you what to do next. AE is a little more fluid in that sometimes you might not get called to do certain things, while other times you will. But once you look through the example code and write one, it starts to make sense. Be sure to join Adobe's mailing list so you can ask questions about the process when you get stuck."

Update: in June 2001, Audrey Doyle published Mix & Match in Computerworld, a brief history of AE plug-ins.


Satya Meka said...

Writing a Python binding on the SDK isn't that hard, but requires a lot of time for an individual developer, unless it is done by a community. But opensource hasn't been a successful model, atleast in the plugin community. Also, for the users to create distributable plugins, they still need to download the SDK headers which are not redistributable and have to use an IDE to write code. A much more practical/artist friendly solution would be to implement Python/Javascript scripting capabilities to a plugin which creates graphics. Like expressions, but single layer and used to create graphics (ala Processing).

Anonymous said...

I am seeking a AE export plug-in developer to create a plug-in that will allow an AE projects to be exported as a Final Cut Pro projects. Even if it's not a direct export and they're are other steps in between that is OK. Thanks

Rich said...

In the meantime check out: