-
Notifications
You must be signed in to change notification settings - Fork 9
Render And System Call
Fabian Morón Zirfas edited this page Jun 13, 2025
·
2 revisions
On stackoverflow someone asked: "is there a way to programmatically run a shell command after a render has completed in Adobe After effects?"
source
var comp = app.project.items.addComp("test", 100, 100, 1, 1, 12); // create a comp
comp.layers.addSolid([0.5, 0.5, 0.5], "solid", 100, 100, 1, 1); // add a solid
var rq_item = app.project.renderQueue.items.add(comp); // add the comp to the render queue
rq_item.outputModule(1).file = File("~/Desktop/out.mov"); // set the output path
rq_item.render = true; // set it to enabled (is the default)
// now add a function to the onStatusChange property of the render queue item
rq_item.onStatusChanged = function () {
// as long as we have the RENDERING status
while (rq_item.status === RQItemStatus.RENDERING) {
$.writeln("Rendering");
}
// if it changes to Done
// wired thing is it gets called 2 times
// needs more investigation
if (rq_item.status === RQItemStatus.DONE) {
$.writeln("Done rendering");
// now the system call
// the call happens in a background process
// there is no terminal window that opens
var res = system.callSystem('echo "Hello World"');
$.writeln(res); // show the result
}
};
// start the render
app.project.renderQueue.render();
// handle possible app errors
app.onError = function (err) {
$.writeln("ERROR " + err);
};This wiki is mostly maintained by:
ff6347
Thanks to:
- JohnDarnell for fixing lots of typos.
- jsp for fixing lots of typos.
- ltfschoen for fixing typos.
- wridgers for adding more links.
- EugenTepin for several improvements.
- vamitul for improvements.
- abandonedbywolves for adding an example.
- Travis Weston
- Andy Dayton
Thanks to the students from my seminars for asking all those questions and making me start this wiki.
- adinaradke
- AnitaMei
- ce0311
- coerv
- felixharle
- FerdinandP
- Flave
- marche
- monkian
- natael
- OliverMatelowski
- PDXIII
- praktischend
- schlompf
- skaim
You are awesome.
- Arrays
- Classes
- Comments
- Conditionals
- Functions
- Inspect Properties
- Loops
- Objects
- Output And Interaction
- Recursive Functions
- Inspect Properties
- Variables And Operations
- Extended JavaScript Guide
- Bridge Talk
- Create And Read Files
- Executing Shell Commands
- ExtendScript Toolkit
- File
- Folder
- Includes JSX
- Object Watch
- Read CSV
- Read In JSON From File And DONT Eval
- Storing Data In A Target Engine
- Target an application
- XML
- Isolate Layers With the Shy Setting
- Layer Duration Change
- Render And System Call
- Rename Layers
- SourceText to Keyframes from Array
- SourceText
- System Call
- app
- Colorbrewer
- ColorGroups
- Colors And Swatches
- Delay And View
- Dialogs
- Documents
- Duplicate And Transform
- Event AfterSave
- Export IDML
- ExtendScript in InDesign Scripting DOM
- Fonts
- GeometricBounds and Coordinates
- Get named pageItems
- Graphic Lines
- Groups
- HSL Color Wheel
- Images
- Includes
- InsertionPoints
- Layers
- Line Feeds And Carrige Returns
- Locked PageItems
- loops vs everyItem
- Masterspreads
- Matrix
- Objectstyles
- Outlines Groups Alignment
- Pages And Margins
- Pathfinder
- Placeholder Text
- Rectangles Ovals Polygons
- RulerOrigin
- Scripting Labels
- Select words at insertionPoint
- Simple Find And Change Grep with FC Query
- Simple Find And Change Grep
- Simple Find And Change Text
- Spiro
- Styles
- Table Cells
- Text Analysis ID FC
- Text Analysis
- Text Find Locations
- Text
- Transformation Matricies
- TransparencySettings
- XML creation and import