Duduf After Effects ExtendScript Framework
DuAEF is a set of classes, methods and tools to ease the scripting process in After Effects, as long as adding features (like pngquant, ffmpeg, or json) not available in After Effects/ExtendScript. It is very easy to use and documented.
- Contributing guide: wiki/Contributing-Guide
- Tools: rainboxprod.coop/en/tools/
- User forum: forum.rainboxprod.coop
- You can create private threads on the forum if you need.
- Developers and users chat: framateam.org
- Feel free to come talk with us ! 😄
- Developers' documentation: rainbox-dev.github.io/DuAEF_Duik/
Just include the framework in your script with this simple code:
#include DuAEF.jsxinc //includes all libraries, as separated files (you'll need the complete /libs/ folder)
//OR
#include DuAEF_full.jsxinc //includes the whole framework with one single file.
After one of these two lines, all objects and methods from DuAEF will be available.
As you can see, you can either use only the "DuAEF_full.jsxinc" file which contains the whole framework, or "DuAEF.jsxinc" file to keep every library in separated files. In most cases, you should use the "full" file. The second one might be easier to use if you plan to modify or personnalize the framework.
The framework reference is available in the docs folder, click here to view it.
- The tools subfolder contains some useful scripts, which can be used as example cases of DuAEF use.
- DuBuilder is a stand-alone application written in Qt/C++ to build the scripts. It replaces all includes with the actual source code and lets you distribute your scripts as single files instead of a main script with a lot of includes. You can download the latest (windows-only) version here.
The framework is divided into libraries.
All libraries are in the libs subfolder, the source code is fully documented.
There are cross-dependencies between the libraries, so you should not include just some of them, it's easier to include the whole framework with the file "DuAEF_full.jsxinc"
- DuAECore contains After Effects related objects and methods.
- DuBinary provides tools to include and extract binary files directly in your script files, allowing to deploy only one .jsx files containing any needed image, preset or executable.
- DuFFMpeg provides tools to transcode medias using ffmpeg, all in ExtendScript. It includes the FFmpeg binary executable file.
- DuJS contains JavaScript/ExtendScript useful tools to manipulate Strings, Arrays, Regular Expressions, Math, etc.
- DuProcess manages external processes. It provides easy-to-use, cross-platform tools to launch command line tools, and a process queue feature.
- DuQuant is an interface to pngquant, a powerful tool to add lossy compression to PNG files, very useful for web design, proxies, or any other case where lightweight PNG images are needed.
- DuRenderer is an interface to the After Effects renderer, both in the UI or as a background renderer. It also provides PNG lossy compression with pngquant and will provide FFmpeg support to add formats to the standard After Effects renderer.
- JSON is the standard JavaScript json implementation.