Adobe After Effects Cs3 Professional - Scripting Guide

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Adobe After Effects Cs3 Professional - Scripting Guide as PDF for free.

More details

  • Words: 86,977
  • Pages: 193
SCRIPTING GUIDE

© Copyright 2007 Adobe Systems Incorporated. All rights reserved. Adobe® Creative Suite 3 After Effects® Scripting Guide NOTICE: All information contained herein is the property of Adobe Systems Incorporated. No part of this publication (whether in hardcopy or electronic form) may be reproduced or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Adobe Systems Incorporated. The software described in this document is furnished under license and may only be used or copied in accordance with the terms of such license. This publication and the information herein is furnished AS IS, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies, makes no warranty of any kind (express, implied, or statutory) with respect to this publication, and expressly disclaims any and all warranties of merchantability, fitness for particular purposes, and noninfringement of third party rights. Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization. Adobe, the Adobe logo, After Effects, Photoshop, and Bridge are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Apple, Mac, Macintosh, and Mac OS are trademarks of Apple Computer, Inc., registered in the United States and other countries. Microsoft, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and other countries. JavaScript and all Java-related marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. UNIX is a registered trademark of The Open Group. All other trademarks are the property of their respective owners. If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license agreement. The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.

Overview

The After Effects Scripting Guide demonstrates how to take procedural control of your After Effects projects via scripting. This feature set is available in Adobe® After Effects® CS3 Professional Edition. With the use of system-level scripting, you can streamline your render pipeline and avoid a lot of repetitive pointing and clicking. If you have used expressions or other JavaScript-like techniques for animating, or worked with system scripting in AppleScript or Visual Basic, you will recognize the power of application scripting in After Effects. With some practice, and with sufficient experience using the JavaScript language, you can take control of your graphics pipeline.

If you are new to scripting After Effects is a visual tool with a graphical user interface; you are used to interacting with it via interface elements such as menus, panels, and icons. For the most part, this is the most accessible way to work. Scripting is designed for situations in which this methodology involves tedious repetition or painstaking searching and sorting that could be automated. Scripting can be a shortcut around tedious tasks that would otherwise involve repetitious pointing and clicking. It is also useful for leveraging the power of networked rendering in situations where Watch Folder is less powerful (and less convenient to set up). See “Examples” on page 173 for examples of what scripts can do. If you are new to scripting, see Adobe Introduction to Scripting, which introduces basic scripting concepts and describes different scripting languages that are available, including JavaScript. JavaScript and other scripting languages are object-oriented, and this book also describes the basic concepts of object-oriented programming and document object models. Even if you have no inclination to learn the JavaScript language, you can still harness the power of scripting via third-party solutions such as Rush Network Render Queue, a graphical user interface to set up distributed renders from any computer on the network without having to set up on individual machines. You can also leverage the contributions of scripting users who share scripts with other users. Larger studios may have such users in-house, while other users can visit forums such as those found at w w w .ad o b ef o r u m s .c o m .

About this guide This guide is for users who manage a graphics pipeline (which may include other scriptable applications as well) and who want to write scripts to add custom capabilities to After Effects. This functionality is also offered via third-party network rendering management solutions. These products feature software designed to help manage this process, so it is possible to take advantage of this functionality without having to perform manual editing of scripts.

3

Overview

Editing scripts

4

The heart of a scriptable application is the object model. When you use Adobe After Effects, you create projects, compositions, and render-queue items along with all of the elements that they contain: footage, images, solids, layers, masks, effects, and properties. Each of these items, in scripting terms, is an object. This guide describes the JavaScript objects that have been defined for After Effects projects. Much of what scripting can accomplish replicates what can be done via the After Effects user interface, so a thorough knowledge of the application itself is also essential to understanding how to use this functionality. The After Effects object model is composed of a project, items, compositions, layers, and render-queue items. Each object has its own special attributes, and every object in an After Effects project has its own identity (although not all are accessible to scripting). You should be familiar with the After Effects object model in order to create scripts. After Effects scripting is based on ECMAScript (or more specifically, the 3rd Edition of the ECMA-262 Standard). Further documentation on this standard can be found at www.ecma-international.org. To take full advantage of what is possible with scripting you will also need an understanding of writing scripts at the system level (for integration with AppleScript or the Terminal command line in Mac OS and command-line scripts on Windows systems) and a background in how to work with JavaScript. NOTE: JavaScript objects normally referred to as “properties” are consistently called “attributes” in this guide, to avoid confusion with After Effects’ own definition of a property (an animatable value of an effect, mask, or transform within an individual layer).

Expressions Although both After Effects expressions and the After Effects scripting interface use JavaScript and can access individual layer properties, they are entirely distinct entities. Expressions cannot access information from scripts (such as variables and functions), although a script can be written to create or edit an expression. Because both expressions and scripting use JavaScript, familiarity with either one is helpful in understanding the other.

Motion math Motion math is no longer included in After Effects; its functionality has been superseded by scripting and expressions. All mathematical and logical operators common to ECMAScript are available in scripting. For example, with expressions it is possible to simulate the physics of a bouncing ball by applying mathematical rules to a “ball” layer. But using scripting, you can create a whole user interface that allows a bouncing ball and shadow layer to be animated using criteria entered by the user.

Editing scripts After Effects includes a JavaScript editor. To start it, choose File > Scripts > Open Script Editor. This script editor and debugger, called the ExtendScript Toolkit, provides a convenient interface for creating and testing your own scripts. You can use any text editor to create, edit, and save scripts, but it is recommended that you choose an application that does not automatically add header information when saving files and that saves with Unicode (UTF-8) encoding. • Windows applications that are useful for editing scripts include EM Editor or the built-in Notepad (be sure

to set Encoding within save options to UTF-8). • Mac OS applications that are useful for editing scripts include BBEdit or the built-in OS X TextEdit (be sure

to set the Save type in Preferences to Unicode [UTF-8]).

4

Overview

Activating full scripting features

5

The ExtendScript JSX format After Effects supports ExtendScript, Adobe’s extended implementation of JavaScript. ExtendScript is used by all Adobe applications that provide a scripting interface. In addition to implementing the JavaScript language according to the ECMA 262 and E4X ECMA 357 specifications, ExtendScript provides certain additional features and utilities: ExtendScript Toolkit: For help in developing, debugging, and testing scripts, ExtendScript provides an inter-

active development and testing environment, the ExtendScript Toolkit. It also defines a global debugging object, the dollar ($) object, and a reporting utility for ExtendScript elements, the ExtendScript Reflection interface. File and Folder Objects: Because path name syntax is very different in different operating systems, Adobe ExtendScript defines F i l e and F o l d e r objects to provide platform-independent access to the underlying file system. ScriptUI User Interface Module: The ExtendScript ScriptUI module provides the ability to create and interact

with user interface elements. ScriptUI provides an object model for windows and UI control elements that you can use to create a user interface for your scripts. Tools and Utilities: In addition, ExtendScript provides tools and features such as a localization utility for providing user-interface string values in different languages and global functions for displaying short messages in dialog boxes (ale rt , c o n fi r m , and p r o m pt ). Interapplication Communication: ExtendScript provides a common scripting environment for all Adobe applications, and allows interapplication communication through scripts. External Communication: ExtendScript provides a S o c k e t object that allows you to communicate with remote systems from your After Effects scripts.

These features and more are described in detail in the JavaScript Tools Guide, which is available with After Effects, and from partners.adobe.com. ExtendScript script files are distinguished by the .j sx file extension, a variation on the standard .js extension used with standard JavaScript files. After Effects scripts must include the .js x file extension in order to be properly recognized by the application. Any UTF-8 encoded text file with the .j sx extension is recognized as an ExtendScript file. You can use the ExtendScript Toolkit to export a binary version of an ExtendScript file, which has the extension . js xb i n . Such a binary file may not be usable with all of the scripting integration features in After Effects.

Activating full scripting features For security reasons, the scripting features that operate outside the After Effects application (such as adding and deleting files and folders on volumes, or accessing the network) are disabled by default. To enable these features, choose Preferences > General, and select “Allow Scripts To Write Files And Access Network.” This allows you to: • Write to files • Create folders and set the current folder • Create a socket connection (for details of this JavaScript utility, see the JavaScript Tools Guide)

5

Overview

Accessing and writing scripts

6

Adobe supplies a full-featured JavaScript debugger, called the ExtendScript Toolkit. The Toolkit is disabled by default so that casual users do not encounter it. When editing or writing scripts, the Toolkit can help you diagnose script problems more quickly. To activate the Toolkit on the local computer when a script error is encountered, choose Preferences > General, and select Enable JavaScript Debugger. For detailed information on the ExtendScript Toolkit, see the JavaScript Tools Guide. Note that the Toolkit operates only when executing a script, not with expressions, even though expressions also make use of JavaScript.

Accessing and writing scripts To create and edit scripts for After Effects, you can use the ExtendScript Toolkit, or an external text-editing application that creates files with Unicode UTF-8 text encoding. Beware of applications such as Microsoft Word that by default add header information to files; these create line 0 errors in scripts, causing them to fail. A script can reside anywhere, although to appear in the Scripts menu it must be saved in the Scripts folder within the After Effects application folder. There is no built-in method for recording a series of actions in After Effects into a script, as you can with Adobe Photoshop® actions. Scripts are created outside After Effects and then executed within it, or externally via a command-line, the ExtendScript Toolkit, or third-party render management software.

The Scripts menu and Scripts folder After Effects scripts reside in the Scripts folder, within the same folder as your After Effects application file. Only scripts contained in this Scripts folder when the application starts are automatically listed in the Scripts menu, although a script file can reside anywhere. To run a script that does not appear in the Scripts menu, choose File > Scripts > Run Script File, and choose the script in the Open dialog box. Alternatively, you can send After Effects a script from the ExtendScript Toolkit, from a command line (on Windows) or from AppleScript (on Mac OS). To appear in the Open dialog box, your script must include the proper . js x file extension.

Shutdown and Startup folders Within the Scripts folder are two folders called Startup and Shutdown. After Effects runs scripts in these folders automatically, in alphabetical order, on starting and quitting, respectively. In the Startup folder you can place scripts that you wish to execute at startup of the application. They are executed after the application is initialized and all plug-ins are loaded. Scripting shares a global environment, so any script executed at startup can define variables and functions that are available to all scripts. In all cases, variables and functions, once defined by running a script that contains them, persist in subsequent scripts during a given After Effects session. Once the application is quit, all such globally defined variables and functions are cleared. Be sure to give variables in scripts unique names, so that a script does not inadvertently reassign global variables intended to persist throughout a session. Attributes can also be added to existing objects such as the Application object (see “Application object” on page 19) to extend the application for other scripts. The Shutdown folder scripts are executed as the application quits. This occurs after the project is closed but before any other application shutdown occurs.

6

Overview

Sending a script to After Effects from the system

7

The Window menu and ScriptUI Panels folder Within the Scripts folder, you can create another folder named ScriptUI Panels. Use this folder for scripts whose user interface appears in a native panel (as opposed to a floating palette, dialog box, or window). The advantage of a panel is that it can be docked with other panels, such as Project, Composition, and Time Controls, and appear more integrated into the application. Like native panels, ScriptUI Panels scripts are accessed from the Window menu. Instead of creating a Window object an adding controls to it, a ScriptUI Panels script uses the "this" object that represents the panel. For example, the following code adds a button to a panel: va r myPane l = t his; myPane l.add("bu tt on", [10 , 10, 100 , 30 ], "T ool #1 ") ; m y P an e l .s ho w ( );

If your script creates its user interface in a function, you cannot use "this" as it will refer to the function itself, not the panel. In this case, you should pass the "this" object as an argument to your function. For example: f u n c t io n c r e a teU I ( th is O b j) { va r myPane l = t hisO b j; myPane l.add("bu tt on", [10 , 10, 100 , 30 ], "T ool #1 ") ; return myPanel; } v a r m y T o o l s P a n e l = c r e at e U I ( t h i s ) ; myToolsPanel.show();

You cannot use the File > Scripts > Run Script File menu command to run a script that refers to "this". To make your script work with either a Window object (accessible from the File > Scripts menu) or a native panel (accessible from the Window menu), check whether "this" is a Panel object. For example: f u n c t io n c r e a teU I ( th is O b j) { v a r m y P an e l = ( th is O b j i n st an c e o f P a n e l ) ? t h i s O b j : n e w W i n d o w ( " p a l e t t e " , " M y T o o l s " , [100 , 10 0, 3 00, 3 00]); myPane l.add("bu tt on", [10 , 10, 100 , 30 ], "T ool #1 ") ; return myPanel; } v a r m y T o o l s P a n e l = c r e at e U I ( t h i s ) ; myToolsPanel.show();

Sending a script to After Effects from the system If you are familiar with how to run a script from the command line in Windows or via AppleScript, you can send a script directly to the open After Effects application, so that the application automatically runs the script.

How to include After Effects scripting in a command line (Windows) Following are examples of Windows command-line entries that will send an After Effects script to the application without using the After Effects user interface to execute the script. In the first example, you copy and paste your After Effects script directly on the command line and then run it. The script text appears in quotation marks following the a ft erf x .e xe - s command: a ft erf x .ex e -s " a le rt (" Y o u j us t s en t an al e rt t o Af t er E f f ec ts " ) "

7

Overview

Testing and troubleshooting

8

Alternatively, you can specify the location of the JSX file to be executed. For example: a ft er f x . e x e -r c : \ m y D o c u m e n t s \ Sc r i p t s \ y o u r AE S criptH ere. jsx a f t e r f x . e x e -r " c : \ m y D o c u m e n t s \ Sc r i p ts \ S c r i pt N am e w it h S p ac e s .j sx "

How to include After Effects scripting in an AppleScript (Mac OS) Following are three examples of AppleScript scripts that will send an existing JSX file containing an After Effects script to the application without using the After Effects user interface to execute the script. In the first example, you copy your After Effects script directly into the Script Editor and then run it. The script text appears within quotation marks following the DoScript command, so internal quotes in the script must be escaped using the backslash escape character, as follows: t el l ap p l ic a ti on "A dob e Af ter Eff ec t s C S3 " D o S c r i p t " a l e r t( \ " Y o u j u s t s e n t a n aler t t o Af te r Ef fe ct s \")" en d t ell

Alternatively, you could display a dialog box asking for the location of the JSX file to be executed, as follows: s et the F i le to c h oos e f i le t el l ap p l ic a ti on "A dob e Af ter Eff ec t s C S3 " D oS c ri pt th eF i l e en d t ell

Finally, this script is perhaps most useful when you are working directly on editing a JSX script and want to send it to After Effects for testing or to run. To use it effectively you must enter the application that contains the open JSX file (in this example it is TextEdit); if you do not know the proper name of the application, type in your best guess to replace “TextEdit” and AppleScript prompts you to locate it. Simply highlight the script text that you want to run, and then activate this AppleScript: (* T h i s s c r i p t s e n d s t he c u r r e n t s e l e c t i o n t o A ft er E f f e c t s a s a s c r i p t . *) t e l l ap p l ic a ti o n " T e xt E d i t" s e t the _ sc r ip t to s e l e c t i o n as te x t en d t ell t el l ap p l ic a ti on "A dob e Af ter Eff ec t s C S3 " a ct i vat e D o S c r i pt th e _ s cr ip t en d t ell

For more information on using AppleScript, check out Matt Neuberg’s AppleScript: the Definitive Guide (O’Reilly & Associates) or Sal Soghoian’s AppleScript 1-2-3 (Peachpit Press).

Testing and troubleshooting Any After Effects script that contains an error preventing it from being completed generates an error message from the application. This error message includes information about the nature of the error and the line of the script on which it occurred.

8

Overview

More resources to learn scripting

9

Additionally, After Effects includes a JavaScript debugger. For more information on activating and using the debugger, see the ExtendScript Toolkit documentation in the JavaScript Tools Guide.

More resources to learn scripting Many resources exist for learning more about scripting that uses the ECMA standard. The After Effects scripting engine supports the 3rd Edition of the ECMA-262 Standard, including its notational and lexical conventions, types, objects, expressions, and statements. For a complete listing of the keywords and operators included with ECMAScript, refer to ECMA-262.pdf, available at ww w. ecma -in t ern atio nal .o rg/pu blicatio ns/stan dard s/Ecm a-262 .ht m . Books that deal with JavaScript 1.2 are also useful for understanding how scripting works in After Effects. One book that is something of a standard for JavaScript users is JavaScript: The Definitive Guide (O’Reilly) by David Flanagan. Another very readable source is JavaScript: A Beginner’s Guide (Osborne) by John Pollock. Both of these texts contain information that pertains only to extensions of JavaScript for Internet browsers; however, they also contain thorough descriptions of scripting fundamentals. There are also books for using AppleScript and creating Windows command line scripts, each of which can be used to send scripts to After Effects.

JavaScript variables Scripting shares a global environment, so any script executed at startup can define variables and functions that are available to all scripts. In all cases, variables and functions, once defined by running a script that contains them, persist in subsequent scripts during a given After Effects session. Once the application is quit, all such globally defined variables and functions are cleared. Scripters should be careful about giving variables in scripts unique names, so that a script does not inadvertently reassign global variables intended to persist throughout a session.

JavaScript keywords and statement syntax Although it is not possible to provide an exhaustive resource describing usage of JavaScript, the following tables provide an overview of keywords, statements, operators, precedence, and associativity. The following table lists and describes all keywords and statements recognized by the After Effects scripting engine.

Table 1

Keywords and Statement Syntax

Keyword/Statement

Description

break

Standard JavaScript; exit the currently executing loop.

continue

Standard JavaScript; cease execution of the current loop iteration.

case

Label used in a s w i tc h statement.

d e f au lt

Label used in a s w i tc h statement when a c a s e label is not found.

d o.. .w hile

Standard JavaScript construct. Similar to the w h il e loop, except loop condition evaluation occurs at the end of the loop.

f al s e

Literal representing the boolean false value.

for

Standard JavaScript loop construct.

f or. ..in

Standard JavaScript construct. Provides a way to easily loop through the properties of an object.

9

Overview

More resources to learn scripting

10

Keyword/Statement

Description

f u n c t io n

Used to define a function.

i f / if . . . e l s e

Standard JavaScript conditional constructs.

new

Standard JavaScript constructor statement.

n u ll

Assigned to a variable, array element, or object property to indicate that it does not contain a legal value.

re tu rn

Standard JavaScript way of returning a value from a function or exiting a function.

s wi t c h

Standard JavaScript way of evaluating a JavaScript expression and attempting to match the expression’s value to a c a se label.

t hi s

Standard JavaScript method of indicating the current object.

t rue

Literal representing the boolean true value.

un de fined

Indicates that the variable, array element, or object property has not yet been assigned a value.

va r

Standard JavaScript syntax used to declare a local variable.

w hi l e

Standard JavaScript construct. Similar to the d o.. .w hile loop, except loop condition evaluation occurs at the beginning of the loop.

w i th

Standard JavaScript construct used to specify an object to use in subsequent statements.

JavaScript operators The following tables list and describe all operators recognized by the After Effects scripting engine and show the precedence and associativity for all operators.

Table 2

Description of Operators

Operators

Description

new

Allocate object.

delete

Deallocate object.

t y pe o f

Returns data type.

vo id

Returns undefined value.

.

Structure member.

[]

Array element.

()

Function call.

++

Pre- or post-increment.

––

Pre- or post-decrement.



Unary negation or subtraction.

~

Bitwise NOT.

!

Logical NOT.

*

Multiply.

/

Divide.

%

Modulo division.

10

Overview

More resources to learn scripting

11

Operators

Description

+

Add.

<<

Bitwise left shift.

>>

Bitwise right shift.

> >>

Unsigned bitwise right shift.

<

Less than.

<=

Less than or equal.

>

Greater than.

>=

Greater than or equal.

==

Equal.

!=

Not equal.

&

Bitwise AND.

^

Bitwise XOR.

|

Bitwise OR.

&&

Logical AND.

||

Logical OR.

?:

Conditional (ternary).

=

Assignment.

+=

Assignment with add operation.

–=

Assignment with subtract operation.

*=

Assignment with multiply operation.

/=

Assignment with divide operation.

%=

Assignment with modulo division operation.

< <=

Assignment with bitwise left shift operation.

> >=

Assignment with bitwise right shift operation.

> >> =

Assignment with unsigned bitwise right shift operation.

&=

Assignment with bitwise AND operation.

^=

Assignment with bitwise XOR operation.

|=

Assignment with bitwise OR operation.

,

Multiple evaluation.

Table 3

Operator Precedence

Operators (highest precedence to lowest)

Associativity

[ ], () , .

left to right

ne w, de le te , – (u n ar y n eg at i o n ) , !, t y p eo f , voi d , + +, – –

right to left

11

Overview

More resources to learn scripting

12

Operators (highest precedence to lowest)

Associativity

*, /, %

left to right

+ , – ( su b tra c ti on)

left to right

< <, >> , > >>

left to right

< , < =, > , > =

left to right

= =, !=

left to right

&

left to right

^

left to right

|

left to right

&&

left to right

||

left to right

?:

right to left

= , /= , % =, << =, > > =, > > >= , &=, ^= , |= , += , –= , *=

right to left

,

left to right

12

JavaScript Reference

This chapter lists and describes JavaScript classes, objects, methods, attributes, and global functions defined by After Effects. The After Effects scripting engine supports ExtendScript, Adobe’s extended version of JavaScript, which implements the 3rd Edition of the ECMA-262 Standard, including its notational and lexical conventions, types, objects, expressions and statements. For a complete listing of the keywords and operators included with ECMAScript, refer to ECM A-262 .pdf , available at ww w. ecm a-inte r natio n al. org/p ublicatio n s/stan d ards/ E c m a - 2 6 2 . h t m. For an overview of the most common keywords and statements available from ECMA-262, see “JavaScript keywords and statement syntax” on page 9.

The After Effects Object Model As you look through this reference section, which is organized alphabetically by object, you can refer to the following diagrams for an overview of where the various objects fall within the hierarchy, and their correspondence to the user interface. SYSTEM

APPLICATION

SETTINGS

FOLDER

SOCKET

ITEMS MAYBEANYOFTHEFOLLOWINGTYPESOFITEM

PROJECT COMP)TEM

RENDER1UEUE

FILE

/2

/2

FOOTAGE)TEM

FOLDER)TEM

ITEMS LAYERS

ITEMS PROXY3OURCE

RENDER1UEUE)TEMS PROPERTIES

MAIN3OURCE

PROXY3OURCE

MAIN3OURCEPROXY3OURCE MAYBEANYOFTHEFOLLOWINGTYPESOFITEM

OUTPUT-ODULES SOLID3OURCE

/2

PLACEHOLDER3OURCE

COLOR

/2

FILE3OURCE

FILE

Hierarchy diagram of the main After Effects scripting objects

Note that the File, Folder, and Socket objects are defined by ExtendScript, and are documented in the JavaScript Tools Guide. ExtendScript also defines the ScriptUI module, a set of window and user-interface control objects, which are available to After Effects scripts. These are also documented in the JavaScript Tools Guide. The hierarchy of objects in scripting corresponds to the hierarchy in the user interface.

13

JavaScript Reference

The After Effects Object Model

14

The application contains a Project panel, which displays a project. The project contains compositions, which contain layers. The source for a layer can be a footage file, placeholder, or solid, also listed in the Project panel. Each layer contains settings known as properties, and these can contain markers and keyframes. The render queue contains render-queue items as well as render settings and output modules. All of these entities are represented by objects in scripting. NOTE: To avoid ambiguity, this manual uses the term “attribute” to refer to JavaScript object properties, and the term “property” or “AE property” to refer to After-Effects layer properties.

Object summary The following table lists all objects alphabetically, with links to the documentation page for each. Object

Description

“Global functions” on page 16

Globally available functions that allow you to display text for script debugging purposes, and help convert time values between seconds and frames.

“Application object” on page 19

A single global object, available by its name (ap p ), that provides access to objects and application settings within the After Effects application.

“AVItem object” on page 32

Represents audio/visual files imported into After Effects.

“AVLayer object” on page 39

Represents those layers that contain AVItem objects (Comp layers, footage layers, solid layers, text layers, and sound layers).

“CameraLayer object” on page 50

Represents a camera layer within a composition.

“Collection object” on page 51

Associates a set of objects or values as a logical group and provides access to them by index.

“CompItem object” on page 52

Represents a composition, and allows you to manipulate it and get information about it.

14

JavaScript Reference

The After Effects Object Model

15

Object

Description

“FileSource object” on page 60

Describes footage that comes from a file.

“FolderItem object” on page 62

Represents a folder in the Project panel.

“FootageItem object” on page 64

Represents a footage item imported into a project, which appears in the Project panel.

“FootageSource object” on page 67

Describes the file source of some footage.

“ImportOptions object” on page 73

Encapsulates options for importing files into After Effects.

“Item object” on page 76

Represents an item in a project that appears in the Project panel.

“ItemCollection object” on page 79

Collects items in a project.

“KeyframeEase object” on page 81

Encapsulates keyframe ease values in an After Effects property.

“Layer object” on page 83

A base class for layer classes.

“LayerCollection object” on page 92

Collects layers in a project.

“LightLayer object” on page 97

Represents a light layer within a composition.

“MarkerValue object” on page 98

Encapsulates marker values in an AE property.

“MaskPropertyGroup object” on page 102

Encapsulates mask attributes in a layer.

“OMCollection object” on page 104

Collects output modules in a render queue.

“OutputModule object” on page 105

Represents an output module for a render queue.

“PlaceholderSource object” on page 108

Describes a placeholder for footage.

“Project object” on page 109

Represents an After Effects project.

“Property object” on page 118

Represents an After Effects property.

“PropertyBase object” on page 140

A base class for After Effects property and property group classes.

“PropertyGroup object” on page 147

Represents an After Effects property group.

“RenderQueue object” on page 152

Represents the After Effects render queue.

“RenderQueueItem object” on page 155

Represents a renderable item in a render queue.

“RenderQueueItem object” on page 155

Collects render-queue items in a render queue.

“RQItemCollection object” on page 161

Provides access to application settings and preferences.

“Shape object” on page 164

Encapsulates the outline shape information for a mask.

“ShapeLayer object” on page 167

Represents a shape layer within a composition.

“SolidSource object” on page 168

Describes a solid color that is the source of some footage.

“System object” on page 169

Provides access to the operating system from the application.

“TextDocument object” on page 171

Encapsulates the text in a text layer.

“TextLayer object” on page 172

Represents a text layer within a composition.

15

JavaScript Reference

Global functions

16

Global functions These globally available functions that are specific to After Effects. Any JavaScript object or function can call these functions, which allow you to display text in a small (3-line) area of the Info panel, and to convert numeric time values to and from string values. Global function

Description

clearOutput()

Clears text from the Info panel.

cur rent F orma tTo T im e()

Converts string time value to a numeric time value.

t im eToCu rren tForm at ()

Converts a numeric time value to a string time value.

w r i te ()

Writes text to the Info panel, with no line break added.

writeLn()

Writes text to the Info panel, adding a line break at the end.

Additional global functions for standard user I/O (ale rt , c o n f ir m , and p r o m pt ) and static functions for file I/O, are defined by ExtendScript; for detailed reference information, see the Adobe Bridge® JavaScript Reference. NOTE: The After Effects global functions for standard dialogs and file I/O are still supported in this release, but are deprecated and will not be supported in future releases. For details, see the After Effects 6.5 documentation.

clearOutput() global function clearOutput() Description

Clears the output in the Info panel. Parameters

None. Returns

Nothing.

currentFormatToTime() global function cur rent F orma tTo T im e( f o r m a t t e d T i m e , f ps , i s D u r a t i o n) Description

Converts a formatted string for a frame time value to a number of seconds, given a specified frame rate. For example, if the formatted frame time value is 0:00:12 (the exact string format is determined by a project setting), and the frame rate is 24 fps, the time would be 0.5 seconds (12/24). If the frame rate is 30 fps, the time would be 0.4 seconds (12/30). If the time is a duration, the frames are counted from 0. Otherwise, the frames are counted from the project’s starting frame (see “Project displayStartFrame attribute” on page 111). Parameters f o r m a tt e d T i m e

The frame time value, a string specifying a number of frames in the project’s current time display format.

16

JavaScript Reference

Global functions

17

fps

The frames-per-second, a floating-point value.

i s D u r a t io n

Optional. When true, the time is a duration (measured from frame 0). When false (the default), the time is measured from the project’s starting frame.

Returns

Floating-point value, the number of seconds.

timeToCurrentFormat() global function t im eToCu rren tForm at (t i m e , f ps , i s D u r a t i o n) Description

Converts a numeric time value (a number of seconds) to a frame time value; that is, a formatted string that shows which frame corresponds to that time, at the specified rate. For example, if the time is 0.5 seconds, and the frame rate is 24 fps, the frame would be 0:00:12 (when the project is set to Display Timecode). If the frame rate is 30 fps, the frame would be 0:00:15. The format of the timecode string is determined by a project setting. If the time is a duration, the frames are counted from 0. Otherwise, the frames are counted from the project’s starting frame (see “Project displayStartFrame attribute” on page 111). Parameters t im e

The number of seconds, a floating-point value.

fps

The frames-per-second, a floating-point value.

i s D u r a t io n

Optional. When true, the time is a duration (measured from frame 0). When false (the default), the time is measured from the project’s starting frame.

Returns

String in the project’s current time display format.

write() global function w r i te (t e x t) Description

Writes output to the Info panel, with no line break added. Parameters t ex t

The string to display. Truncated if too long for the Info panel.

Returns

Nothing. Example w r i te (" T h i s t e x t a pp e a rs i n I n fo pa n e l " ) ; w r i t e (" w i t h m o r e o n s a m e l i n e . " ) ;

17

JavaScript Reference

Global functions

18

writeLn() global function w r i t e L n ( t e x t) Description

Writes output to the Info panel and adds a line break at the end. Parameters t ex t

The string to display.

Returns

Nothing. Example w r i te l n (" T h i s t e x t a pp ea rs on f ir st l i n e" ) ; w r i te l n (" T h i s t e x t a pp ea r s o n s e c o n d l i n e " ) ;

18

JavaScript Reference

Application object

19

Application object a pp Description

Provides access to objects and application settings within the After Effects application. The single global object is always available by its name, ap p . Attributes of the Application object provide access to specific objects within After Effects. Methods of the Application object can create a project, open an existing project, control Watch Folder mode, purge memory, and quit the After Effects application. When the After Effects application quits, it closes the open project, prompting the user to save or discard changes as necessary, and creates a project file as necessary. Attributes Attribute

Reference

Description

project

“Application project attribute” on page 28 and “Project object” on page 109

The current After Effects project.

language

“Application language attribute” on page 24

The language in which the application is running.

ve rsio n

“Application version attribute” on page 30

The version number of the After Effects application.

buildName

“Application buildName attribute” on page 21

The name of this build of the application.

buildNumber

“Application buildNumber attribute” on The number of this build of the application. page 22

isWatchFolder

“Application isWatchFolder attribute” on page 24

When true, the local application is running in Watch Folder mode.

isRenderEngine

“Application isRenderEngine attribute” on page 24

When true, the local After Effects application is running as a render engine.

s e t ti n g s

“Application settings attribute” on page 30 and “RQItemCollection object” on page 161

Application settings that can be set via scripting.

onE rror

“Application onError attribute” on page 26

A callback function that is called when an error occurs in the application.

exitCode

“Application exitCode attribute” on page 24

A numeric status code used when executing a script externally (that is, from a command line or AppleScript). 0 if no error occurred. A positive number indicates an error that occurred while running the script.

e x i t A f ter L a u n ch A n d E v a l “Application exitAfterLaunchAndEval attribute” on page 23

When true, the application remains open after running a script from the command line on Windows.

s ave Pr oje ct O nCra sh

“Application saveProjectOnCrash attribute” on page 28

When true, the project is saved if the application closes unexpectedly.

memoryInUse

“Application memoryInUse attribute” on page 25

Memory in use by this application.

19

JavaScript Reference

Application object

20

Methods Method

Reference

Description

n e w P r o j ec t ( )

“Application newProject() method” on page 25

Creates a new project in After Effects.

open()

“Application open() method” on page 26

Opens a project or an Open Project dialog box.

q ui t( )

“Application quit() method” on page 28

Quits the application.

w at c hF o l d er ( )

“Application watchFolder() method” on page 30

Starts Watch Folder mode; does not return until Watch Folder mode is turned off.

p au se W at c h F o l d e r ( )

“Application pauseWatchFolder() method” on page 27

Pauses a current watch-folder process.

e n d W a tc h F o l d e r( )

“Application endWatchFolder() method” on Ends a current watch-folder process. page 23

p u r g e ()

“Application purge() method” on page 28

Purges a targeted type of cached information (replicates Purge options in the Edit menu).

b e g in U n d o G r o u p( )

“Application beginUndoGroup() method” on page 21

Groups the actions that follow it into a single undoable step.

endUndoGroup()

“Application endUndoGroup() method” on page 22

Ends an undo group; needed only when a script contains more than one undo group.

b e g in S u p p r e s s Di al o g s( )

“Application beginSuppressDialogs() method” on page 21

Begins suppression of dialogs in the user interface.

e n dS u p p r e s s Di al o g s ( )

“Application endSuppressDialogs() method” on page 22

Ends suppression of dialogs in the user interface.

s e t M e m o r y Us ag e L i m i ts ()

“Application setMemoryUsageLimits() method” on page 29

Sets memory usage limits as in the Memory & Cache preferences area.

set Sa vePre fe rencesO n Qu it ()

“Application setSavePreferencesOnQuit() method” on page 29

Sets whether preferences are saved when the application is quit.

a ct i vat e( )

“Application activate() method” on page 20 Brings the After Effects main window to the front of the screen.

s c h e d u l e T as k( )

“Application scheduleTask() method” on page 29

Schedules a JavaScript script for delayed execution.

c a n ce l T a s k ()

“Application cancelTask() method” on page 22

Cancels a scheduled task.

p a r se S w at c h F i l e ( )

“Application parseSwatchFile() method” on Loads a color swatch from an Adobe Swatch page 27 Exchange (ASE) file.

Application activate() method a pp .a c ti va te( ) Description

Opens the application main window if it is minimized or iconified, and brings it to the front of the desktop. Parameters

None.

20

JavaScript Reference

Application object

21

Returns

Nothing.

Application beginSuppressDialogs() method a pp .b e g in Su pp r e ss Di a lo g s( ) Description

Begins suppression of script error dialog boxes in the user interface. Use endSuppr essD ialogs() to resume the display of error dialogs. See “Application endSuppressDialogs() method” on page 22. Parameters

None. Returns

Nothing.

Application beginUndoGroup() method a pp .b e g in Un d oG rou p( u n d oS t r in g) Description

Marks the beginning of an undo group, which allows a script to logically group all of its actions as a single undoable action (for use with the Edit > Undo/Redo menu items). Use the e n d U n d o G r o u p ( ) method to mark the end of the group. (See “Application endUndoGroup() method” on page 22.) b e g in U n d o G r o u p( ) and e n d U n d o G r o u p ( ) pairs can be nested. Groups within groups become part of the larger group, and will undo correctly. In this case, the names of inner groups are ignored. Parameters undoString

The text that will appear for the Undo command in the Edit menu (that is, “Undo ”)

Returns

Nothing.

Application buildName attribute a pp .b u il d N am e Description

The name of the build of After Effects being run, used internally by Adobe for testing and troubleshooting. Type

String; read-only.

21

JavaScript Reference

Application object

22

Application buildNumber attribute a pp .b u il d N u m b e r Description

The number of the build of After Effects being run, used internally by Adobe for testing and troubleshooting. Type

Integer; read-only.

Application cancelTask() method a pp .c a n c e l T as k (t a s k I D ) Description

Removes the specified task from the queue of tasks scheduled for delayed execution. Parameters t as kI D

An integer that identifies the task, as returned by ap p .s ch e d u l e T a s k( ) .

Returns

Nothing.

Application endSuppressDialogs() method a pp .e n dS u p p r e s s Di al o g s( al er t ) Description

Ends the suppression of script error dialog boxes in the user interface. Error dialogs are displayed by default; call this method only if b e g i n S u p p r e s s Di al o g s ( ) has previously been called. See “Application beginSuppressDialogs() method” on page 21. Parameters a l ert

Boolean; when true, errors that have occurred following the call to b e g i n S u p p r e ss D ia l o g s ( ) are displayed in a dialog box.

Returns

Nothing.

Application endUndoGroup() method a pp .e n dU n d oG rou p( ) Description

Marks the end of an undo group begun with the a p p . b e g i n U n d o Gr ou p ( ) method. You can use this method to place an end to an undo group in the middle of a script, should you wish to use more than one undo group for a single script. If you are using only a single undo group for a given script, you do not need to use this method; in its absence at the end of a script, the system will close the undo group automatically.

22

JavaScript Reference

Application object

23

Calling this method without having set a b e g in Un d o G r o u p( ) method yields an error. Parameters

None. Returns

Nothing.

Application endWatchFolder() method a pp .e n dW atc h F ol d er( ) Description

Ends Watch Folder mode. Parameters

None Returns

Nothing. See also

“Application watchFolder() method” on page 30 “Application parseSwatchFile() method” on page 27 “Application isWatchFolder attribute” on page 24

Application exitAfterLaunchAndEval attribute a p p . e xi t A f t e r L a u n c h A n d E v a l Description

This attribute is used only when executing a script from a command line on Windows. When the application is launched from the command line, the – r or – s command line flag causes the application to run a script (from a file or from a string, respectively). If this attribute is set to true, After Effects will exit after the script is run; if it is false, the application will remain open. This attribute only has an effect when After Effects is run from the Windows command line. It has no effect in Mac OS. Type

Boolean; read/write.

23

JavaScript Reference

Application object

24

Application exitCode attribute a pp .e xi t C o d e Description

A numeric status code used when executing a script externally (that is, from a command line or AppleScript). • In Windows, the value is returned on the command line when After Effects was launched on the commands

line (using the af te rf x or a f t er f x – m command), and a script was specified with the – r or – s option. • in Mac OS, the value is returned as the AppleScript D oS cr ip t result for each script.

In both Mac OS and Windows, the value is set to 0 (E X I T _ S U C C E S S ) at the beginning of each script evaluation. In the event of an error while the script is running, the script can set this to a positive integer that indicates what error occurred. Type

Integer; read/write. Example a pp . e xi t C o d e = 2 ; / / o n qui t , i f v alue is 2, an er ror h as occurr ed

Application isRenderEngine attribute app.isRenderEngine Description

True if After Effects is running as a render engine. Type

Boolean; read-only.

Application isWatchFolder attribute a pp .i s W at c h F o l d e r Description

True if the Watch Folder dialog box is currently displayed and the application is currently watching a folder for rendering. Type

Boolean; read-only.

Application language attribute a pp .l a n g ua g e Description

The language After Effects is running. Type

A L a n gu ag e enumerated value; read-only. One of:

24

JavaScript Reference

Application object

25

L a n g u a g e . E N GL I SH Language.FRENCH Language.GERMAN L a n g u a g e . I T AL I A N Language.JAPANESE Language.SPANISH Example v a r l a n g = a pp . l a n g u a g e ; if (lang == Language.ENGLISH) a l e r t (" A f t e r E f f e c ts i s r u n n i n g i n E n g l i s h . " ) ; e l s e i f ( l a n g = = L a n g u a g e. F R E N C H ) a l e r t (" A f t e r E f f e c t s i s r un n i n g i n F r e n c h . " ) ; else a l e r t (" A f t e r E f f e c ts i s n o t r u n n i n g i n E n g l i s h o r F r e n c h . " ) ;

Application memoryInUse attribute app.memoryInUse Description

The number of bytes of memory currently used by this application. Type

Number; read-only.

Application newProject() method a pp .n e wP ro jec t () Description

Creates a new project in After Effects, replicating the File > New > New Project menu command. If the current project has been edited, the user is prompted to save it. If the user cancels out of the Save dialog box, the new project is not created and the method returns null. Use a pp . p r o je c t .c l o s e ( C l o s e O p t io n s. D O _ N O T _ SA VE _ C H A N G E S ) to close the current project before opening a new one. See “Project close() method” on page 111. Parameters

None. Returns

A new Project object, or null if no new project is created. Example a pp . p r o j e c t . c l o s e ( C l o s e Op t io n s . D O _ N O T _ S A V E _ C H A N G E S ) ; a pp .n e wP ro jec t () ;

25

JavaScript Reference

Application object

26

Application onError attribute a pp.o n Erro r Description

The name of a callback function that is called when an error occurs. By creating a function and assigning it to this attribute, you can respond to errors systematically; for example, you can close and restart the application, noting the error in a log file if it occurred during rendering. See “RenderQueue render() method” on page 153. The callback function is passed the error string and a severity string. It should not return any value. Type

A function name string, or null if no function is assigned; read/write. Example f u n c t io n e r r ( e r r S t r i n g ) { a l ert (e rrStr ing); } a pp.o n Erro r = e rr;

Application open() method a pp .o pe n () a pp .o pe n (f i l e) Description

Opens a project. Parameters file

Optional. An ExtendScript File object for the project file to open. If not supplied, the method prompts the user to select a project file.

Returns

A new Project object for the specified project, or null if the user cancels the Open dialog box. Example v a r m y _ f il e = n e w F i l e ( " . . /m y _ fol d e r / m y _ t e s t . a e p" ) ; i f (m y _ f i l e . e x i s ts ) { n e w_ p r o j e c t = ap p .o p e n ( m y _ f il e ); i f (n e w_ p r o j e c t) { a l ert (ne w_proj ect. file. n ame ); } }

26

JavaScript Reference

Application object

27

Application parseSwatchFile() method a pp .p ar se Sw a tc h F i l e (file ) Description

Loads color swatch data from an Adobe Swatch Exchange (ASE) file. Parameters file

The file specification, an ExtendScript F i l e object.

Returns

The swatch data, in this format: d at a. m ajo r V e r si o n

The ASE version number.

d at a. m in orVe rs io n d at a. v al u e s

An array of S wa tc h V al u e .

S w at ch V a l u e . t y p e

One of " R G B " , " C M Y K " , " L A B " , " G r a y "

S w at ch V a l u e . r

When t y pe = " R G B " , the color values in the range [0.0..1.0].

S w at ch V a l u e . g

0, 0, 0 is Black.

S w at ch V a l u e . b S w at ch V a l u e . c

When t y pe = " C M YK " , the color values in the range [0.0..1.0].

S w at ch V a l u e . m

0, 0, 0, 0 is White.

S w at ch V a l u e . y S w at ch V a l u e . k S w at ch V a l u e . L

When t y pe = " L A B" , the color values.

S w at ch V a l u e . a

L is in the range [0.0..1.0]. a and b are in the range [-128.0..+128.0]

S w at ch V a l u e . b S w a t ch V a l u e . v al u e

0, 0, 0 is Black. When t y pe = " G ra y " , the value range is [0.0..1.0]. 0.0 is Black.

Application pauseWatchFolder() method a pp .p au se W at c h F o l d e r (p au se ) Description

Pauses or resumes the search of the target watch folder for items to render. Parameters p au se

True to pause, false to resume.

Returns

Nothing.

27

JavaScript Reference

Application object

28

See also

“Application isWatchFolder attribute” on page 24 “Application watchFolder() method” on page 30 “Application endWatchFolder() method” on page 23

Application project attribute a pp .p r o j e c t Description

The project that is currently loaded. See “Project object” on page 109. Type

Project object; read-only.

Application purge() method a pp .p u r g e ( t a r ge t) Description

Purges unused data of the specified types from memory. Replicates the Purge options in the Edit menu. Parameters t arg e t

The type of elements to purge from memory; a Pu rgeTa rget enumerated value, one of:

• P u r g e T a r g e t . A L L _ C A C H E S : Purges all data that After Effects has cached to physical memory. • Pur g eTa rget .U N DO _ C ACH E S : Purges all data saved in the undo cache. • Pur g e T a r g e t . S N A P S HO T _ C A C HE S : Purges all data cached as comp/layer snapshots. • P u r g e T a r g e t . I M A G E _ C A C H E S : Purges all saved image data. Returns

Nothing.

Application quit() method a pp .q ui t( ) Description

Quits the After Effects application. Parameters

None. Returns

Nothing.

Application saveProjectOnCrash attribute a pp .s av e P r o je c tO n C r a sh

28

JavaScript Reference

Application object

29

Description

When true (the default), After Effects attempts to display a dialog box that allows you to save the current project if an error causes the application to quit unexpectedly. Set to false to suppress this dialog box and quit without saving. Type

Boolean; read/write.

Application scheduleTask() method a pp .s c h e du le T as k (s t r i n g T oE x e c u t e, de l a y, r e p ea t) Description

Schedules the specified JavaScript for delayed execution. Parameters s tr in g T o E x e c u t e

A string containing JavaScript to be executed.

delay

A number of milliseconds to wait before executing the JavaScript. A floating-point value.

re pe at

When true, execute the script repeatedly, with the specified delay between each execution. When false the script is executed only once.

Returns

Integer, a unique identifier for this task, which can be used to cancel it with a p p. c anc el Ta sk ( ) .

Application setMemoryUsageLimits() method a pp .s e t M e m o r y Us ag e L i m i ts (i m ag eC a ch eP e rce n t ag e, m ax i m u m M e m o r y P e r c en t a g e) Description

Sets memory usage limits as in the Memory & Cache preferences area. For both values, if installed RAM is less than a given amount (n gigabytes), the value is a percentage of the installed RAM, and is otherwise a percentage of n. The value of n is: 2 Gb for Win32, 4 Gb for Win64, 3.5 Gb for Mac OS. Parameters i m a g eC a ch eP erc e n ta g e

Floating-point value, the percentage of memory assigned to image cache.

m a x im u m M e m o r y P e r c e n t a g e

Floating-point value, the maximum usable percentage of memory.

Returns

Nothing.

Application setSavePreferencesOnQuit() method a pp .s e t S ave Pr e fe r e n c e sO n Q u i t(do Save ) Description

Set or clears the flag that determines whether preferences are saved when the application is closed.

29

JavaScript Reference

Application object

30

Parameters d o S av e

When true, preferences saved on quit, when false they are not.

Returns

Nothing.

Application settings attribute a pp .s e t ti n g s Description

The currently loaded settings. See “Settings object” on page 162. Type

Settings object; read-only.

Application version attribute a pp .v ers i on Description

An alphanumeric string indicating which version of After Effects is running. Type

String; read-only. Example v a r v e r = a pp . v e r s i o n ; a l e r t ( " T h is m a c h i n e i s r un n i n g v e r s io n " + v e r + " o f A ft e r E f f e c t s . " ) ;

Application watchFolder() method a pp .w at c h F o l d e r (f o l d e r _o b j e c t _ t o _w a t c h) Description

Starts a Watch Folder (network rendering) process pointed at a specified folder. Parameters folder_object_to_watch

The ExtendScript Folder object for the folder to watch.

Returns

Nothing. Example var theFolder = new Folder(“c:/tool”); a pp .w at c h F o l d e r (t h e F o ld e r );

30

JavaScript Reference

Application object

31

See also

“Application endWatchFolder() method” on page 23 “Application parseSwatchFile() method” on page 27 “Application isWatchFolder attribute” on page 24

31

JavaScript Reference

AVItem object

32

AVItem object a pp .p r o j e c t .i te m (i nd e x) Description

The AVitem object provides access to attributes and methods of audio/visual files imported into After Effects. • AVItem is a subclass of Item. All methods and attributes of Item, in addition to those listed below, are

available when working with AVItem. See “Item object” on page 76. • AVItem is the base class for both CompItem and FootageItem, so AVItem attributes and methods are also

available when working with CompItem and FootageItem objects. See “CompItem object” on page 52 and “FootageItem object” on page 64. Attributes Attribute

Reference

Description

name

“AVItem name attribute” on page 35

The name of the object as shown in the Project panel.

w i dt h

“AVItem width attribute” on page 38

The width of the item.

h ei g ht

“AVItem height attribute” on page 34

The height of the item.

p i xe l A s pe c t

“AVItem pixelAspect attribute” on page 35

The pixel aspect ratio of the item.

f r am e R a te

“AVItem frameRate attribute” on page 34

The frame rate of the item.

f ram eDu rat ion

“AVItem frameDuration attribute” on page 33 The frame duration for the item.

d u r a ti o n

“AVItem duration attribute” on page 33

The total duration of the item.

usePro xy

“AVItem useProxy attribute” on page 38

When true, a proxy source is used for this item.

proxySource

“AVItem proxySource attribute” on page 35

The FootageItem object used as proxy for the item.

t im e

“AVItem time attribute” on page 38

Current time of the item.

usedIn

“AVItem usedIn attribute” on page 38

The CompItem objects that use this item.

h as Vi de o

“AVItem hasVideo attribute” on page 34

When true, the item has a video component.

h as Aud i o

“AVItem hasAudio attribute” on page 34

When true, the item has an audio component.

f o o t a g e Mi s s i n g

“AVItem footageMissing attribute” on page 33

When true, the item cannot be found or is a placeholder.

Methods Method

Reference

Description

s e t Pr o x y ()

“AVItem setProxy() method” on page 36

Sets a proxy for the item.

s et Pr o x y W it hS eq ue n c e()

“AVItem setProxyWithSequence() method” on page 37

Sets a sequence as a proxy for the item.

s et Pr o x y W it hS o l i d ()

“AVItem setProxyWithSolid() method” on page 37

Sets a solid as a proxy for the item.

s etP rox yWi thP l acehold er() “AVItem setProxyWithPlaceholder() method” on Sets a placeholder as a proxy for the item. page 36

s e t Pr o x y T o N o n e ()

“AVItem setProxyToNone() method” on page 36 Removes the proxy for the item.

32

JavaScript Reference

AVItem object

33

AVItem duration attribute a pp .p r o j e c t .i te m (i nd e x) .d u r a ti o n Description

Returns the duration, in seconds, of the item. Still footage items have a duration of 0. • In a CompItem, the value is linked to the d u r a ti o n of the composition, and is read/write. • In a FootageItem, the value is linked to the du rat i on of the m a i n So u r c e object, and is read-only. Type

Floating-point value in the range [0.0..10800.0]; read/write for a CompItem; otherwise, read-only.

AVItem footageMissing attribute a pp .p r o j e c t .i te m (i nd e x) .f o o t a g e Mi s s i n g Description

When true, the AVItem is a placeholder, or represents footage with a source file that cannot be found. In this case, the path of the missing source file is in the m i s s i n g F o ot a g e P a t h attribute of the footage item’s source-file object. See “FootageItem mainSource attribute” on page 65 and “FileSource missingFootagePath attribute” on page 60. Type

Boolean; read-only.

AVItem frameDuration attribute a pp .p r o j e c t .i te m (i nd e x) .f ram eDu rat ion Description

Returns the length of a frame for this AVItem, in seconds. This is the reciprocal of f ra m eRa te . When set, the reciprocal is automatically set as a new f r am e R a te value. This attribute returns the reciprocal of the f r am e R a te , which may not be identical to a value you set, if that value is not evenly divisible into 1.0 (for example, 0.3). Due to numerical limitations, (1 / (1 / 0.3)) is close to, but not exactly, 0.3. If the AVItem is a FootageItem, this value is linked to the m a i n S o u r ce , and is read-only. To change it, set the c o n f o r m F r a m e R a t e of the m ai n S ourc e object. This sets both the f rame Rat e and fr ame Dur at io n of the

FootageItem. Type

Floating-point value in the range [1/99.. 1.0]; read-only for a FootageItem, otherwise read/write.

33

JavaScript Reference

AVItem object

34

AVItem frameRate attribute a pp .p r o j e c t .i te m (i nd e x) .f r am e R a te Description

The frame rate of the AVItem, in frames-per-second. This is the reciprocal of the f rame Dur at io n . When set, the reciprocal is automatically set as a new f ram eDu rat ion value. • In a CompItem, the value is linked to the f r am e R a te of the composition, and is read/write. • In a FootageItem, the value is linked to the fr ame Rat e of the m a i n S o u r c e object, and is read-only. To change

it, set the c o n f o r m F r am e R a t e of the m ai n S ourc e object. This sets both the f ra m eRa te and f r a m e D u r a ti o n of the FootageItem. Type

Floating-point value in the range [1.0..99.0]; read-only for a FootageItem, otherwise read/write.

AVItem hasAudio attribute a pp .p r o j e c t .i te m (i nd e x) .h a s A u d i o Description

When true, the AVItem has an audio component. • In a CompItem, the value is linked to the composition. • In a FootageItem, the value is linked to the m a i n S o u r c e object. Type

Boolean; read-only.

AVItem hasVideo attribute a pp .p r o j e c t .i te m (i nd e x) .ha sVide o Description

When true, the AVItem has an video component. • In a CompItem, the value is linked to the composition. • In a FootageItem, the value is linked to the m a i n S o u r c e object. Type

Boolean; read-only.

AVItem height attribute a pp .p r o j e c t .i te m (i nd e x) .he ight Description

The height of the item in pixels. • In a CompItem, the value is linked to the composition, and is read/write.

34

JavaScript Reference

AVItem object

35

• In a FootageItem, the value is linked to the m a i n S o u r c e object, and is read/write only if the m a i n So u r c e

object is a SolidSource. Otherwise, it is read-only. Type

Integer in the range [1...30000]; read/write, except as noted.

AVItem name attribute a pp .p r o j e c t .i te m (i nd e x) .n a m e Description

The name of the item, as shown in the Project panel. • In a FootageItem, the value is linked to the m a i n S o u rc e object. If the m a in So u r c e object is a FileSource, this

value controls the display name in the Project panel, but does not affect the file name. Type

String; read/write.

AVItem pixelAspect attribute a pp .p r o j e c t .i te m (i nd e x) .p i xe l A s pe ct Description

The pixel aspect ratio of the item. • In a CompItem, the value is linked to the composition. • In a FootageItem, the value is linked to the m a i n S o u r c e object.

Certain pi x e l A s p e c t values are specially known to After Effects, and are stored and retrieved with perfect accuracy. These are the set {1, 0. 9, 1. 2, 1. 07, 1 .42 , 2, 0. 95, 1 .9} . Other values may show slight rounding errors when you set or get them; that is, the value you retrieve after setting may be slightly different from the value you supplied. Type

Floating-point value, in the range [0.01..100.0]; read/write.

AVItem proxySource attribute a pp .p r o j e c t .i te m (i nd e x) .p r o x y S o u r ce Description

The FootageSource being used as a proxy. The attribute is read-only; to change it, call any of the AVItem methods that change the proxy source: se tP rox y ( ) , s et P rox y Wi th Se qu ence( ) , se tP rox y Wi t hS ol i d( ) , or s et Pr o x y W it hP l ac e ho l d er( ) . Type

FootageSource object; read-only.

35

JavaScript Reference

AVItem object

36

AVItem setProxy() method a pp .p r o j e c t .i te m (i nd e x) .s et Pro x y( fil e) Description

Sets a file as the proxy of this AVItem. Loads the specified file into a new FileSource object, sets this as the value of the p r o x y S o u r c e attribute, and sets u s e P r o x y to true. It does not preserve the interpretation parameters, instead using the user preferences. If the file has an unlabeled alpha channel, and the user preference says to ask the user what to do, the method estimates the alpha interpretation, rather than asking the user. This differs from setting a FootageItem's main source, but both actions are performed as in the user interface. Parameters file

An ExtendScript File object for the file to be used as a proxy.

Returns

None.

AVItem setProxyToNone() method a pp .p r o j e c t .i te m (i nd e x) . s e t P r o x yT o N o n e ( ) Description

Removes the proxy from this AVItem, sets the value of p r o xy S o u r c e to null, and sets the value of u se Pr ox y to f al s e . Parameters

None. Returns

Nothing.

AVItem setProxyWithPlaceholder() method a pp .p r o j e c t .i te m (i nd e x) . s e t Pro x yW it h P l a c e h o l d e r ( n am e , w idt h , h e igh t , f r am e Ra t e, du rat ion ) Description

Creates a PlaceholderSource object with specified values, sets this as the value of the p r o xy S o u r c e attribute, and sets u se Pr ox y to true. It does not preserve the interpretation parameters, instead using the user preferences. NOTE: There is no direct way to set a placeholder as a proxy in the user interface; this behavior occurs when a proxy has been set and then moved or deleted. Parameters name

A string containing the name of the new object.

w i dt h, h eight

The pixel dimensions of the placeholder, an integer in the range [4..30000].

f r am e R a te

The frames-per-second, an integer in the range [1..99].

36

JavaScript Reference

AVItem object

37

The total length in seconds, up to 3 hours. An integer in the range [0.0..10800.0].

d u r a ti o n Returns

Nothing.

AVItem setProxyWithSequence() method a pp .p r o j e c t .i te m (i nd e x) .set Pro x yW it hSeq uen ce ( f i l e , f o r ce A l ph a b e t i c a l ) Description

Sets a sequence of files as the proxy of this AVItem, with the option of forcing alphabetical order. Loads the specified file sequence into a new FileSource object, sets this as the value of the pr ox y So urc e attribute, and sets usePro xy to true. It does not preserve the interpretation parameters, instead using the user preferences. If any file has an unlabeled alpha channel, and the user preference says to ask the user what to do, the method estimates the alpha interpretation, rather than asking the user. Parameters file

An ExtendScript File object for the first file in the sequence.

f o r c e A l ph ab e t i c al

When true, use the “Force alphabetical order” option.

Returns

Nothing.

AVItem setProxyWithSolid() method a pp .p r o j e c t .i te m (i nd e x) .s et Pro x yW it hSolid (c ol o r, na m e , w id t h , h ei gh t , p ix el A s p ec t) Description

Creates a SolidSource object with specified values, sets this as the value of the p r o xy S o u r c e attribute, and sets usePro xy to true. It does not preserve the interpretation parameters, instead using the user preferences. NOTE: There is no way, using the user interface, to set a solid as a proxy; this feature is available only through scripting. Parameters color

The color of the solid, an array of 3 floating-point values, [R, G, B], in the range [0.0..1.0].

name

A string containing the name of the new object.

w i dt h, h eight

The pixel dimensions of the placeholder, an integer in the range [1...30000].

p i xe l A s pe c t

The pixel aspect of the solid, a floating-point value in the range [0.01... 100.0].

Returns

Nothing.

37

JavaScript Reference

AVItem object

38

AVItem time attribute a pp .p r o j e c t .i te m (i nd e x) .t im e Description

The current time of the item when it is being previewed directly from the Project panel. This value is a number of seconds. Use the global method t im eToCu rren tForm at to convert it to a string value that expresses the time in terms of frames; see “timeToCurrentFormat() global function” on page 17. It is an error to set this value for a FootageItem whose m a in S o u rc e is still (ite m .m a in S o u rc e . i s S t i l l is true). Type

Floating-point value; read/write.

AVItem usedIn attribute a pp .p r o j e c t .i te m (i nd e x) .u s e d I n Description

All the compositions that use this AVItem. Note: Upon retrieval, the array value is copied, so it is not automatically updated. If you get this value, then add this item into another composition, you must retrieve the value again to get an array that includes the new item. Type

Array of CompItem objects; read-only.

AVItem useProxy attribute a pp .p r o j e c t .i te m (i nd e x) .u s e P r o x y Description

When true, a proxy is used for the item. It is set to true by all the S e tP r o x y methods, and to false by the S e t Pr o x y T o N o n e () method. Type

Boolean; read/write.

AVItem width attribute a pp .p r o j e c t .i te m (i nd e x) .w i dt h Description

The width of the item, in pixels. • In a CompItem, the value is linked to the composition, and is read/write. • In a FootageItem, the value is linked to the m a i n S o u r c e object, and is read/write only if the m a i n So u r c e

object is a SolidSource. Otherwise, it is read-only. Type

Integer in the range [1...30000]; read/write, except as noted.

38

JavaScript Reference

AVLayer object

39

AVLayer object a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) Description

The AVLayer object provides an interface to those layers that contain AVItem objects (Comp layers, footage layers, solid layers, text layers, and sound layers). • AVLayer is a subclass of Layer. All methods and attributes of Layer, in addition to those listed below, are

available when working with AVLayer. See “Layer object” on page 83. • AVLayer is a base class for TextLayer, so AVLayer attributes and methods are available when working with

TextLayer objects. See “TextLayer object” on page 172. AE Properties

Different types of layers have different AE properties. AVLayer has the following properties and property groups: Ma r k e r T i m e R em a p Motion Trackers M a s ks E f f e c ts T r a n s f o rm A n ch o r P o i n t P o s i ti o n S c al e O r i e n t a t io n X R o t at io n Y R o t at io n Ro ta ti on O pa c i ty Layer Styles M a t e r i a l O pt i o n s Ca st s Sh ad ow s L i g h t T r a n s m is s io n Ac c e pt s S h ad ow s Ac c e pt s Li gh ts Am bie n t D if f u s e S p e c u l ar Shininess M eta l Au dio Au dio L evels Example

If the first item in the project is a CompItem, and the first layer of that CompItem is an AVLayer, the following sets the layer qua l i ty , s t art T i m e , and in Poi n t . va r f ir st L ay e r = a p p. pro jec t .i te m (1 ). l ay er( 1) ; f i rst L a ye r.q ua li t y = L a y erQ ua li t y .BE ST ; first L a ye r.sta rt Tim e = 1 ;

39

JavaScript Reference

AVLayer object

40

f i r s t L a ye r. i n P o i n t = 2 ; Attributes Attribute

Reference

Description

s o u r ce

“AVLayer replaceSource() method” on page 47

The source item for this layer.

isNameFromSource

“AVLayer isNameFromSource attribute” When true, the layer has no expressly set name, on page 46 but contains a named source.

h ei g ht

“AVLayer height attribute” on page 46

The height of the layer.

w i dt h

“AVLayer width attribute” on page 49

The width of the layer.

a ud io E n ab l ed

“AVLayer audioEnabled attribute” on page 42

When true, the layer's audio is enabled.

m o t i o n B lu r

“AVLayer motionBlur attribute” on page 46

When true, the layer's motion blur is enabled.

effectsActive

“AVLayer effectsActive attribute” on page 44

When true, the layer's effects are active.

a d j us t m e n t L a y e r

“AVLayer adjustmentLayer attribute” on When true, this is an adjustment layer. page 41

gu ideLa y er

“AVLayer frameBlendingType attribute” When true, this is a guide layer. on page 45

t hre eDLa yer

“AVLayer threeDLayer attribute” on page 48

When true, this is a 3D layer.

t hre eDP er C ha r

“AVLayer threeDPerChar attribute” on page 48

When true, 3D is set on a per-character basis in this text layer.

c a n Se tC o ll a p s e T ra n s f o r m a t i o n

“AVLayer calculateTransformFromPoints() method” on page 43

When true, it is legal to change the value of c o l l a ps e T r an s f o r m a t i o n .

c o l l a p s e T r an s f o r m a t i o n

“AVLayer collapseTransformation attribute” on page 44

When true, collapse transformation is on.

f r am e Bl e n di n g

“AVLayer frameBlending attribute” on page 45

When true, frame blending is enabled.

f r am e Bl e n di n g T y p e

“AVLayer frameBlendingType attribute” The type of frame blending for the layer. on page 45

c a n Se tT i m e R em a p E n ab l e d

“AVLayer canSetTimeRemapEnabled attribute” on page 44

t im eRem ap E n ab l e d

“AVLayer timeRemapEnabled attribute” When true, time remapping is enabled on this on page 48 layer.

h as Aud i o

“AVLayer hasAudio attribute” on page 45

When true, the layer contains an audio component.

a ud io Ac ti ve

“AVLayer audioActive attribute” on page 41

When true, the layer's audio is active at the current time.

b l e n d i n g M o de

“AVLayer blendingMode attribute” on page 42

The blending mode of the layer.

p r e s e r v e T r a n s p a re n c y

“AVLayer preserveTransparency attribute” on page 47

When true, preserve transparency is enabled.

t rac k M a tt eT y p e

“AVLayer trackMatteType attribute” on page 49

if layer has a track matte, specifies the way it is applied.

When true, it is legal to change the value of t i m e R e m a p E n a b le d .

40

JavaScript Reference

AVLayer object

41

Attribute

Reference

Description

i s T r a c k M a tt e

“AVLayer isTrackMatte attribute” on page 46

When true, this layer is being used as a track matte for the layer below it.

h as T rac k Ma tt e

“AVLayer hasTrackMatte attribute” on page 45

When true, the layer above is being used as a track matte on this layer.

q ual i t y

“AVLayer quality attribute” on page 47

The layer quality setting.

a uto Ori e n t

“AVLayer autoOrient attribute” on page 42

The type of automatic orientation for the layer.

Methods Method

Reference

Description

a ud io Ac ti ve AtT im e ()

“AVLayer audioActiveAtTime() method” Reports whether this layer's audio is on page 42 active at a given time.

calculateTransformFromPoints()

“AVLayer calculateTransformFromPoints() method” on page 43

Calculates a transformation from a set of points in this layer.

re pla c eSource ()

“AVLayer replaceSource() method” on page 47

Changes the source item for this layer.

s o u r ce R e c t A t T im e ()

“AVLayer sourceRectAtTime() method” on page 48

Retrieves the source rectangle of a layer.

AVLayer adjustmentLayer attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) . a d j u s t m e n t L a y e r Description

True if the layer is an adjustment layer. Type

Boolean; read/write.

AVLayer audioActive attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .a u d i o A c t iv e Description

True if the layer's audio is active at the current time. For this value to be true, a ud io E n ab l ed must be true, no other layer with audio may be soloing unless this layer is soloed too, and the time must be between the i n P o i n t and o u t P o i n t of this layer. Type

Boolean; read-only.

41

JavaScript Reference

AVLayer object

42

AVLayer audioActiveAtTime() method a pp .p r o j e c t .i te m (i nd e x) .laye r( inde x) . a ud i o A c t i v e A t T i m e ( t i m e ) Description

Returns true if this layer's audio will be active at the specified time. For this method to return true, a ud i oE n a b le d must be true, no other layer with audio may be soloing unless this layer is soloed too, and the time must be between the i n P o i n t and o u t P o i n t of this layer. Parameters t im e

The time, in seconds. A floating-point value.

Returns

Boolean.

AVLayer audioEnabled attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .a u d i o E n a bl e d Description

When true, the layer's audio is enabled. This value corresponds to the audio toggle switch in the Timeline panel. Type

Boolean; read/write.

AVLayer autoOrient attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .a u t o Or i e n t Description

The type of automatic orientation to perform for the layer. Type

An A u t o O ri e n t T y p e enumerated value; read/write. One of: A u t o O ri e n tT y p e . A L O N G _ P A T H A u t o O r i e n tT y p e . C A ME R A _ O R _ PO I N T _ O F _ I N T E R E ST Au toO ri en tT y p e.N O _ AU T O_ O R I E N T

AVLayer blendingMode attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .b l e n di n g M o d e Description

The blending mode of the layer. Type

A Blend i ngMo de enumerated value; read/write. One of:

42

JavaScript Reference

AVLayer object

43

B le n ding Mode.A DD B le n d in g Mod e.A L P HA_ A DD B le n d in g M o d e . C L A S S I C _ C O L O R _ B UR N B le n d in g M o d e . C L A S S I C _ C O L O R _ D O D G E B le n d i n g M o d e . C L A S S I C _ D I F F E R E N C E B le n d in g M o d e . C OL O R B le n d in g M o d e . C OL O R _ B UR N B le n d in g M o d e . C OL O R _ D O D G E B le n d in g M o d e . D A N C I N G _ D I S S O L V E B le n d i n g M o d e . D AR K E N B le n d ing Mod e.D ARK E R_COL OR B le n d i n g M o d e . D I F F E R E N C E B le n d in g M o d e . D I S S O L V E B le n di n g M o d e . E XCL U S I O N B le n d in g Mod e.H AR D_ L I G H T B le n di n g M o d e . H AR D_ M I X B le n ding Mode.H UE B le n d i n g M o d e . L I G H T E N B le n d in g M o d e . L I G H T E R _ C O L O R B le n d in g M o d e . L I N E A R _ B U R N B le n di n g M o d e . L I N E A R _ D O D G E B le n d i n g M o d e . L I N E A R _ L I GH T B le n ding Mode.L UMIN E SC ENT_PREMU L B le n d i n g M o d e . L UM I N OS I T Y B le n d in g M o d e . M UL T I PL Y B le n ding Mode.N ORM AL B le n d in g M o d e . O V E RL A Y B le n d in g M o d e . P I N _ L I GH T B le n d in g M o d e . S A T U R A T I O N B le n d i n g M o d e . S C R E E N B le n d in g M o d e . S I L H O U E T E _ A L P H A B le n d in g M o d e . S I L H O U E T T E _ L U M A B le n d in g M o d e . S O F T _ L I G H T B le n d in g M o d e . S T E N C I L _ A L P H A B le n d in g M o d e . S T E N C I L _ L U M A B le n d in g M o d e . V I V I D _ L I G H T

AVLayer calculateTransformFromPoints() method a pp .p r o j e c t .i te m (i nd e x) .laye r( inde x) .c a l c u l at e T r a n s for m F r o m P o i n t s( p o i n t To p L e f t , p o i n t T o p R ig h t , p o i n t B ottomRig ht ) Description

Calculates a transformation from a set of points in this layer. Parameters p o i n tT o pL e f t

The top left point coordinates in the form of an array, [ x, y , z ] .

p o i n tT o pR ig h t

The top right point coordinates in the form of an array, [x , y, z] .

p oi n tB ot tom Ri g ht

The bottom right point coordinates in the form of an array, [x , y , z] .

43

JavaScript Reference

AVLayer object

44

Returns

An Object with the transformation properties set. Example va r new L a y er = comp.layer s. add(ne wFoo ta ge); ne wLa y er. thr eeD Layer = t rue ; n e w L a y e r . b le n d in g M o d e = B l e n d i n g M o d e . A L P H A _ A D D ; va r t rans f orm = new L aye r.calcu late Tra n sf orm F romP oints ( tl, t r, bl) ; for(va r se l in tra n sfor m) { n e w L a y e r . tr a n s f o r m [ s e l ] .s e t V al u e ( tr a n s for m [s e l ] ) ; }

AVLayer canSetCollapseTransformation attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) . c a n S e t C ol l a p s e T r a n sf o r m a ti o n Description

True if it is legal to change the value of the c o l l a p s e T r a n s f o r m a t io n attribute on this layer. Type

Boolean; read-only.

AVLayer canSetTimeRemapEnabled attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) . c a n S e t T im e R e m a p E n a b l e d Description

True if it is legal to change the value of the time RemapE nabled attribute on this layer. Type

Boolean; read-only.

AVLayer collapseTransformation attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .c o ll a ps e T r an s f o r m a ti o n Description

True if collapse transformation is on for this layer. Type

Boolean; read/write.

AVLayer effectsActive attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) . e ff e c t sA c t i v e Description

True if the layer's effects are active, as indicated by the icon next to it in the user interface.

44

JavaScript Reference

AVLayer object

45

Type

Boolean; read/write.

AVLayer frameBlending attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .f r a m e B l e n d in g Description

True if frame blending is enabled for the layer. Type

Boolean; read-only.

AVLayer frameBlendingType attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .f r a m e B l e n d in g T y pe Description

The type of frame blending to perform when frame blending is enabled for the layer. Type

A F r a m e B l e n d i n g T y p e enumerated value; read/write. One of: F r a m e B l e n d in g T y pe . F R A M E _ M I X F r a m e B l e n d in g T y pe . N O _ F R A M E _ B L E N D F r a m e B l e n d in g T y pe . P I X E L _ M O T I O N

AVLayer guideLayer attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .g u i de L ay e r Description

True if the layer is a guide layer. Type

Boolean; read/write.

AVLayer hasAudio attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .h as A u d i o Description

True if the layer contains an audio component, regardless of whether it is audio-enabled or soloed. Type

Boolean; read-only.

AVLayer hasTrackMatte attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .h as T r a c kM a tt e

45

JavaScript Reference

AVLayer object

46

Description

True if the layer in front of this layer is being used as a track matte on this layer. When true, this layer's t rac k M a t t e T y p e value controls how the matte is applied. Type

Boolean; read-only.

AVLayer height attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .h e i g ht Description

The height of the layer in pixels. Type

Floating-point; read-only.

AVLayer isNameFromSource attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .i s N am e F r o m S o u r c e Description

True if the layer has no expressly set name, but contains a named source. In this case, l a y e r. n am e has the same value as l a y e r .s ource .name . False if the layer has an expressly set name, or if the layer does not have a source. Type

Boolean; read-only.

AVLayer isTrackMatte attribute a pp .p r o j e c t .i te m (i nd e x) l a y e r (i nd e x) .i s T r ac k M a tt e Description

True if this layer is being used as a track matte for the layer behind it. Type

Boolean; read-only.

AVLayer motionBlur attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .m o ti o n B l u r Description

True if motion blur is enabled for the layer. Type

Boolean; read/write.

46

JavaScript Reference

AVLayer object

47

AVLayer preserveTransparency attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .p r e se r v e T r an s p ar e n c y Description

True if preserve transparency is enabled for the layer. Type

Boolean; read/write.

AVLayer quality attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .q u a l it y Description

The quality with which this layer is displayed. Type

A L a y e r Qu a l i t y enumerated value; read/write. One of: LayerQuality.BEST L a y e r Q u a l i t y . D R AF T LayerQuality.WIREFRAME

AVLayer replaceSource() method a pp .p r o j e c t .i te m (i nd e x) .laye r( inde x) .r ep l ac eS our c e ( ne wS o ur ce , f ix Ex p re s si on s ) Description

Replaces the source for this layer. Parameters newSource

The new source AVItem object.

f i xE xp re ss i on s

T rue to adjust expressions for the new source, fa l se otherwise. Note that this feature can be resource-intensive; if replacing a large amount of footage, do this only at the end of the operation. See also “Project autoFixExpressions() method” on page 110.

Returns

Nothing.

AVLayer source attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .s o u r c e Description

The source AVItem for this layer. The value is null in a Text layer. Use AV Layer .re pla ce S ource () to change the value. Type

AVItem object; read-only.

47

JavaScript Reference

AVLayer object

48

AVLayer sourceRectAtTime() method a pp .p r o j e c t .i te m (i nd e x) .laye r( inde x) . s o u rc e R e ct A t T i m e ( t i m e T , e x t e n t s ) Description

Retrieves the rectangle bounds of the layer at the specified time index, corrected for text or shape layer content. Use, for example, to write text that is properly aligned to the baseline. Parameters t im eT

The time index, in seconds. A floating-point value.

e x t en t s

T rue to include the extents, fa l se otherwise. Extents apply to shape layers, increasing the size of the layer bounds as necessary.

Returns

A JavaScript object with four attributes, [ to p, left , w i dt h, heigh t] .

AVLayer threeDLayer attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x).t hr eeD Layer Description

True if this is a 3D layer. Type

Boolean; read/write.

AVLayer threeDPerChar attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x).t hr eeD Pe rCha r Description

True if this layer has the Enable Per-character 3D switch set, allowing its characters to be animated off the plane of the text layer. Applies only to text layers. Type

Boolean; read/write.

AVLayer timeRemapEnabled attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) . t i m e R e m a p E n a b l e d Description

True if time remapping is enabled for this layer. Type

Boolean; read/write.

48

JavaScript Reference

AVLayer object

49

AVLayer trackMatteType attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .t ra ck Ma tt eT y p e Description

If this layer has a track matte, specifies the way the track matte is applied. Type

A T r a c k M a t t e T y p e enumerated value; read/write. One of: TrackM atte Type .ALPHA TrackM atte Type .ALPHA_INVER TED TrackM atte Type .LUM A TrackM atte Type .LUM A_INV E RTED TrackMatteType.NO_TRACK_MATTE

AVLayer width attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) .w i d th Description

The width of the layer in pixels. Type

Floating-point; read-only.

49

JavaScript Reference

CameraLayer object

50

CameraLayer object a pp .p r o j e c t .i te m (i nd e x) .l a y e r( in de x) Description

The CameraLayer object represents a camera layer within a composition. Create it using the LayerCollection object’s ad d C am e r a method; see “LayerCollection addCamera() method” on page 93. It can be accessed in an item’s layer collection either by index number or by a name string. • CameraLayer is a subclass of Layer. All methods and attributes of Layer are available when working with

CameraLayer. See “Layer object” on page 83. AE Properties

CameraLayer defines no additional attributes, but has different AE properties than other layer types. It has the following properties and property groups: Ma r k e r T r a n s f o rm P oi n t o f In ter es t P o s i ti o n S c al e O r i e n t a t io n X R o t at io n Y R o t at io n Ro ta ti on O pa c i ty C a m e r a O p t io n s Zoom D ep th of F i el d F o c u s D is t a n c e B l ur L ev el

50

JavaScript Reference

Collection object

51

Collection object Like an array, a collection associates a set of objects or values as a logical group and provides access to them by index. However, most collection objects are read-only. You do not assign objects to them yourself—their contents update automatically as objects are created or deleted. The index numbering of a collection starts with 1, not 0. Objects Object

Reference

Description

I t e m C o l le c t i o n

“ItemCollection object” on page 79 All of the items (imported files, folders, solids, and so on) found in the Project panel.

L a y e r C o ll e c t i o n

“LayerCollection object” on page 92

OMCollection

“OMCollection object” on page 104 All of the Output Module items in the project.

R Q I t e m C o l l e ct i o n

“RenderQueueItem object” on page 155

All of the layers in a composition.

All of the render-queue items in the project.

Attributes leng th

The number of objects in the collection.

Methods []

Retrieves an object in the collection by its index number. The first object is at index 1.

51

JavaScript Reference

CompItem object

52

CompItem object a pp .p r o j e c t .i te m (i nd e x) a pp .p r o j e c t .i te m s[i n d ex ] Description

The CompItem object represents a composition, and allows you to manipulate and get information about it. Access the objects by position index number in a project’s i t e m collection. • CompItem is a subclass of AVItem, which is a subclass of Item. All methods and attributes of AVItem and

Item, in addition to those listed below, are available when working with CompItem. See “AVItem object” on page 32 and “Item object” on page 76. Example

Given that the first item in the project is a CompItem, the following code displays two alerts. The first shows the number of layers in the CompItem, and the second shows the name of the last layer in the CompItem. va r f ir st C omp = ap p. pr oje ct .i t em( 1) ; a l e r t (" n u m b e r o f l a y e r s i s " + f i r s t C o m p . n u m L a y e r s ) ; a l ert (" n a m e of l as t l a y er i s " + f i rs t C o m p. la y er( f ir st C o m p .n u m L ay e rs ).n am e) ; Attributes Attribute

Reference

f ram eDu rat ion

“CompItem frameDuration attribute” on The duration of a single frame. page 55

w o r k A r e aS ta r t

“CompItem workAreaStart attribute” on The work area start time. page 59

w o r k A r e aD ur a t i o n

“CompItem workAreaDuration attribute” on page 58

The work area duration.

numLayers

“CompItem numLayers attribute” on page 56

The number of layers in the composition.

h id eS hy L a y ers

“CompItem hideShyLayers attribute” on When true, shy layers are visible in the Timeline panel. page 55

m o t i o n B lu r

“CompItem motionBlur attribute” on page 56

When true, motion blur is enabled for this composition.

d r a ft 3 d

“CompItem draft3d attribute” on page 54

When true, Draft 3D mode is enabled for the Composition panel.

f r am e Bl e n di n g

“CompItem frameBlending attribute” on page 54

When true, time filtering is enabled for this composition.

preser veNe st edFrame Rat e “CompItem preserveNestedFrameRate attribute” on page 56

preserveNestedResolution “CompItem preserveNestedResolution attribute” on page 57

Description

When true, the frame rate of nested compositions is preserved. When true, the resolution of nested compositions is preserved.

bgColor

“CompItem bgColor attribute” on page 53

The background color of the composition.

a ct i veC a m er a

“CompItem activeCamera attribute” on page 53

The current active camera layer.

displayStartTime

“CompItem displayStartTime attribute” on page 54

Changes the display of the start time in the Timeline panel.

52

JavaScript Reference

CompItem object

53

Attribute

Reference

Description

re so lu tionFa ctor

“CompItem resolutionFactor attribute” on page 57

The factor by which the x and y resolution of the Composition panel is downsampled.

s h u t te r A n g le

“CompItem shutterAngle attribute” on page 58

The camera shutter angle.

s h u t te r P h a se

“CompItem shutterPhase attribute” on page 58

The camera shutter phase.

l a ye r s

“CompItem layers attribute” on page 56 The layers of the composition. “LayerCollection object” on page 92

s e l e c t e d L ay e r s

“CompItem selectedLayers attribute” on The selected layers of the composition. page 58

s e l e c t e d P r o p e r t ie s

“CompItem selectedProperties attribute” on page 58

The selected properties of the composition.

re nde rer

“CompItem renderer attribute” on page 57

The rendering plugin module to be used to render this composition.

re nde rer s

“CompItem renderers attribute” on page 57

The set of available rendering plugin modules.

Methods Method

Reference

Description

d u p l i ca te ()

“CompItem duplicate() method” on page 54

Creates and returns a duplicate of this composition.

l a ye r ( )

“CompItem layer() method” on page 55

Gets a layer from this composition.

CompItem activeCamera attribute a pp .p r o j e c t .i te m (i nd e x) .a ct i veC a m er a Description

The active camera, which is the front-most camera layer that is enabled. The value is null if the composition contains no enabled camera layers. Type

CameraLayer object; read-only.

CompItem bgColor attribute a pp .p r o j e c t .i te m (i nd e x) .b g C o lo r Description

The background color of the composition. The three array values specify the red, green, and blue components of the color. Type

An array containing three floating-point values, [R, G, B], in the range [0.0..1.0]; read/write.

53

JavaScript Reference

CompItem object

54

CompItem displayStartTime attribute a pp .p r o j e c t .i te m (i nd e x) .d i sp l ay S ta r t T im e Description

The time set as the beginning of the composition, in seconds. This is the equivalent of the Start Timecode or Start Frame setting in the Composition Settings dialog box. Type

Floating-point value in the range [0.0...86339.0] (1 second less than 25 hours); read/write.

CompItem draft3d attribute a pp .p r o j e c t .i te m (i nd e x) .d r af t 3 d Description

When true, Draft 3D mode is enabled for the Composition panel. This corresponds to the value of the Draft 3D button in the Composition panel. Type

Boolean; read/write.

CompItem duplicate() method a pp .p r o j e c t .i te m (i nd e x) .d u p l ic a te () Description

Creates and returns a duplicate of this composition, which contains the same layers as the original. Parameters

None. Returns

CompItem object.

CompItem frameBlending attribute a pp .p r o j e c t .i te m (i nd e x) .f r am e Bl e n di n g Description

When true, frame blending is enabled for this Composition. Corresponds to the value of the Frame Blending button in the Composition panel. Type

Boolean; if true, frame blending is enabled; read/write.

54

JavaScript Reference

CompItem object

55

CompItem frameDuration attribute a pp .p r o j e c t .i te m (i nd e x) .fram eDu rat i on Description

The duration of a frame, in seconds. This is the inverse of the fr ameR at e value (frames-per-second). Type

Floating-point; read/write.

CompItem hideShyLayers attribute a pp .p r o j e c t .i te m (i nd e x) .h i d e S h y L a y e r s Description

When true, only layers with s h y set to false are shown in the Timeline panel. When false, all layers are visible, including those whose sh y value is true. Corresponds to the value of the Hide All Shy Layers button in the Composition panel. Type

Boolean; read/write.

CompItem layer() method a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( inde x) a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( ot h er La y er , r elI n de x) a pp .p r o j e c t .i te m (i nd e x) .l a y e r ( na m e ) Description

Returns a Layer object, which can be specified by name, an index position in this layer, or an index position relative to another layer. Parameters index

The index number of the desired layer in this composition. An integer in the range [1...numLayers], where n u m L a y e r s is the number of layers in the composition.

—or— otherLayer

A Layer object in this composition. The relIn de x value is added to the index value of this layer to find the position of the desired layer.

relIndex

The position of the desired layer, relative to oth erLa y er . An integer in the range [1–othe rL a ye r . i n d e x . . . numLayers–ot her L ayer .index ], where n u m L a y e r s is the number of layers in the composition. This value is added to the oth erLa y er value to derive the absolute index of the layer to return.

—or— name

The string containing the name of the desired layer.

55

JavaScript Reference

CompItem object

56

Returns

Layer object.

CompItem layers attribute a pp .p r o j e c t .i te m (i nd e x) .l a y e r s Description

A LayerCollection object that contains all the Layer objects for layers in this composition. See “LayerCollection object” on page 92. Type

LayerCollection object; read-only.

CompItem motionBlur attribute a pp .p r o j e c t .i te m (i nd e x) .m o t i o n B l u r Description

When true, motion blur is enabled for the composition. Corresponds to the value of the Motion Blur button in the Composition panel. Type

Boolean; read/write.

CompItem numLayers attribute a pp .p r o j e c t .i te m (i nd e x) .num L ayer s Description

The number of layers in the composition. Type

Integer; read-only.

CompItem preserveNestedFrameRate attribute a pp .p r o j e c t .i te m (i nd e x) .p r e s e r v e N e s t e d F r a m e Ra t e Description

When true, the frame rate of nested compositions is preserved in the current composition. Corresponds to the value of the “Preserve frame rate when nested or in render queue” option in the Advanced tab of the Composition Settings dialog box. Type

Boolean; read/write.

56

JavaScript Reference

CompItem object

57

CompItem preserveNestedResolution attribute a pp .p r o j e c t .i te m (i nd e x) .p r e s e r v e N e s t e d R e s o l u t io n Description

When true, the resolution of nested compositions is preserved in the current composition. Corresponds to the value of the “Preserve Resolution When Nested” option in the Advanced tab of the Composition Settings dialog box. Type

Boolean; read/write.

CompItem renderer attribute a pp .p r o j e c t .i te m (i nd e x) .re nde rer Description

The current rendering plugin module to be used to render this composition, as set in the Advanced tab of the Composition Settings dialog box. Allowed values are the members of c o m p I t e m.ren de rers . Type

String; read/write.

CompItem renderers attribute a pp .p r o j e c t .i te m (i nd e x) .re nde rer s Description

The available rendering plugin modules. Member strings reflect installed modules, as seen in the Advanced tab of the Composition Settings dialog box. Type

Array of strings; read-only.

CompItem resolutionFactor attribute a pp .p r o j e c t .i te m (i nd e x) .re solu tionFa ctor Description

The x and y downsample resolution factors for rendering the composition. The two values in the array specify how many pixels to skip when sampling; the first number controls horizontal sampling, the second controls vertical sampling. Full resolution is [1,1], half resolution is [2,2], and quarter resolution is [4,4]. The default is [1,1]. Type

Array of two integers in the range [1..99]; read/write.

57

JavaScript Reference

CompItem object

58

CompItem selectedLayers attribute a pp .p r o j e c t .i te m (i nd e x) .s e l e c t e d L ay e r s Description

All of the selected layers in this composition. This is a 0-based array (the first object is at index 0). Type

Array of Layer objects; read-only.

CompItem selectedProperties attribute a pp .p r o j e c t .i te m (i nd e x) .s e l e c t e d P r o p e r t ie s Description

All of the selected properties (Property and PropertyGroup objects) in this composition. The first property is at index position 0. Type

Array of Property and PropertyGroup objects; read-only.

CompItem shutterAngle attribute a pp .p r o j e c t .i te m (i nd e x) .s h u t te r A n g l e Description

The shutter angle setting for the composition. This corresponds to the Shutter Angle setting in the Advanced tab of the Composition Settings dialog box. Type

Integer in the range [0...720]; read/write.

CompItem shutterPhase attribute a pp .p r o j e c t .i te m (i nd e x) .s h u t te r P h as e Description

The shutter phase setting for the composition. This corresponds to the Shutter Phase setting in the Advanced tab of the Composition Settings dialog box. Type

Integer in the range [–360...360]; read/write.

CompItem workAreaDuration attribute a pp .p r o j e c t .i te m (i nd e x) .w ork Are aD ura tion Description

The duration of the work area in seconds. This is the difference of the start-point and end-point times of the Composition work area.

58

JavaScript Reference

CompItem object

59

Type

Floating-point; read/write.

CompItem workAreaStart attribute a pp .p r o j e c t .i te m (i nd e x) .workAre aSta rt Description

The time when the Composition work area begins, in seconds. Type

Floating-point; read/write.

59

JavaScript Reference

FileSource object

60

FileSource object a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce Description

The FileSource object describes footage that comes from a file. • FileSource is a subclass of FootageSource. All methods and attributes of FootageSource, in addition to those

listed below, are available when working with FileSource. See “FootageSource object” on page 67. Attributes Attribute

Reference

Description

f i le

“FileSource file attribute” on page 60

The file that defines this asset.

m i s s i n g F o ot a g e P a t h

“FileSource missingFootagePath attribute” The file that contains footage missing from this asset. on page 60

Methods Method

Reference

Description

reload()

“FileSource reload() method” on page 61

Reloads the asset from the file, if it is a m a i n So u r c e of a FootageItem.

FileSource file attribute a pp .p r o j e c t .i te m (i nd e x) .m a in So u r c e . fi l e a pp .p r o j e c t .i te m (i nd e x) . p r o x y S o u r ce .f i l e Description

The ExtendScript File object for the file that defines this asset. To change the value: • If this FileSource is a pr ox y So urc e of an AVItem, call s e t Pr o x y () or s et P rox y Wi th Se qu ence( ) . • If this FileSource is a m a i n S o u r c e of a FootageItem, call re pla c e() or r e p l a c e W i t h S e q u e n c e ( ) . Type

File object; read-only.

FileSource missingFootagePath attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So u r c e . fi l e . m is s i n g F o o t a g e Pa t h a pp .p r o j e c t .i te m (i nd e x) . p r o x y S o u r ce .f i l e . m i s s i n g F o o ta g e P a t h Description

The path and filename of footage that is missing from this asset. See also “AVItem footageMissing attribute” on page 33. Type

String; read-only.

60

JavaScript Reference

FileSource object

61

FileSource reload() method a pp .p r o j e c t .i te m (i nd e x) . m a in So u r c e . fi l e . m a i n S o u r ce . r e l o a d ( ) Description

Reloads the asset from the file. This method can be called only on a m a i n S o u rc e , not a p r o x y S o u r ce . Parameters

None. Returns

Nothing.

61

JavaScript Reference

FolderItem object

62

FolderItem object a pp . p r o j e c t .F o l d e r I t e m Description

The FolderItem object corresponds to a folder in your Project panel. It can contain various types of items (footage, compositions, solids) as well as other folders. Example

Given that the second item in the project is a FolderItem, the following code puts up an alert for each top-level item in the folder, showing that item’s name. va r s ec ond It em = ap p. pr ojec t .i te m ( 2) ; i f ( ! ( s e c o n d I t e m i n st a n ce o f F o l de r I t e m ) ) { a l e r t (" p r o b l e m : s e c o n d i t e m i s n o t a f o l d e r " ) ; } else { f or ( i = 1 ; i <= se cond Item .numI tem s; i + +) { a l e r t ( " i t e m n u m b e r " + i + " w i t h i n t h e f o l d e r i s n am e d " + se cond Ite m .ite m(i) .na m e) ; } } Attributes Attribute

Reference

Description

i te m s

“FolderItem items attribute” on page 63

The contents of this folder.

nu mIte ms

“FolderItem numItems attribute” on page 63

The number of items contained in the folder.

Method

Reference

Description

i te m ( )

“FolderItem item() method” on page 62

Gets an item from the folder.

Methods

FolderItem item() method a pp .p r o j e c t .i te m (i nd e x) .i te m Description

Returns the top-level item in this folder at the specified index position. Note that “top-level” here means toplevel within the folder, not necessarily within the project. Parameters index

An integer, the position index of the item to retrieve. The first item is at index 1.

Returns

Item object.

62

JavaScript Reference

FolderItem object

63

FolderItem items attribute a pp .p r o j e c t .i te m (i nd e x) .i te m s Description

An ItemCollection object containing Item object that represent the top-level contents of this folder. Unlike the ItemCollection in the Project object, this collection contains only the top-level items in the folder. Top-level within the folder is not the same as top-level within the project. Only those items that are top-level in the root folder are also top-level in the Project. Type

ItemCollection object; read only.

FolderItem numItems attribute a pp .p r o j e c t .i te m (i nd e x) .n u m I te m s Description

The number of items contained in the i t e m s collection (f o l d e r I t e m .item s. le n gth ). If the folder contains another folder, only the FolderItem for that folder is counted, not any subitems contained in it. Type

Integer; read only.

63

JavaScript Reference

FootageItem object

64

FootageItem object a pp .p r o j e c t .i te m (i nd e x) a pp .p r o j e c t .i te m s[i n d ex ] Description

The FootageItem object represents a footage item imported into a project, which appears in the Project panel. These are accessed by position index number in a project’s i te m collection. • FootageItem is a subclass of AVItem, which is a subclass of Item. All methods and attributes of AVItem and

Item, in addition to those listed below, are available when working with FootageItem. See “AVItem object” on page 32 and “Item object” on page 76. Attributes Attribute

Reference

Description

f i le

“FootageItem file attribute” on page 64

The footage source file.

m a i n So u r c e

“FootageItem mainSource attribute” on page 65

All settings related to the footage item.

Methods Method

Reference

Description

re pla c e()

“FootageItem replace() method” on page 65

Replaces a footage file with another footage file.

r e pl a c e W i t h Pl a c e h o l de r ()

“FootageItem replaceWithPlaceholder() method” on page 65

Replaces a footage file with a placeholder object.

re pla c eWith S equ ence()

“FootageItem replaceWithSequence() method” on page 66

Replaces a footage file with an image sequence.

replaceWithSolid()

“FootageItem replaceWithSolid() method” on page 66

Replaces a footage file with a solid.

FootageItem file attribute a pp .p r o j e c t .i te m (i nd e x) .f i le Description

The ExtendScript File object for the footage's source file. If the FootageItem's m a i n So u r c e is a FileSource, this is the same as Fo o t age I t em . m ai n S our ce .f i le . Otherwise it is null. Type

File object; read only.

64

JavaScript Reference

FootageItem object

65

FootageItem mainSource attribute a pp .p r o j e c t .i te m (i nd e x) .m a in So u r c e Description

The footage source, an object that contains all of the settings related to that footage item, including those that are normally accessed through the Interpret Footage dialog box. The attribute is read-only. To change its value, call one of the FootageItem “replace” methods. See the “FootageSource object” on page 67, and its three types: • “SolidSource object” on page 168 • “FileSource object” on page 60 • “PlaceholderSource object” on page 108

If this is a FileSource object, and the f o o t a g e M i s s i n g value is true, the path to the missing footage file is in the F i l e S o u r c e . m i s si n g F o o t a g e P a t h attribute. See “AVItem footageMissing attribute” on page 33 and

“FileSource missingFootagePath attribute” on page 60. Type

FootageSource object; read-only.

FootageItem replace() method a pp .p r o j e c t .i te m (i nd e x) . r e pl a c e ( file ) Description

Changes the source of this FootageItem to the specified file. In addition to loading the file, the method creates a new FileSource object for the file and sets m a in S o u rc e to that object. In the new source object, it sets the n a m e , w i dt h , h ei g ht , fr ame Dur at io n , and du rat i on attributes (see “AVItem object” on page 32) based on the contents of the file. The method preserves interpretation parameters from the previous m a i n S o u r ce object. If the specified file has an unlabeled alpha channel, the method estimates the alpha interpretation. Parameters file

An ExtendScript File object for the file to be used as the footage main source.

FootageItem replaceWithPlaceholder() method a pp .p r o j e c t .i te m (i nd e x) .re pla ceWith Pla c eho ld er (n a m e, wid t h , he ig ht, fra m eR ate , d ura tio n ) Description

Changes the source of this FootageItem to the specified placeholder. Creates a new PlaceholderSource object, sets its values from the parameters, and sets m a i n S o u rc e to that object. Parameters name

A string containing the name of the placeholder.

w i dt h

The width of the placeholder in pixels, an integer in the range [4..30000].

h ei g ht

The height of the placeholder in pixels, an integer in the range [4..30000].

65

JavaScript Reference

FootageItem object

66

f r am e R a te

The frame rate of the placeholder, a floating-point value in the range [1.0..99.0]

d u r a ti o n

The duration of the placeholder in seconds, a floating-point value in the range [0.0..10800.0].

FootageItem replaceWithSequence() method a pp .p r o j e c t .i te m (i nd e x) .re pla ceWi th Se qu ence( file, forc eA l p h a b e t i c a l ) Description

Changes the source of this FootageItem to the specified image sequence. In addition to loading the file, the method creates a new FileSource object for the file and sets m a in S o u rc e to that object. In the new source object, it sets the n a m e , w i dt h , h ei g ht , f r a m e D u r at i o n , and du rat i on attributes (see “AVItem object” on page 32) based on the contents of the file. The method preserves interpretation parameters from the previous m a i n S o u r ce object. If the specified file has an unlabeled alpha channel, the method estimates the alpha interpretation. Parameters file

An ExtendScript File object for the first file in the sequence to be used as the footage main source.

f o r c e A l ph ab e t i c al

When true, use the “Force alphabetical order” option.

FootageItem replaceWithSolid() method a pp .p r o j e c t .i te m (i nd e x) . r e pl a c e W i t h So l id (co l or , n am e , w idt h, h e igh t , p i xe l As p e ct ) Description

Changes the source of this FootageItem to the specified solid. Creates a new SolidSource object, sets its values from the parameters, and sets m a i n S o u rc e to that object. Parameters color

The color of the solid, an array of three floating-point values, [R, G, B], in the range [0.0..1.0].

name

A string containing the name of the solid.

w i dt h

The width of the solid in pixels, an integer in the range [4..30000].

h ei g ht

The height of the solid in pixels, an integer in the range [4..30000].

p i xe l A s pe c t

The pixel aspect ratio of the solid, a floating-point value in the range [0.01..100.0].

66

JavaScript Reference

FootageSource object

67

FootageSource object a pp .p r o j e c t .i te m (i nd e x) .m a in So u r c e a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce Description

The FootageSource object holds information describing the source of some footage. It is used as the m a i n So u r c e of a FootageItem, or the pr ox y So urc e of a CompItem or FootageItem. See “FootageItem object” on page 64 and “CompItem object” on page 52. • FootageSource is the base class for SolidSource, so FootageSource attributes and methods are available

when working with SolidSource objects. See “SolidSource object” on page 168. Attributes Attribute

Reference

Description

h as Al ph a

“FootageSource hasAlpha attribute” on When true, a footage clip or proxy includes an page 70 alpha channel.

a l ph aMo de

“FootageSource alphaMode attribute” on page 68

premulColor

“FootageSource premulColor attribute” The color to be premultiplied. on page 71

i n v e r tA l ph a

“FootageSource invertAlpha attribute” on page 70

When true, an alpha channel in a footage clip or proxy should be inverted.

i s St i l l

“FootageSource isStill attribute” on page 70

When true, footage is a still image.

f i e l dS e pa r at i o n T y p e

“FootageSource fieldSeparationType attribute” on page 69

The field separation type.

h ig h Qu a l i ty F i e l d S e p a r a ti o n

“FootageSource highQualityFieldSepa- How the fields are to be separated in non-still footration attribute” on page 70 age.

r e m o v e P u l ld o w n

“FootageSource removePulldown attribute” on page 71

The pulldown type for the footage.

loop

“FootageSource loop attribute” on page 71

How many times an image sequence is set to loop.

na tive Fr ame Rat e

“FootageSource nativeFrameRate attribute” on page 71

The native frame rate of the footage.

d i sp l ay F r a m e R ate

“FootageSource displayFrameRate attribute” on page 68

The effective frame rate as displayed and rendered in compositions by After Effects.

conformFrameRate

“FootageSource conformFrameRate attribute” on page 68

The rate to which footage should conform.

The mode of an alpha channel.

Methods Method

Reference

Description

guessAlphaMode()

“FootageSource guessAlphaMode() method” on page 69

Estimates the a l p h a M o d e setting.

g u e ss P u l l d o w n ()

“FootageSource guessPulldown() method” on page 69

Estimates the p u l l do wn T yp e setting.

67

JavaScript Reference

FootageSource object

68

FootageSource alphaMode attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. alp haM od e a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .a l p h a M o d e Description

The alphaMode attribute of footageSource defines how the alpha information in the footage is to be interpreted. If hasAlpha is false, this attribute has no relevant meaning. Type

An A l p h a M o d e enumerated value; (read/write). One of: AlphaMode.IGNORE AlphaMode.STRAIGHT Alpha Mode. PR EMU L TIPLIED

FootageSource conformFrameRate attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. co n f o rm F r a m e R a t e a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .c o n f o r m F r a m e R a t e Description

A frame rate to use instead of the na tive Frame Rat e value. If set to 0, the na tive Frame Rat e is used instead. It is an error to set this value if F o o t a g e So u r c e . i sS ti l l is true. It is an error to set this value to 0 if r em ove P u l l d o w n is not set to P u l l d o w n Ph a s e . O F F . If this is 0 when you set r e m o v e P u ll d o w n to a value other than P u l l d o w n Ph a s e . O F F , then this is automatically set to the value of na tive Fram eRat e . Type

Floating-point value in the range [0.0.. 99.0]; read/write.

FootageSource displayFrameRate attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. di s pl a y F rame Rat e a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .d i sp l ay F r a m e R a te Description

The effective frame rate as displayed and rendered in compositions by After Effects. If r e m o v e P u l ld o w n is P u l l do wn P h a s e . O F F , then this is the same as the co n f o rm F r a m e R a t e (if non-zero) or the na tive Frame Rat e (if c o n f o r m F r a m e R a t e is 0). If r e m o v e P u l ld o w n is not Pu l ld ow n P ha se .O FF , this is c o n f o r m F r a m e R a t e * 0.8, the effective frame rate after removing 1 of every 5 frames. Type

Floating-point value in the range [0.0.. 99.0]; read-only.

68

JavaScript Reference

FootageSource object

69

FootageSource fieldSeparationType attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. f i e l d S e p a r a ti o n T y p e a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .f ie l dS e p a r at i o n T y p e Description

How the fields are to be separated in non-still footage. It is an error to set this attribute if i sS t i ll is true. It is an error to set this value to Fie l dSepa rat io nType.O F F if r e m o v e P u l ld o w n is not Pu ll d ow n P ha se .OF F . Type

A Fie l dS ep ar at io nType enumerated value; read/write. One of: F i e l d S e p a r a ti o n T y p e . O F F FieldSeparationType.UPPER_FIELD_FIRST FieldSeparationType.LOWER_FIELD_FIRST

FootageSource guessAlphaMode() method a pp .p r o j e c t .i te m (i nd e x) .ma in So urce. gue s s A l ph aM o d e () a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .gue ss Alp ha Mod e( ) Description

Sets a l ph aMo de , p r e m u l C o l o r , and i n v e r tA lp h a to the best estimates for this footage source. If h a s A l p h a is false, no change is made. Parameters

None. Returns

Nothing.

FootageSource guessPulldown() method a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e . g u e s s P u ll d o w n ( m et h o d) a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .gue ss P ulld own ( m e t h o d ) Description

Sets f i el d Se pa ra ti on T y p e and r e m ov e P u l l d o w n to the best estimates for this footage source. If i s St i l l is true, no change is made. Parameters me tho d

The method to use for estimation. A P u l l d o w n M e t h o d enumerated value, one of:

P u l l d o w n M e th od . P U L L D O W N _ 3 _ 2 Pulldow nMe th od. AD VANCE _ 24P Returns

Nothing.

69

JavaScript Reference

FootageSource object

70

FootageSource hasAlpha attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. h a s A l p h a a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .ha sA lph a Description

When true, the footage has an alpha component. In this case, the attributes a l p h a M o d e , in v ert Al p ha , and p r e m u l C o l o r have valid values. When false, those attributes have no relevant meaning for the footage. Type

Boolean; read-only.

FootageSource highQualityFieldSeparation attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. h i g h Q ua li t y F i e l d S e p a r a t i o n a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .h i g h Qu a l i ty F i e l d S e p a r a ti o n Description

When true, After Effects uses special algorithms to determine how to perform high-quality field separation. It is an error to set this attribute if i sS t il l is true, or if fie ld S ep ar at io nType is Fie l dSepa rat io nType.O F F . Type

Boolean; read/write.

FootageSource invertAlpha attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. in v ert Al p ha a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .i n v e r tA lp h a Description

When true, an alpha channel in a footage clip or proxy should be inverted. This attribute is valid only if an alpha is present. If ha sA lph a is false, or if a l ph aMo de is A l p h a M o d e . I G N O R E , this attribute is ignored. Type

Boolean; read/write.

FootageSource isStill attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. is S ti l l a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .i sS t i ll Description

When true the footage is still; when false, it has a time-based component. Examples of still footage are JPEG files, solids, and placeholders with duration of 0. Examples of non-still footage are movie files, sound files, sequences, and placeholders of non-zero duration. Type

Boolean; read-only.

70

JavaScript Reference

FootageSource object

71

FootageSource loop attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. l o o p a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .l o o p Description

The number of times that the footage is to be played consecutively when used in a composition. It is an error to set this attribute if i sS t il l is true. Type

Integer in the range [1.. 9999]; default is 1; read/write.

FootageSource nativeFrameRate attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. n at iv eF ra m eRa te a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .na tiveFr ameR at e Description

The native frame rate of the footage. Type

Floating-point; read/write.

FootageSource premulColor attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. pr emul Co lo r a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .p r e m u l C o l o r Description

The color to be premultiplied. This attribute is valid only if the a l p haM od e is a l ph aM ode .PREMU L TIPLIED . Type

Array of three floating-point values [ R , G, B] , in the range [0.0..1.0]; read/write.

FootageSource removePulldown attribute a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e. r e m o v e P u l l d o w n a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce .r e m o v e Pul l d o w n Description

How the pulldowns are to be removed when field separation is used. It is an error to set this attribute if i sS t il l is true. It is an error to attempt to set this to a value other than P u l l d o w n Ph a s e . O F F in the case where f ie l dS e p a r at i o n T y p e is F i e l d S e pa ra t i o n T y p e . O F F . Type

A Pu ll d ow n P ha se enumerated value; read/write. One of: P u l l d o w n Ph a s e . R e m o v e P u l l do wn . O F F P u l l d o w n Ph a s e . R e m o v e P u l l do wn . W S SW W P u l l d o w n Ph a s e . R e m o v e P u l l do wn . SS W W W

71

JavaScript Reference

FootageSource object

72

P u l l d o w n Ph a s e . R e m o v e P u l l do wn . SW W W S P u l l d o w n P h a s e . R e m o v e P u l l d o wn . W W W S S P u l l d o w n Ph a s e . R e m o v e P u l l do wn . W W S S W P u l l d o w n Ph a s e . R e m o v e P u l l d o wn . W S SW W _ 2 4 P _ A D V A N C E P u l l d o w n Ph a s e . R e m o v e P u l l do wn . SS W W W _ 2 4 P _ A D V A N C E P u l l d o w n Ph a s e . R e m o v e P u l l do wn . SW W W S _ 2 4 P _ A D V A N C E P u l l d o w n Ph a s e . R e m o v e P u l l do wn . W W W S S _ 2 4 P _ A D V A N C E P u l l d o w n Ph a s e . R e m o v e P u l l do wn . W W S S W _ 2 4 P _ A D V A N C E

72

JavaScript Reference

ImportOptions object

73

ImportOptions object n e w I m p o r tO pt i o n s () ; n e w I m p o r tO pt i o n s (f i l e ) ; Description

The ImportOptions object encapsulates the options used to import a file with the P r o je c t .i m p o r t F il e methods. See “Project importFile() method” on page 112. The constructor takes an optional parameter, an ExtendScript File object for the file. If it is not supplied, you must explicitly set the value of the f i l e attribute before using the object with the i m p o r t Fi l e method. For example: n e w I m p o r tO pt i o n s () .f i l e = n e w F il e (" m y f i l e .p s d" ) ; Attributes Attributes

Reference

Description

importAs

“ImportOptions importAs attribute” on page 74

The type of file to be imported.

sequence

“ImportOptions sequence attribute” on page 75

When true, import a sequence of files, rather than an individual file.

f o r c e A l ph ab e t i c al

“ImportOptions forceAlphabetical attribute” on page 74

When true, the “Force alphabetical order” option is set.

f i le

“ImportOptions file attribute” on page 74

The file to import, or the first file of the sequence to import.

Methods Method

Reference

Description

c a n I m p o r t A s( )

“ImportOptions canImportAs() method” Restricts input to a particular file type. on page 73

ImportOptions canImportAs() method i m p o r t O p t i o n s .ca n Imp ort As (t y p e ) Description

Reports whether the file can be imported as the source of a particular object type. If this method returns true, you can set the given type as the value of the i m p o r t A s attribute. See “ImportOptions importAs attribute” on page 74. Parameters t y pe

The type of file that can be imported. An I m p o r t A s T y p e

enumerated value; one of:

ImportAsType.COMP I m p o r t A s T y p e . F O O T A GE I m p ort As T y pe .C O MP _ C R O PP E D _ L AY E R S ImportAsType.PROJECT

73

JavaScript Reference

ImportOptions object

74

Returns

Boolean. Example v a r i o = n e w I m p o r t Op ti o n s( F i le (“ c : \ \ m y F il e .p sd ” ) ); if io .canIm po rtA s(ImportAsType .CO MP); i o .i m p o r tAs = I m po r tA sT yp e . C OM P ;

ImportOptions file attribute importOptions.file Description

The file to be imported. If a file is set in the constructor, you can access it through this attribute. Type

ExtendScript File object; read/write.

ImportOptions forceAlphabetical attribute i m p o r t O p t i o n s .f orce Alph abe tical Description

When true, has the same effect as setting the “Force alphabetical order” option in the File > Import > File dialog box. Type

Boolean; read/write.

ImportOptions importAs attribute i m p o r t O p t i o n s . i m p o r t As Description

The type of object for which the imported file is to be the source. Before setting, use c a n I m p o r t A s to check that a given file can be imported as the source of the given object type. See “ImportOptions canImportAs() method” on page 73. Type

An I m p o r t A s T y p e enumerated value; read/write. One of: I m p o r tA s T y p e .C O M P _ C R O P PE D_ L A Y E R S I m p o r tA s T y p e .F O O T A G E I m p o r tA s T y p e .C O M P I m p o r tA s T y p e .P R O J E C T

74

JavaScript Reference

ImportOptions object

75

ImportOptions sequence attribute i m p o r t O p t i o n s .s eq uence Description

When true, a sequence is imported; otherwise, an individual file is imported. Type

Boolean; read/write.

75

JavaScript Reference

Item object

76

Item object a pp . p r o j e c t .i t e m ( i n d e x ) a pp . p r o j e c t . i te m s[ i n de x ] Description

The Item object represents an item that can appear in the Project panel. The first item is at index 1. • Item is the base class for AVItem and for FolderItem, which are in turn the base classes for various other

item types, so Item attributes and methods are available when working with all of these item types. See “AVItem object” on page 32 and “FolderItem object” on page 62. Attributes Attributes

Reference

Description

name

“Item name attribute” on page 77

The name of the object as shown in the Project panel.

comment

“Item comment attribute” on page 77

A descriptive string.

id

“Item id attribute” on page 77

A unique identifier for this item.

p ar e n tF o l de r

“Item parentFolder attribute” on page 77

The parent folder of this item.

selected

“Item selected attribute” on page 78

When true, this item is currently selected.

t y pe N am e

“Item typeName attribute” on page 78

The type of item.

Method

Reference

Description

re move ()

“Item remove() method” on page 78

Deletes the item from the project.

Methods

Example

This example gets the second item from the project and checks that it is a folder. It then removes from the folder any top-level item that is not currently selected. It also checks to make sure that, for each item in the folder, the parent is properly set to the correct folder. var myFolder = app.project.item(2); i f (m y F o l d e r .ty p e N a m e ! = " F o l d e r " ) { a l ert ("er ror: se cond it em is not a folde r"); } else { var numInFolder = myFolder.numItems; / / A l w ay s r u n lo o p s b a c kw ar ds w hen d el e ti n g t hi n g s : for(i = numInFolder; i >= 1; i--) { va r curI tem = myFolder. i tem (i); if ( cur I te m.pare ntFo ld er != m yFo lde r) { a l ert (" er ro rw i th i n AE : t he pa ren t F o l d er i s n o t s et c o rre c tl y " ) ; } else { i f ( ! c u rI t e m . s e l e c t ed & & c u r I t e m . t y p e N a m e = = " F o o t a g e " ) { / / A h a ! a n u n s e l e c t e d so l id . curItem.remove();

76

JavaScript Reference

Item object

77

} } } }

Item comment attribute a pp .p r o j e c t .i te m (i nd e x) .c o m m e n t Description

A string that holds a comment, up to 15,999 bytes in length after any encoding conversion. The comment is for the user's purpose only; it has no effect on the item's appearance or behavior. Type

String; read/write.

Item id attribute a pp .p r o j e c t .i te m (i nd e x) .i d Description

A unique and persistent identification number used internally to identify an item between sessions. The value of the ID remains the same when the project is saved to a file and later reloaded. However, when you import this project into another project, new IDs are assigned to all items in the imported project. The ID is not displayed anywhere in the user interface. Type

Integer; read-only.

Item name attribute a pp . p r o j e c t .i t e m ( i n d e x ) . n a m e Description

The name of the item as displayed in the Project panel. Type

String; read/write.

Item parentFolder attribute a pp .p r o j e c t .i te m (i nd e x) .p ar e n tF o ld e r Description

The FolderItem object for the folder that contains this item. If this item is at the top level of the project, this is the project's root folder (a pp . p r o j e c t . r o o t F o l d e r ). You can use the ItemCollection’s ad d F o l de r method to add a new folder, and set this value to put items in the new folder. See “ItemCollection addFolder() method” on page 79.

77

JavaScript Reference

Item object

78

Type

FolderItem object; read/write. Example

This script creates a new FolderItem in the Project panel and moves compositions into it. / / c r e at e a n e w F o l d e r I t e m in p r o je c t , w i t h n a m e “ c o m p s ” v a r c o m p F o l d e r = ap p .p r o j e c t. it e m s .a dd F o l d e r ( “ c o m p s ” ); / / m o v e a l l c o m po s i t i o n s i n t o n e w f o l d e r b y s e t t in g / / c o m p I t e m ’ s p a r e n tF o l d e r t o “ c o m p s ” f o l d e r f o r ( v a r i = 1 ; i < = a p p . p r o j e ct . n u m I t e m s ; i + + ) { if (a pp .p ro ject .item (i) in st anceo f Co mp Item ) a pp . p r o j e c t .i t e m ( i ) . p a r e n t F o l d e r = c o m p F o l d e r ; }

Item remove() method a pp .p r o j e c t .i te m (i nd e x) .re m ove () Description

Deletes this item from the project and from the Project panel. If the item is a FolderItem, all the items contained in the folder are also removed from the project. No files or folders are removed from disk. Parameters

None. Returns

Nothing.

Item selected attribute a pp .p r o j e c t .i te m (i nd e x) .s e l e c t e d Description

When true, this item is selected. Multiple items can be selected at the same time. Set to true to select the item programmatically, or to false to deselect it. Type

Boolean; read/write.

Item typeName attribute a pp .p r o j e c t .i te m (i nd e x) .t yp eN am e Description

A user-readable name for the item type; for example, “Folder”, “Footage”, or “Composition”. Type

String; read-only.

78

JavaScript Reference

ItemCollection object

79

ItemCollection object a pp .p r o j e c t .i te m s Description

The ItemCollection object represents a collection of items. The ItemCollection belonging to a Project object contains all the Item objects for items in the project. The ItemCollection belonging to a FolderItem object contains all the Item objects for items in that folder. • ItemCollection is a subclass of Collection. All methods and attributes of Collection, in addition to those

listed below, are available when working with ItemCollection. See “Collection object” on page 51. Methods Method

Reference

Description

a dd C om p( )

“ItemCollection addComp() method” on page 79

Creates a new CompItem object and adds it to the collection.

a dd F o l d e r ( )

“ItemCollection addFolder() method” on page 79

Creates a new FolderItemobject and adds it to the collection.

ItemCollection addComp() method a pp .p r o j e c t .i te m C o l l e c ti o n.ad d C o m p ( n am e , w i dt h , h ei gh t , p ix el A s p ec t , d u ra t io n , f ra m e Rat e ) Description

Creates a new composition. Creates and returns a new CompItem object and adds it to this collection. If the ItemCollection belongs to the project or the root folder, then the new item’s pa rent F ol d er is the root folder. If the ItemCollection belongs to any other folder, the new item’s pa rent F ol d er is that F o l d e r I t e m . Parameters name

A string containing the name of the composition.

w i dt h

The width of the composition in pixels, an integer in the range [4..30000].

h ei g ht

The height of the composition in pixels, an integer in the range [4..30000].

p i xe l A s pe c t

The pixel aspect ratio of the composition, a floating-point value in the range [0.01..100.0].

d u r a ti o n

The duration of the composition in seconds, a floating-point value in the range [0.0..10800.0].

f r am e R a te

The frame rate of the composition, a floating-point value in the range [1.0..99.0]

Returns

CompItem object.

ItemCollection addFolder() method a pp .p r o j e c t .i te m C o l l e c ti o n.ad d F o l d e r ( n a m e ) Description

Creates a new folder. Creates and returns a new FolderItem object and adds it to this collection.

79

JavaScript Reference

ItemCollection object

80

If the ItemCollection belongs to the project or the root folder, then the new folder’s pa ren tF ol d er is the root folder. If the ItemCollection belongs to any other folder, the new folder’s p ar e n t F o l de r is that F o ld e r I t e m . To put items in the folder, set the item object’s pa rent F ol d er attribute; see “Item parentFolder attribute” on page 77. Parameters name

A string containing the name of the folder.

Returns

FolderItem object. Example

This script creates a new FolderItem in the Project panel and moves compositions into it. / / c r e at e a n e w F o l d e r I t e m in p r o je c t , w i t h n a m e “ c o m p s ” v a r c o m p F o l d e r = ap p .p r o j e c t. it e m s .a dd F o l d e r ( “ c o m p s ” ); / / m o v e a l l c o m po s i t i o n s i n t o n e w f o l d e r b y s e t t in g / / c o m p I t e m ’ s p a r e n tF o l d e r t o “ c o m p s ” f o l d e r f o r ( v a r i = 1 ; i < = a p p . p r o j e ct . n u m I t e m s ; i + + ) { if (a pp .p ro ject .item (i) in st anceo f Co mp Item ) a pp . p r o j e c t .i t e m ( i ) . p a r e n t F o l d e r = c o m p F o l d e r ; }

80

JavaScript Reference

KeyframeEase object

81

KeyframeEase object m y K e y = n e w K e y f r a m e E a s e (s p ee d, i n f l u e n c e ) ; Description

The KeyframeEase object encapsulates the keyframe ease settings of a layer’s AE property. There are two types of ease, temporal and spatial, which are determined by the speed and influence settings. Both types are set using the property’s setT empora lEaseAt K ey method. See “Property setTemporalEaseAtKey() method” on page 136. The constructor creates a KeyframeEase object. Both parameters are required. • s p e e d : A floating-point value. Sets the s pe e d attribute. • i n f l u e n c e : A floating-point value in the range [0.1..100.0]. Sets the i n fl u e n c e attribute.

Example

This example assumes that the Position, a spatial property, has more than two keyframes. va r ea se In = n ew Ke yfr ameE as e( 0.5 , 50) ; v a r e a se Ou t = n e w K e y fr am e E as e ( 0 .7 5 , 8 5 ) ; va r m y P o s it i o n P ro p ert y = a p p. pro jec t .i te m( 1). l ay er (1) .p ro pe rty ( " P o si t i o n " ) m y P o s i t i o n P r o p e r t y . s e t T e m p o r a l E a s eA tK e y ( 2 , [ e a s e I n ] , [ e a s e O u t ] ) ;

This example sets the Scale, a temporal property with two dimensions. For 2D and 3D properties you must set an easeI n and e as eO ut value for each dimension: va r ea se In = n ew Ke yfr ameE as e( 0.5 , 50) ; v a r e a se Ou t = n e w K e y fr am e E as e ( 0 .7 5 , 8 5 ) ; va r myScalePro pe rty = app.proje c t. i t e m ( 1 ) .l ay e r ( 1 ). pr o p e r t y (" S c al e " ) m y S c al e Pro pe rty . se tT e m po ral E a se At Ke y (2 , [ eas eI n , easeIn , ea se In], [e aseO ut, ea seO ut , e aseO ut]); Attributes Attribute

Reference

Description

s pe e d

“KeyframeEase speed attribute” on page 82

The speed setting for a keyframe.

influence

“KeyframeEase influence attribute” on page 81

The influence setting for a keyframe.

KeyframeEase influence attribute m y K ey . i n f l u e n c e Description

The influence value of the keyframe, as shown in the Keyframe Velocity dialog box. Type

Floating-point value in the range [0.1..100.0]; read/write.

81

JavaScript Reference

KeyframeEase object

82

KeyframeEase speed attribute m y K ey . s p e e d Description

The speed value of the keyframe. The units depend on the type of keyframe, and are displayed in the Keyframe Velocity dialog box. Type

Floating-point value; read/write.

82

JavaScript Reference

Layer object

83

Layer object a pp .p r o j e c t .i te m (i nd e x) .l a y e r( in de x) Description

The Layer object provides access to layers within compositions. It can be accessed from an item’s layer collection either by index number or by a name string. • Layer is the base class for CameraLayer, TextLayer, LightLayer, and AVLayer, so Layer attributes and

methods are available when working with all layer types. See “AVLayer object” on page 39, “CameraLayer object” on page 50, “LightLayer object” on page 97, and “TextLayer object” on page 172. Layers contain AE properties, in addition to their JavaScript attributes and methods. For examples of how to access properties in layers, see “PropertyBase object” on page 140. Example

If the first item in the project is a CompItem, this example disables the first layer in that composition and renames it. This might, for example, turn an icon off in the composition. va r f ir st L ay e r = a p p. pro jec t .i te m (1 ). l ay er( 1) ; first L a ye r.e nabled = fa lse; f i rst L a ye r.n a m e = " Di s ab l ed L ay e r" ; Attributes Attribute

Reference

Description

index

“Layer index attribute” on page 87

The index position of the layer.

name

“Layer name attribute” on page 89

The name of the layer.

p ar e n t

“Layer parent attribute” on page 89

The parent of this layer.

t im e

“Layer time attribute” on page 91

The current time of the layer.

s ta r tT im e

“Layer startTime attribute” on page 91

The start time of the layer.

s tr e tc h

“Layer stretch attribute” on page 91

The time stretch percentage of the layer.

inPoint

“Layer inPoint attribute” on page 87

The “in” point of the layer.

outPoint

“Layer outPoint attribute” on page 89

The “out” point of the layer.

en abled

“Layer enabled attribute” on page 86

When true, the layer is enabled.

solo

“Layer solo attribute” on page 91

When true, the layer is soloed.

shy

“Layer shy attribute” on page 90

When true, the layer is shy.

locked

“Layer locked attribute” on page 87

When true, the layer is locked.

h as Vi de o

“Layer hasVideo attribute” on page 86

When true, the layer contains a video component.

a ct i ve

“Layer active attribute” on page 84

When true, the layer is active at the current time.

n u ll L a y e r

“Layer nullLayer attribute” on page 89

When true, this is a null layer.

s e l e c t e d P r o p e r t ie s

“Layer selectedProperties attribute” on page 90

All selected AE properties in the layer.

comment

“Layer comment attribute” on page 85

A descriptive comment for the layer.

containingComp

“Layer containingComp attribute” on page 85

The composition that contains this layer.

83

JavaScript Reference

Layer object

84

Attribute

Reference

Description

i s N a m e Se t

“Layer isNameSet attribute” on page 87

When true, the layer’s name has been explicitly set.

Methods Method

Reference

Description

re move ()

“Layer remove() method” on page 90

Deletes the layer from the composition.

m o v e T o B eg i n n i n g ( )

“Layer moveToBeginning() method” on page 88

Moves the layer to the top of the composition (makes it the first layer).

moveToEnd()

“Layer moveToEnd() method” on page 88

Moves the layer to the bottom of the composition (makes it the last layer).

m o v e A f t er ( )

“Layer moveAfter() method” on page 87 Moves the layer below another layer.

mo veBe fo re()

“Layer moveBefore() method” on page 88

Moves the layer above another layer.

d u p l i ca te ()

“Layer duplicate() method” on page 86

Duplicates the layer.

copyToComp()

“Layer copyToComp() method” on page 86

Copies the layer to the top (beginning) of another composition.

a ct i v e A tT i m e ( )

“Layer activeAtTime() method” on page 84

Reports whether this layer will be active at a specified time.

s et Pa ren t W i th Jum p ( ) “Layer setParentWithJump() method”

Sets a new parent for this layer.

on page 90

a pp l y Pr e s e t s( )

“Layer applyPreset() method” on page 85

Applies a named collection of animation settings to the layer.

Layer active attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .a ctive Description

When true, the layer's video is active at the current time. For this to be true, the layer must be enabled, no other layer may be soloing unless this layer is soloed too, and the time must be between the i n P o i n t and o utP oi n t values of this layer. This value is never true in an audio layer; there is a separate aud i oAct iv e attribute in the AVLayer object. Type

Boolean; read-only.

Layer activeAtTime() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) . a c ti v e A tT i m e (t i m e) Description

Returns true if this layer will be active at the specified time. To return true, the layer must be enabled, no other layer may be soloing unless this layer is soloed too, and the time must be between the i n Po in t and o u t P o in t values of this layer.

84

JavaScript Reference

Layer object

85

Parameters t im e

The time in seconds, a floating-point value.

Returns

Boolean.

Layer applyPreset() method a pp ap p .p r o j e c t. it e m( in d ex ) .layer (i n de x) . a p p l y P r e s e t (p re s e t N am e ); Description

Applies the specified collection of animation settings (an animation preset) to the layer. Predefined animation preset files are installed in the Presets folder, and users can create new animation presets through the user interface. Parameters presetName

An ExtendScript File object for the file containing the animation preset.

Returns

Nothing.

Layer comment attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) . c o m m e n t Description

A descriptive comment for the layer. Type

String; read/write.

Layer containingComp attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .co n ta iningC omp Description

The composition that contains this layer. Type

CompItem object; read-only.

85

JavaScript Reference

Layer object

86

Layer copyToComp() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) . c o py T o C o m p (i n t oC o m p ) Description

Copies the layer into the specified composition. The original layer remains unchanged. Creates a new Layer object with the same values as this one, and prepends the new object to the l a y e r s collection in the target CompItem. Retrieve the copy using i n t o C o m p .laye r( 1) . Copying in a layer changes the index positions of previously existing layers in the target composition. This is the same as copying and pasting a layer through the user interface. Parameters intoComp

The target composition, and CompItem object.

Returns

Nothing.

Layer duplicate() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .d up licat e( ) Description

Duplicates the layer. Creates a new Layer object in which all values are the same as in this one. This has the same effect as selecting a layer in the user interface and choosing Edit > Duplicate, except the selection in the user interface does not change when you call this method. Parameters

None. Returns

Layer object.

Layer enabled attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .e nabled Description

When true, the layer is enabled; otherwise false. This corresponds to the video switch state of the layer in the Timeline panel. Type

Boolean; read/write.

Layer hasVideo attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .h as Vid eo Description

When true, the layer has a video switch (the eyeball icon) in the Timeline panel; otherwise false.

86

JavaScript Reference

Layer object

87

Type

Boolean; read-only.

Layer index attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .ind ex Description

The index position of the layer. Type

Integer in the range [1..n u m L a y e r s ]; read-only.

Layer inPoint attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) . i n P o i n t Description

The “in” point of the layer, expressed in composition time (seconds). Type

Floating-point value in the range [-10800.0..10800.0] (minus or plus three hours); read/write.

Layer isNameSet attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .is N ame S et Description

True if the value of the n a m e attribute has been set explicitly, rather than automatically from the source. Type

Boolean; read-only.

Layer locked attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .l o ck e d Description

When true, the layer is locked; otherwise false. This croplands to the lock toggle in the Layer panel. Type

Boolean; read/write.

Layer moveAfter() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .m o v e A ft e r ( l a ye r ) Description

Moves this layer to a position immediately after (below) the specified layer.

87

JavaScript Reference

Layer object

88

Parameters l a ye r

The target layer, a layer object in the same composition.

Returns

Nothing.

Layer moveBefore() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .m o v e B e f o r e ( l a y e r ) Description

Moves this layer to a position immediately before (above) the specified layer. Parameters l a ye r

The target layer, a layer object in the same composition.

Returns

Nothing.

Layer moveToBeginning() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) . m ov e T o B e g i n n i n g ( ) Description

Moves this layer to the topmost position of the layer stack (the first layer). Parameters

None. Returns

Nothing.

Layer moveToEnd() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .m o v e T o E n d () Description

Moves this layer to the bottom position of the layer stack (the last layer). Parameters

None. Returns

Nothing.

88

JavaScript Reference

Layer object

89

Layer name attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .n a m e Description

The name of the layer. By default, this is the same as the Source name (which cannot be changed in the Layer panel), but you can set it to be different. Type

String; read/write.

Layer nullLayer attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) . n u l l L a y e r Description

When true, the layer was created as a null object; otherwise false. Type

Boolean; read-only.

Layer outPoint attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .o u tP o i n t Description

The “out” point of the layer, expressed in composition time (seconds). Type

Floating-point value in the range [-10800.0..10800.0] (minus or plus three hours); read/write.

Layer parent attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p a r e n t Description

The parent of this layer; can be null. Offset values are calculated to counterbalance any transforms above this layer in the hierarchy, so that when you set the parent there is no apparent jump in the layer's transform. For example, if the new parent has a rotation of 30 degrees, the child layer is assigned a rotation of -30 degrees. To set the parent without changing the child layer's transform values, use the se tP are n tWi t hJu mp method. Type

Layer object or null; read/write.

89

JavaScript Reference

Layer object

90

Layer remove() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .r e m o v e () Description

Deletes the specified layer from the composition. Parameters

None. Returns

Nothing.

Layer selectedProperties attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) . s e l e c t e d P r o p e r t i e s Description

An array containing all of the currently selected Property and PropertyGroup objects in the layer. Type

Array of PropertyBase objects; read-only.

Layer setParentWithJump() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .set P are n tWit hJu mp( n e w P a r e n t ) Description

Sets the parent of this layer to the specified layer, without changing the transform values of the child layer. There may be an apparent jump in the rotation, translation, or scale of the child layer, as this layer’s transform values are combined with those of its ancestors. If you do not want the child layer to jump, set the p a r e n t attribute directly. In this case, an offset is calculated and set in the child layer's transform fields, to prevent the jump from occurring. Parameters ne wPar ent

A layer object in the same composition.

Returns

Nothing.

Layer shy attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .s hy Description

When true, the layer is “shy,” meaning that it is hidden in the Layer panel if the composition’s “Hide all shy layers” option is toggled on.

90

JavaScript Reference

Layer object

91

Type

Boolean; read/write.

Layer solo attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .s o l o Description

When true, the layer is soloed, otherwise false. Type

Boolean; read/write.

Layer startTime attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .s t art T i m e Description

The start time of the layer, expressed in composition time (seconds). Type

Floating-point value in the range [-10800.0..10800.0] (minus or plus three hours); read/write.

Layer stretch attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .s t r e t c h Description

The layer’s time stretch, expressed as a percentage. A value of 100 means no stretch. Values between 0 and 1 are set to 1, and values between -1 and 0 (not including 0) are set to -1. Type

Floating-point value in the range [-9900.0..9900.0]; read/write.

Layer time attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .t i m e Description

The current time of the layer, expressed in composition time (seconds). Type

Floating-point value; read-only.

91

JavaScript Reference

LayerCollection object

92

LayerCollection object a pp .p r o j e c t .i te m (i nd e x) .l ay e r s Description

The LayerCollection object represents a set of layers. The LayerCollection belonging to a CompItem object contains all the layer objects for layers in the composition. The methods of the collection object allow you to manipulate the layer list. • LayerCollection is a subclass of Collection. All methods and attributes of Collection, in addition to those

listed below, are available when working with LayerCollection. See “Collection object” on page 51. Example

Given that the first item in the project is a CompItem and the second item is an AVItem, this example shows the number of layers in the CompItem's layer collection, adds a new layer based on an AVItem in the project, then displays the new number of layers. va r f ir st C omp = ap p. pr oje ct .i t em( 1) ; v a r l a y e r C o l l e c t i o n = f i r s t C o m p. l a y e r s; a l e r t (" n u m b e r o f l a y e r s b e f o r e i s " + l a y e r C o l l e c t i o n . l e n g t h ); v a r an A V I t e m = ap p .p r o je c t.i t e m ( 2 ) ; l a ye r C o l l e c t i o n . a dd ( a n A VI t e m ) ; a l e r t (" n u m b e r o f l a y e r s a f t e r is " + la y e r C o l l e c t i o n . l e n g t h ) ; Methods Method

Reference

Description

a dd ( )

“LayerCollection add() method” on page 93

Creates a new AVLayer and adds it to this collection.

a dd N u l l ( )

“LayerCollection addNull() method” on page 94

Creates a new, null layer and adds it to this collection.

a dd S ol i d( )

“LayerCollection addSolid() method” on Creates a new layer, a FootageItem with a SolidSource, and adds it page 94 to this collection.

a dd T ex t ()

“LayerCollection addText() method” on page 95

Creates a new text layer and adds it to this collection.

a dd C a m era ()

“LayerCollection addCamera() method” on page 93

Creates a new camera layer and adds it to this collection.

a dd L i g ht ()

“LayerCollection addLight() method” on Creates a new light layer and adds it to this collection. page 93

a dd S ha pe ()

“LayerCollection addShape() method” on page 94

Creates a new shape layer and adds it to this collection.

byName()

“LayerCollection byName() method” on page 95

Retrieves the layer object with a specified name.

p rec o m po se ()

“LayerCollection precompose() method” on page 96

Collects specified layers into a new composition.

92

JavaScript Reference

LayerCollection object

93

LayerCollection add() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r s .ad d (i t em , dur at i on ) Description

Creates a new AVLayer object containing the specified item, and adds it to this collection. This method generates an exception if the item cannot be added as a layer to this CompItem. Parameters i te m

The AVItem object for the item to be added.

d u r a ti o n

Optional, the length of a still layer in seconds, a floating-point value. Used only if the item contains a piece of still footage. Has no effect on movies, sequences or audio. If supplied, sets the du rat i on value of the new layer. Otherwise, the d u r a ti o n value is set according to user preferences. By default, this is the same as the duration of the containing CompItem. To set another preferred value, choose Edit > Preferences > Import (Windows) or After Effects > Preferences > Import (Mac OS), and specify options under Still Footage.

Returns

AVLayer object.

LayerCollection addCamera() method a pp .p r o j e c t .i te m (i nd e x) .laye rs .ad d C ame ra( n a m e , c en t e r P oi n t) Description

Creates a new camera layer and adds the CameraLayer object to this collection. Parameters name

A string containing the name of the new layer.

c e n t e r Poi n t

The center of the new camera, a floating-point array [x, y]. This is used to set the initial x and y values of the new camera’s Point of Interest property. The z value is set to 0.

Returns

CameraLayer object.

LayerCollection addLight() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r s .ad d L i g h t (n a m e, c en t e r P oi n t ) Description

Creates a new light layer and adds the LightLayer object to this collection. Parameters name

A string containing the name of the new layer.

c e n t e r Poi n t

The center of the new light, a floating-point array [x, y].

93

JavaScript Reference

LayerCollection object

94

Returns

LightLayer object.

LayerCollection addNull() method a pp .p r o j e c t .i te m (i nd e x) . l a y e r s . a d d N u l l ( dur ati on ) Description

Creates a new null layer and adds the AVLayer object to this collection. This is the same as choosing Layer > New > Null Object. Parameters d u r a ti o n

Optional, the length of a still layer in seconds, a floating-point value. If supplied, sets the du rat i on value of the new layer. Otherwise, the d u r a ti o n value is set according to user preferences. By default, this is the same as the duration of the containing CompItem. To set another preferred value, choose Edit > Preferences > Import (Windows) or After Effects > Preferences > Import (Mac OS), and specify options under Still Footage.

Returns

AVLayer object.

LayerCollection addShape() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r s .ad d Sh ap e ( ) Description

Creates a new ShapeLayer object for a new, empty Shape layer. Use the ShapeLayer object to add properties, such as shape, fill, stroke, and path filters. This is the same as using a shape tool in "Tool Creates Shape" mode. Tools automatically add a vector group that includes Fill and Stroke as specified in the tool options. Parameters

None Returns

ShapeLayer object.

LayerCollection addSolid() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r s .ad d So l id ( co l or , n am e , w idt h, h e igh t , p i xe l As p e ct , d u r at i on ) Description

Creates a new SolidSource object, with values set as specified; sets the new SolidSource as the m a i n S o u r ce value of a new FootageItem object, and adds the FootageItem to the project. Creates a new AVLayer object, sets the new FootageItem as its s o u r c e , and adds the layer to this collection. Parameters color

The color of the solid, an array of four floating-point values, [R, G, B, A], in the range [0.0..1.0].

94

JavaScript Reference

LayerCollection object

95

name

A string containing the name of the solid.

w i dt h

The width of the solid in pixels, an integer in the range [4..30000].

h ei g ht

The height of the solid in pixels, an integer in the range [4..30000].

p i xe l A s pe c t

The pixel aspect ratio of the solid, a floating-point value in the range [0.01..100.0].

d u r a ti o n

Optional, the length of a still layer in seconds, a floating-point value. If supplied, sets the d u r a ti o n value of the new layer. Otherwise, the du rat i on value is set according to user preferences. By default, this is the same as the duration of the containing CompItem. To set another preferred value, choose Edit > Preferences > Import (Windows) or After Effects > Preferences > Import (Mac OS), and specify options under Still Footage.

Returns

AVLayer object.

LayerCollection addText() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r s .ad d T e x t( s ou r c e T e x t ) Description

Creates a new text layer and adds the new TextLayer object to this collection. Parameters s o u r ce T e x t

Optional; a string containing the source text of the new layer, or a TextDocument object containing the source text of the new layer. See “TextDocument object” on page 171.

Returns

TextLayer object.

LayerCollection byName() method a pp .p r o j e c t .i te m (i nd e x) . l a y e r s . b y N a m e (n a m e) Description

Returns the first (topmost) layer found in this collection with the specified name, or null if no layer with the given name is found. Parameters name

A string containing the name.

Returns

Layer object or null.

95

JavaScript Reference

LayerCollection object

96

LayerCollection precompose() method a pp .p r o j e c t .i te m (i nd e x) . l a y e r s . p r e c o m p o s e ( l a y e r I n di c i e s , n a m e , m o v e A l l At t r i b u t e s ) Description

Creates a new CompItem object and moves the specified layers into its layer collection. It removes the individual layers from this collection, and adds the new CompItem to this collection. Parameters l a ye r I n d i c e s

The position indexes of the layers to be collected. An array of integers.

name

The name of the new CompItem object.

m o v e A l l A t t ri bu te s

Optional. When true (the default), retains all attributes in the new composition. This is the same as selecting the “Move all attributes into the new composition” option in the Pre-compose dialog box. You can only set this to false if there is just one index in the l a y e r I n d i ce s array. This is the same as selecting the “Leave all attributes in” option in the Pre-compose dialog box.

Returns

CompItem object.

96

JavaScript Reference

LightLayer object

97

LightLayer object a pp .p r o j e c t .i te m (i nd e x) .l a y e r( in de x) Description

The LightLayer object represents a light layer within a composition. Create it using the LayerCollection object’s a dd L i g ht method; see “LayerCollection addLight() method” on page 93. It can be accessed in an item’s layer collection either by index number or by a name string. • LightLayer is a subclass of Layer. All methods and attributes of Layer are available when working with Light-

Layer. See “Layer object” on page 83. AE Properties

LightLayer defines no additional attributes, but has different AE properties than other layer types. It has the following properties and property groups: Ma r k e r T r a n s f o rm P oi n t o f In ter es t P o s i ti o n S c al e O r i e n t a t io n X R o t at io n Y R o t at io n Ro ta ti on O pa c i ty L i g ht O pt i o n s Intensity Co lo r Cone Angle C o n e F e a t h er Ca st s Sh ad ow s S h a do w D ar k n e ss S h a do w D i ff u s i o n

97

JavaScript Reference

MarkerValue object

98

MarkerValue object ne w M arkerV alue (c o m m e n t , c h a pt e r , u r l , f r a m eT a r g et , c u e P o i n t N a m e, pa r a m s) Description

The MarkerValue object represents a layer marker, which associates a comment, and optionally a chapter reference point, Web-page link, or Flash Video cue point with a particular point in a layer. Create it with the constructor; all arguments except c o m m e n t are optional. All arguments are strings that set in the corresponding attributes of the returned MarkerValue object, except p ar am s . This is an array containing key-value pairs., which can then be accessed with the g et Pa ra m et er( ) and s e t Pa r am e te r ( ) methods. A script can set any number of parameter pairs; the order does not reflect the order displayed in the application. To associate a marker with a layer, set the MarkerValue object in the Ma rke r AE property of the layer: layer O bjec t .propert y("M arker " ). set Va l ueA tTime( t i m e , m a rk er Va lue O bj ec t );

For information on the usage of markers see “Using markers” in After Effects Help. Attributes Attribute

Reference

Description

comment

“MarkerValue comment attribute” on page 99

A comment on the associated layer.

chapter

“MarkerValue chapter attribute” on page 99

A chapter link reference point for the associated layer.

c u e Po in t N a m e

“MarkerValue cuePointName attribute” on page 99

The Flash Video cue point name.

eventCuePoint

“MarkerValue eventCuePoint attribute” on page 99

Whether the Flash Video cue point is for an event or navigation.

ur l

“MarkerValue getParameters() method” on page 100

A URL for Web page to be associated with the layer.

f ram eTar get

“MarkerValue eventCuePoint attribute” on page 99

A specific frame target within the Web page specified by u rl .

Reference

Description

Methods Method

ge tPara m et ers() “MarkerValue getParameters() method” Retrieves the key-value pairs associated with the marker value. on page 100

s e t Pa r am e te r s ()

“MarkerValue setParameters() method” on page 100

Sets the key-value pairs associated with the marker value.

Examples

• To set a marker that says “Fade Up” at the 2 second mark: va r myMa rk er = new Ma rk erVa lue("Fade U p "); m y L a y e r . p r o pe rt y ( " M a r k e r " ) . s e t V a l u e A t T i m e ( 2 , m y M ar k e r ) ;

• To get comment values from a particular marker: va r comme ntO f Fir st Ma rke r = app. pr oject .ite m (1). la y e r (1 ). pr o p e r t y ( " M a rk e r " ) .k e y V a l u e ( 1 ) .c o m m e n t ; v a r c o m m e n t O f M a r ke rA t T i m e 4 = a pp .p r o j e c t .i te m (1 ).l a y e r ( 1 ) .p r o p e r ty ( " Mar ke r"). valu eAt T ime(4.0 ,tr ue).com m ent

98

JavaScript Reference

MarkerValue object

99

va r ma rk erPropert y = a p p. pro ject .ite m (1 ). layer (1).pro pe rty("Ma rke r"); va r ma rkerVa lueA tTim eC lose stToTime 4 = m a r k e r P r o p e r t y . k e y V a l u e ( m a r k e r P r o p e r t y . n e ar e s t K e y I n d e x ( 4 . 0 ) ) ; v a r c o m m e n t O f M a r ke rC l o s e s t T o T im e 4 = m ar ke r V a l u e A t T i m e C l o s e s t T o T i m e 4 . c o m m e n t ;

MarkerValue chapter attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r o pe r ty ( " M a r ke r " ) .k e y V a l u e ( i n d ex ). c hap t er Description

A text chapter link for this marker. Chapter links initiate a jump to a chapter in a QuickTime movie or in other formats that support chapter marks. Type

String; read/write.

MarkerValue comment attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r o pe r ty ( " M a r ke r " ) .k e y V a l u e ( i n d ex ). comment Description

A text comment for this marker. This comment appears in the Timeline panel next to the layer marker. Type

String; read/write.

MarkerValue cuePointName attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r o pe r ty ( " M a r ke r " ) .k e y V a l u e ( i n d ex ). c ueP oi ntN ame Description

The Flash Video cue point name, as shown in the Marker dialog. Type

String; read/write.

MarkerValue eventCuePoint attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r o pe r ty ( " M a r ke r " ) .k e y V a l u e ( i n d ex ). even tCu ePoint Description

When t rue , the FlashVideo cue point is for an event; otherwise, it is for navigation. Type

Boolean; read/write.

99

JavaScript Reference

MarkerValue object

100

MarkerValue frameTarget attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r o pe r ty ( " M a r ke r " ) .k e y V a l u e ( i n d ex ). fr ameTa rge t Description

A text frame target for this marker. Together with the URL value, this targets a specific frame within a Web page. Type

String; read/write.

MarkerValue getParameters() method a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r o pe r ty ( " M a r ke r " ) .k e y V a l u e ( i n d ex ). g et Pa ram e te rs( ) Description

Returns the key-value pairs for Flash Video cue-point parameters, for a cue point associated with this marker value. Parameters

None. Returns

An object with an attribute matching each parameter name, containing that parameter’s value.

MarkerValue setParameters() method app.project.item( in dex).l ayer(inde x).property("Mark er").keyVal ue( in dex).s etP arameters(keyValuePairs ) Description

Associates a set of key-value pairs for Flash Video cue-point parameters, for a cue point associated with this marker value. A cue point can have any number of parameters, but you can add only three through the user interface; use this method to add more than three parameters. Parameters k ey Va l u eP ai r s

An object containing the key-value pairs as attributes and values. The object’s toS t ri ng( ) method is called to assign the string value of each attribute to the named key.

Returns

Nothing. Example v a r m v = n e w M a r k e r V al u e (" M y M ar k e r " ) ; va r parm s = new Obj ect; par m s. timeTo Blink = 1; p ar m s. as si gnM e = "A st ri ng" m v . s e tP a r am e t e r s( p a r m s ) ;

100

JavaScript Reference

MarkerValue object

101

m y L a y e r . p r o pe rt y ( " M a r k e r " ) . s e t V a l u e A t T i m e ( 2 , m v ) ;

MarkerValue url attribute a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r o pe r ty ( " M a r ke r " ) .k e y V a l u e ( i n d ex ). url Description

A URL for this marker. This URL is an automatic link to a Web page. Type

String; read/write.

101

JavaScript Reference

MaskPropertyGroup object

102

MaskPropertyGroup object a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .m as k Description

The MaskPropertyGroup object encapsulates mask attributes in a layer. • MaskPropertyGroup is a subclass of PropertyGroup. All methods and attributes of PropertyBase and

PropertyGroup, in addition to those listed below, are available when working with MaskPropertyGroup. See “PropertyBase object” on page 140 and “PropertyGroup object” on page 147. Attributes Attribute

Reference

Description

ma sk Mo de

“MaskPropertyGroup maskMode attribute” on page 103

The mask mode.

i n v e r te d

“MaskPropertyGroup inverted attribute” on page 102

When true, the mask is inverted.

ro toB ezier

“MaskPropertyGroup rotoBezier attribute” on page 103

When true, the shape of the mask is RotoBezier.

ma skMo tionB l ur

“MaskPropertyGroup maskMotionBlur attribute” on page 103

How motion blur is applied to this mask.

locked

“MaskPropertyGroup locked attribute” on page 103

When true, the mask is locked.

color

“MaskPropertyGroup color attribute” on page 102

The color used to draw the mask outline in the user interface.

MaskPropertyGroup color attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .m as k( i n d ex ). c o l o r Description

The color used to draw the mask outline as it appears in the user interface (Composition panel, Layer panel, and Timeline panel). Type

Array of three floating-point values, [R, G, B], in the range [0.0..1.0]; read/write.

MaskPropertyGroup inverted attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .m as k( i n d ex ). i n vert ed Description

When true, the mask is inverted; otherwise false. Type

Boolean; read/write.

102

JavaScript Reference

MaskPropertyGroup object

103

MaskPropertyGroup locked attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .m as k( i n d ex ). l oc ke d Description

When true, the mask is locked and cannot be edited in the user interface; otherwise, false. Type

Boolean; read/write.

MaskPropertyGroup maskMode attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .m as k( i n d ex ) . m a s k M o d e Description

The masking mode for this mask. Type

A M a s k M o d e enumerated value; read/write. One of: Ma skM ode .NO N E Ma skM ode .AD D Ma skM ode .SUB TRAC T Ma skM ode .INTE RSECT Ma skM ode .LIGH T EN Ma skM ode .D ARKEN M a s k M ode . D I F F E R E N C E

MaskPropertyGroup maskMotionBlur attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .m as k( i n d ex ). maskMotio nBlur Description

How motion blur is applied to this mask. Type

A M a k M o ti o n B l u r enumerated value; read/write. One of: M a s k M ot i o n B l u r . SA ME _ A S _ L A YE R Ma skM otionB l ur. ON Ma s k M ot i o n B l u r . OF F

MaskPropertyGroup rotoBezier attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .m a s k ( i n de x ). rotoBe z ie r Description

When true, the mask is a RotoBezier shape; otherwise, false. Type

Boolean; read/write.

103

JavaScript Reference

OMCollection object

104

OMCollection object a pp.proj ect .render Qu eue .item s. out pu tMo du les Description

The OMCollection contains all of the output modules in a render queue. The collection provides access to the OutputModule objects, but does not provide any additional functionality. The first OutputModule object in the collection is at index position 1. See “OutputModule object” on page 105 • OMCollection is a subclass of Collection. All methods and attributes of Collection are available when

working with OMCollection. See “Collection object” on page 51.

104

JavaScript Reference

OutputModule object

105

OutputModule object a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e s ( inde x ) Description

An OutputModule object of a RenderQueueItem generates a single file or sequence via a render operation, and contains attributes and methods relating to the file to be rendered. Attributes Attribute

Reference

Description

f i le

“OutputModule file attribute” on page 105

The path and name of the file to be rendered.

p o s tR e n d e r A c t i o n

“OutputModule postRenderAction attribute” on page 106

An action to be taken after rendering.

name

“OutputModule name attribute” on page 106

The user-interface name of the output module.

t em p l at es

“OutputModule templates attribute” on All templates for the output module. page 107

Methods Method

Reference

Description

re move ()

“OutputModule remove() method” on page 106

Removes this output module from the render-queue item’s list.

s a v e A s T e m p l a t e( )

“OutputModule saveAsTemplate() method” on page 106

Saves a new output-module template.

a pp l y T e m p l at e ( )

“OutputModule applyTemplate() method” on page 105

Applies an output-module template.

OutputModule applyTemplate() method a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e s [ inde x ]. ap pl y T e m pl a te (t e m p l a t e N a m e) Description

Applies the specified existing output-module template. Parameters t em p l at eN a m e

A string containing the name of the template to be applied.

Returns

Nothing.

OutputModule file attribute a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e s [ inde x ]. fi l e Description

The ExtendScript File object for the file this output module is set to render.

105

JavaScript Reference

OutputModule object

106

Type

ExtendScript File object; read/write.

OutputModule name attribute a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e s [ inde x ]. n a m e Description

The name of the output module, as shown in the user interface. Type

String; read-only.

OutputModule postRenderAction attribute a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e s [ inde x ]. po st Rend er Ac ti on Description

An action to be performed when the render operation is completed. Type

A Pos t Rend er Ac ti on enumerated value (read/write); one of: p o s tR e n d e r A c t i o n .N O N E p o s tR e n d e r A c t i o n .I M PO R T p o s tR e n d e r A c t i o n .I M PO R T _ A N D_ R E P L A C E _ US A G E p o s tR e n d e r A c t i o n .S E T _ P R O XY

OutputModule remove() method a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e s [ inde x ]. r e m o v e( ) Description

Removes this OutputModule object from the collection. Parameters

None. Returns

Nothing.

OutputModule saveAsTemplate() method a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e s [ inde x ]. sa veAsTe mpla te (n a m e) Description

Saves this output module as a template and adds it to the t em p l at es array.

106

JavaScript Reference

OutputModule object

107

Parameters name

A string containing the name of the new template.

Returns

Nothing.

OutputModule templates attribute a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e s [ inde x ]. tem pla tes Description

The names of all output-module templates availalbe in the local installation of After Effects. Type

Array of strings; read-only.

107

JavaScript Reference

PlaceholderSource object

108

PlaceholderSource object a pp .p r o j e c t .i te m (i nd e x) .m a in So u r c e a pp .p r o j e c t .i te m (i nd e x) . p r o x y S o u r ce Description

The PlaceholderSource object describes the footage source of a placeholder. PlaceholderSource is a subclass of FootageSource. All methods and attributes of FootageSource are available when working with PlaceholderSource. See “FootageSource object” on page 67. PlaceholderSource does not define any additional methods or attributes.

108

JavaScript Reference

Project object

109

Project object a pp .p r o j e c t Description

The project object represents an After Effects project. Attributes provide access to specific objects within the project, such as imported files or footage and compositions, and also to project settings such as the timecode base. Methods can import footage, create solids, compositions and folders, and save changes. Attributes Attribute

Reference

Description

f i le

“Project file attribute” on page 112

The file for the currently open project.

ro otFo ld er

“Project rootFolder attribute” on page 115

The folder containing all the contents of the project; the equivalent of the Project panel

i te m s

“Project items attribute” on page 113

All items in the project.

a ct i veI t em

“Project activeItem attribute” on page 110

The currently active item.

b i t s P e r C h an n e l

“Project bitsPerChannel attribute” on page 111

The color depth of the current project.

t ra n s p a r e n c y G r i d T h um b n a i l s “Project transparencyGridThumbnails attribute” on page 117

When true, thumbnail views use the transparency checkerboard pattern.

t im e c o d e D is p l ay T y p e

“Project timecodeDisplayType attribute” on page 116

The way the timecode is displayed.

t im e c o d e Ba s e T y p e

“Project timecodeBaseType attribute” on page 116

The timecode base project setting.

t im ec o d eN T S C D ro p F ram e

“Project timecodeNTSCDropFrame attribute” on page 117

The drop-frame project setting.

t im e c o d e F i l m T y p e

“Project timecodeFilmType attribute” on page 117

The film type for the “Feet + Frames” project setting.

nu mIte ms

“Project numItems attribute” on page 114

The total number of items contained in the project.

selection

“Project selection attribute” on page 116

All items selected in the Project panel.

re nde rQ ueu e

“Project renderQueue attribute” on page 115

The project’s render queue.

d i sp l ay S t ar t F r am e

“Project displayStartFrame attribute” on The frame at which to start numbering when dispage 111 playing the project.

linearBlending

“Project linearBlending attribute” on page 113

When true, linear blending is used for the project.

Methods Method

Reference

Description

i te m ( )

“Project item() method” on page 113

Retrieves an item from the project.

c o n s o l i d a t e F o o t a g e ()

“Project consolidateFootage() method” on page 111

Consolidates all footage in the project.

109

JavaScript Reference

Project object

110

Method

Reference

Description

r e m o v e U n u s e d F o o ta g e ( )

“Project removeUnusedFootage() method” on page 114

Removes unused footage from the project.

re du ceProje c t()

“Project reduceProject() method” on page 114

Reduces the project to a specified set of items.

close()

“Project close() method” on page 111

Closes the project with normal save options.

s av e ()

“Project save() method” on page 115

Saves the project.

s av e W i th Di al o g ()

“Project saveWithDialog() method” on page 115

Displays a Save dialog box.

i m p ort Pl a c eho l de r()

“Project importFileWithDialog() method” on page 112

Imports a placeholder into the project.

i m p o r t F i le ()

“Project importFile() method” on page 112

Imports a file into the project.

i m p o r t F i le W i th D i a l o g ( )

“Project importFileWithDialog() method” on page 112

Displays an Import File dialog box.

showWindow()

“Project showWindow() method” on page 116

Shows or hides the Project panel.

a u to F ix E x p r e s s i o n s( )

“Project autoFixExpressions() method” on page 110

Automatically replaces text in all expressions.

Project activeItem attribute a pp .p r o j e c t .ac t iv e I t e m Description

The item that is currently active and is to be acted upon, or a null if no item is currently selected or if multiple items are selected. Type

Item object or null; read-only.

Project autoFixExpressions() method a pp . p r o j e c t . a u toF i x E x p r e s si o n s(old T e xt , n e w T e xt ) Description

Automatically replaces text found in broken expressions in the project, if the new text causes the expression to evaluate without errors. Parameters oldText

The text to replace.

ne wTe xt

The new text.

Returns

Nothing.

110

JavaScript Reference

Project object

111

Project bitsPerChannel attribute a pp .p r o j e c t .b i ts Pe r C h a n n e l Description

The color depth of the current project, either 8, 16, or 32 bits. Type

Integer (8, 16, or 32 only); read/write.

Project close() method a pp .p r o j e c t .c l o s e ( c los e O p t io n s) Description

Closes the project with the option of saving changes automatically, prompting the user to save changes or closing without saving changes. Parameters c l o s e O pt i o n s

Action to be performed on close. A C l o s e O p t i o n s enumerated value, one of:

C l o s e O p t i o n s . D O _ N O T _ S A V E _ C H A N GE S : Close without saving. C l o s e O p t i o n s . P R O M P T _ T O _S A VE _ C H A N G E S : Prompt for whether to save changes before close.

C l o s e O p t i o n s . S A V E _ C H A N G E S : Save automatically on close.

Returns

Boolean. True on success. False if the file has not been previously saved, the user is prompted, and the user cancels the save.

Project consolidateFootage() method a pp . p r o j e c t . c o n s o l i d a te F o o t a g e ( ) Description

Consolidates all footage in the project. Same as the File > Consolidate All Footage command. Parameters

None. Returns

Integer; the total number of footage items removed.

Project displayStartFrame attribute a pp .p r o j e c t .d is p l ay S ta r tF r am e

111

JavaScript Reference

Project object

112

Description

The frame at which to start numbering when displaying the project with a t i m e c o d e D is p l a y T y p e value of T i m e c o d e D i s p l a yT yp e . F R A M E S . (See “Project timecodeDisplayType attribute” on page 116.) This is the same as setting “Start numbering frames at:” in the Project Settings > Display Style tab. Type

Integer; read/write.

Project file attribute a pp .p r o j e c t .fi l e Description

The ExtendScript File object for the file containing the project that is currently open. Type

File object or null if project has not been saved; read-only.

Project importFile() method a pp .p r o j e c t .i m po r tF i l e (i m p o r t O p t i o n s ) Description

Imports the file specified in the specified ImportOptions object, using the specified options. Same as the File > Import File command. Creates and returns a new FootageItem object from the file, and adds it to the project’s i t e m s array. Parameters i m p o r t Op t io n s

An ImportOptions object specifying the file to import and the options for the operation. See “ImportOptions object” on page 73.

Returns

FootageItem object. Example a pp .p r o j e c t .i m po r tF i l e ( n e w I m p or tO pt i o n s (F i l e ( “ s am p l e .p s d” ) )

Project importFileWithDialog() method a pp .p r o j e c t .i m po r tF i l e W it h D ia l o g ( ) Description

Shows an Import File dialog box. Same as the File > Import > File command. Returns

Array of Item objects created during import; or null if the user cancels the dialog.

112

JavaScript Reference

Project object

113

Project importPlaceholder() method a pp .p r o j e c t .i m po r tP l ac e h o l d e r ( n am e , w id t h, he ig ht, fram e Ra t e , du ra tio n ) Description

Creates and returns a new PlaceholderItem object and adds it to the project’s i te m s array. Same as the File > Import > Placeholder command. Parameters name

A string containing the name of the placeholder.

w i dt h

The width of the placeholder in pixels, an integer in the range [4..30000].

h ei g ht

The height of the placeholder in pixels, an integer in the range [4..30000].

f r am e R a te

The frame rate of the placeholder, a floating-point value in the range [1.0..99.0]

d u r a ti o n

The duration of the placeholder in seconds, a floating-point value in the range [0.0..10800.0].

Returns

PlaceholderItem object.

Project item() method a pp .p r o j e c t .i te m (i nd e x) Description

Retrieves an item at a specified index position. Parameters index

The index position of the item, an integer. The first item is at index 1.

Returns

Item object.

Project items attribute a pp .p r o j e c t .i te m s Description

All of the items in the project. Type

ItemCollection object; read-only.

Project linearBlending attribute a pp .p r o j e c t .l i n e ar Bl e n d i n g Description

True if linear blending should be used for this project; othewise false.

113

JavaScript Reference

Project object

114

Type

Boolean; read/write.

Project numItems attribute a pp .p r o j e c t .n u m I t e m s Description

The total number of items contained in the project, including folders and all types of footage. Type

Integer; read-only. Example n = ap p .p r o je c t.n u m I t e m s ; a l ert ("Th ere a re " + n + " it ems in th is proj ect. ")

Project reduceProject() method a pp .p r o j e c t .r e d u c e Pr o je c t (a rr ay _ o f _ it e m s ) Description

Removes all items from the project except those specified. Same as the File > Reduce Project command. Parameters a rra y_o f_it ems

An array containing the Item objects that are to be kept.

Returns

Integer; the total number of items removed. Example v a r t he I t em s = n ew A r r a y ( ) ; t heI t em s [ th eI te m s .l en g t h] = a pp .p ro jec t .i te m (1 ); t heI t em s [ th eI te m s .l en g t h] = a pp .p ro jec t .i te m (3 ); a pp .p r o j e c t .r e d u c e Pr o je c t (t h e I te m s) ;

Project removeUnusedFootage() method a pp . p r o j e c t . r e m ov e U n u s e d F o o t a g e () Description

Removes unused footage from the project. Same as the File > Remove Unused Footage command. Parameters

None. Returns

Integer; the total number of FootageItem objects removed.

114

JavaScript Reference

Project object

115

Project renderQueue attribute a pp.proj ect .render Qu eue Description

The render queue of the project. Type

RenderQueue object; read-only.

Project rootFolder attribute a pp .p r o j e c t .r o o tF o l d e r Description

The root folder containing the contents of the project; this is a virtual folder that contains all items in the Project panel, but not items contained inside other folders in the Project panel. Type

FolderItem object; read-only.

Project save() method a pp .p r o j e c t .sa v e ( ) a pp .p r o j e c t .sa v e (fil e) Description

Saves the project. The same as the File > Save or File > Save As command. If the project has never previously been saved and no file is specified, prompts the user for a location and file name. Pass a File object to save a project to a new file without prompting. Parameters file

Optional. An ExtendScript File object for the file to save.

Returns

None.

Project saveWithDialog() method a pp .p r o j e c t .sa v e W it h D ia l o g ( ) Description

Shows the Save dialog box. The user can name a file with a location and save the project, or click Cancel to exit the dialog. Parameters

None.

115

JavaScript Reference

Project object

116

Returns

Boolean; true if the project was saved.

Project selection attribute a pp .p r o j e c t .se l e c ti o n Description

All items selected in the Project panel, in the sort order shown in the Project panel. Type

Array of Item objects; read-only.

Project showWindow() method a pp .p r o j e c t .sh o w W i n do w(d oS h ow ) Description

Shows or hides the Project panel. Parameters doShow

When true, show the Project panel. When false, hide the Project panel.

Returns

Nothing.

Project timecodeBaseType attribute a pp .p roj ec t .ti me co de Ba se Ty pe Description

The Timecode Base option, as set in the Project Settings dialog box. Type

A T im e c o d e Ba s e T y p e enumerated value; read/write. One of: T i m e c o d e B a s e T yp e . AU T O Timeco de BaseT ype. F PS24 Timeco de BaseT ype. F PS25 Timeco de BaseT ype. F PS30 Timeco de BaseT ype. F PS48 Timeco de BaseT ype. F PS50 Timeco de BaseT ype. F PS60 Timeco de BaseT ype. F PS10 0

Project timecodeDisplayType attribute a pp .p r o j e c t .ti m e co de Di s pl a y T y pe

116

JavaScript Reference

Project object

117

Description

The way in which timecode is set to display, as set in the Project Settings dialog box. Type

A T im e c o d e D is p l ay T y p e enumerated value; read/write. One of: T i m e c o d e D i s p l a yT yp e . T I M E C OD E T i m e c o d e D i s p l a yT yp e . F R A M E S T i m e c o de D i s pl a yT yp e . F E E T _ A N D _ F R A M E S

Project timecodeFilmType attribute a pp .p r o j e c t .ti m e co de F il m T yp e Description

The film type, as set in the Feet + Frames option in the Project Settings dialog box. Type

A T im ec o d e F i l m T y p e enumerated value; read/write. One of: T i m e c o d e F il m T yp e . M M 1 6 T i m e c o d e F il m T yp e . M M 3 5

Project timecodeNTSCDropFrame attribute a pp .p r o j e c t .ti m e co de N T S C Dr o pF r am e Description

How timecode for 29.97 fps footage is displayed, as set in the Project Settings dialog box under NTSC. Type

Boolean, true for the Drop Frame option, false for the Non-Drop Frame option; read/write.

Project transparencyGridThumbnails attribute a pp .p r o j e c t .tr an s pa r e n cy G r i d T h u m b n ai l s Description

When true, thumbnail views use the transparency checkerboard pattern. Type

Boolean; read/write.

117

JavaScript Reference

Property object

118

Property object a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r op e r t y S p ec Description

The Property object contains value, keyframe, and expression information about a particular AE property of a layer. An AE property is an value, often animatable, of an effect, mask, or transform within an individual layer. For examples of how to access properties, see “PropertyBase object” on page 140 and “PropertyGroup property() method” on page 149. • PropertyGroup is a subclass of PropertyBase. All methods and attributes of PropertyBase, in addition to

those listed below, are available when working with PropertyGroup. See “PropertyBase object” on page 140. NOTE: JavaScript objects commonly referred to as “properties” are called “attributes” in this guide, to avoid confusion with the After Effects definition of property. Attributes Attribute

Reference

Description

propertyValueType

“Property propertyValueType attribute” Type of value stored in this property. on page 131

va lue

“Property value attribute” on page 138

Current value of the property.

h as Mi n

“Property hasMin attribute” on page 123

When true, there is a minimum permitted value.

h as Max

“Property hasMax attribute” on page 123

When true, there is a maximum permitted value.

minValue

“Property minValue attribute” on page 130

The minimum permitted value.

maxValue

“Property maxValue attribute” on page 130

The maximum permitted value.

i s Sp a t i a l

“Property isSpatial attribute” on page 124

When true, the property defines a spatial value.

c a n Va r y O v e r T i m e

“Property canVaryOverTime attribute” on page 122

When true, the property can be keyframed.

i s T im eV a r y i n g

“Property isTimeVarying attribute” on page 124

When true, the property has keyframes or an expression enabled that can vary its values.

numKeys

“Property numKeys attribute” on page 131

The number of keyframes on this property.

un it sT ext

“Property unitsText attribute” on page 138

A text description of the units in which the value is expressed.

e x p r e ss i o n

“Property expression attribute” on page 122

The expression string for this property.

c an Se tE x p r e s s io n

“Property canSetExpression attribute” on page 122

When true, the expression can be set by a script.

e x p r e ss i o n E n a b l e d

“Property expressionEnabled attribute” on page 123

When true, the expression is used to generate values for the property.

e x p r e ss i o n E r r o r

“Property expressionError attribute” on page 123

The error, if any, that occurred when the last expression was evaluated.

118

JavaScript Reference

Property object

119

Attribute

Reference

Description

keyframeInterpolationType

“Property keyframeInterpolationType attribute” on page 124

The type of interpolation used at a keyframe.

selectedKeys

“Property selectedKeys attribute” on page 133

All selected keyframes of the property.

p r o p e r ty I n d e x

“Property propertyIndex attribute” on page 131

The position index of this property.

Methods Method

Reference

Description

valueAtTime()

“Property valueAtTime() method” on page 139

Gets the value of the property evaluated at given time.

s e t V al u e ( )

“Property setValue() method” on page 137

Sets the static value of the property.

s e t V a l u eA t T i m e ( )

“Property setValueAtTime() method” on page 137

Creates a keyframe for the property.

s e t V al u e s A tT i m e s( )

“Property setValuesAtTimes() method” on page 138

Creates a set of keyframes for the property.

s e t V al u e A t K e y ()

“Property setValueAtKey() method” on page 137

Finds a keyframe and sets the value of the property at that keyframe.

n e a r e st K e y I n d e x ( )

“Property nearestKeyIndex() method” on page 131

Gets the keyframe nearest to a specified time.

k ey T i m e( )

“Property keyTime() method” on page 129

Gets the time at which a condition occurs.

k ey Va l u e( )

“Property keyValue() method” on page 130

Gets the value of a keyframe at the time at which a condition occurs.

a dd K ey ( )

“Property addKey() method” on page 122

Adds a new keyframe to the property at a given time.

re move Key()

“Property removeKey() method” on page 132

Removes a keyframe from the property.

i s I n te r p o l a t io n T y pe V a li d ( )

“Property isInterpolationTypeValid() method” on page 124

When true, this property can be interpolated.

s e t I n te r p o l at io n T y pe A t Ke y ()

“Property setInterpolationTypeAtKey() method” on page 133

Sets the interpolation type for a key.

keyInInterpolationType()

“Property keyInInterpolationType() method” Gets the 'in' interpolation type for a key. on page 125

k e y O u t I n t e r po l a t i o n T y pe ()

“Property keyOutInterpolationType() method” on page 126

Gets the 'out' interpolation type for a key.

s e t Sp a ti al T a n g e n t sA tK e y ( )

“Property setSpatialTangentsAtKey() method” on page 135

Sets the “in” and “out” tangent vectors for a key.

k e y I n S p a t ia l T a n g e n t ( )

“Property keyInSpatialTangent() method” on Gets the “in” spatial tangent for a key. page 125

k eyO utS p at ialTan gent ()

“Property keyOutSpatialTangent() method” on page 126

Gets the “out” spatial tangent for a key.

setTemporalEaseAtKey()

“Property setTemporalEaseAtKey() method” on page 136

Sets the “in” and “out” temporal ease for a key.

119

JavaScript Reference

Property object

120

Method

Reference

Description

k ey I n T e m po r al E a s e()

“Property keyInTemporalEase() method” on page 126

Gets the “in” temporal ease for a key.

k ey O u tT em p o r a lE as e( )

“Property keyOutTemporalEase() method” on page 127

Gets the “out” temporal ease for a key.

s e t T e m p o r a l C o n t in u o u s A t K e y ( )

“Property setTemporalContinuousAtKey() method” on page 136

Sets whether a keyframe has temporal continuity.

keyTem por alCon tinuou s()

“Property keyTemporalContinuous() method” on page 129

Reports whether a keyframe has temporal continuity.

s e t T e m p o r a l A u t o Be z i e r A t K e y ( )

“Property setTemporalAutoBezierAtKey() method” on page 135

Sets whether a keyframe has temporal auto-Bezier.

k eyTem por alAu toB ezier ()

“Property keyTemporalAutoBezier() method” on page 129

Reports whether a keyframe has temporal auto-Bezier.

s e t Sp a ti al C o n ti n u o u sA tK e y ( )

“Property setSpatialContinuousAtKey() method” on page 134

Sets whether a keyframe has spatial continuity.

k ey S pa ti a l C o n t in u o u s ( )

“Property keySpatialContinuous() method” on page 128

Reports whether a keyframe has spatial continuity.

s e t Sp a ti al A u toB e z i e r A tK e y

“Property setSpatialAutoBezierAtKey() method” on page 134

Sets whether a keyframe has spatial auto-Bezier.

k ey S pa ti a l A u t o Be z ie r ( )

“Property keySpatialAutoBezier() method” on page 128

Reports whether a keyframe has spatial auto-Bezier.

s e t R o v i n g A tK e y ( )

“Property setRovingAtKey() method” on page 133

Sets whether a keyframe is roving.

k ey R o v in g ()

“Property keyRoving() method” on page 127 Reports whether a keyframe is roving.

s et Se l ecte dA tK ey( )

“Property setSelectedAtKey() method” on page 134

Sets whether a keyframe is selected.

k ey S e l e c t ed ( )

“Property keySelected() method” on page 128

Reports whether a keyframe is selected.

Example: Get and set the value of opacity v a r m y P r o p e r t y = m yL ay e r . o p a c i t y ; / / o p ac i t y h as p r o p e r t y V a l u e T y p e o f O n e D, an d i s s t o r e d as a f l o a t m y P r o p e r t y . s e t V a l u e ( 0 . 5 ); // Va riable myOp acit y is a f l oat va lue va r myO pa c ity = m y Pro pe rty. valu e; Example: Get and set the value of a position va r myProper ty = m yL ayer. po sit io n ; / / p os it i on ha s p ro pe rty V al ue T y pe of T hree D_ S P AT IA L , a n d i s s t o r e d a s a n a r r ay o f 3 f l o a t s myProper ty.set Va lue([1 0.0 , 30 .0, 0 .0]); / / V a r i a b l e m y P o s i t i o n is a n a r r a y o f 3 f l o at s v a r m y P o s it i o n = m y P r o p e rt y. va l u e; Example: Change the value of a mask shape to be open instead of closed v a r m y M a s k = m y l a y e r .m a s k ( 1 ) ; v a r m y P r o p e r t y = m yM as k . m a s k P a t h ; myShape = myPro pe rty.v alue ;

120

JavaScript Reference

Property object

121

m y S h a pe .c l o s e d = f a l s e ; myProperty.setValue(myShape); Example: Get the value of a color at a particular time

A color is stored as an array of four floats, [r,g,b,opacity]. This sets the value of the red component of a light's color at time 4 to be half of that at time 2: va r myP rop er ty = m yL igh t. color; va r color Valu e = m yP ro pe rty. value At Tim e( 2,t rue ); c o l o r V a l u e [ 0 ] = 0 . 5 * c o l o r V a l u e [0 ]; myProperty.setValueAtTime(4,colorValue); Example: Check that a scale calculated by an expression at time 3.5 is the expected value of [10,50] va r myProper ty = m yL ayer. sca l e; / / f a l s e v a l u e o f p r e E x p r e s s i o n m e a n s e v a l u at e t h e e x p r e s s i o n va r s c aleV alue = myP rop er ty.v alueA tTime (3 .5,f a ls e) ; i f ( s c a l e V al u e [0 ] = = 1 0 & & s c a l e V a l u e [ 1 ] = = 5 0 ) { a l ert ("h urra y"); } else { a l ert (" oo ps " ) ; } Example: Keyframe a rotation from 0 to 90 and back again

The animation is 10 seconds, and the middle keyframe is at the 5 second mark. Rotation properties are stored as a OneD value. m y P r o p e r t y = m y L a y e r .r o t a t i o n ; m y P r o p e r t y . s e t V a l u e A t T i m e ( 0 , 0 ); m y P r o p e r t y . s e t V a l u e A t T i m e ( 5 , 9 0) ; myProperty.setValueAtTime(10, 0); Example: Change the keyframe values for the first three keyframes of some source text m y P r o p e r t y = m y T e x t L a y e r . s o u r c e T e xt ; i f (m y P r o p e r t y . n u m K e y s < 3 ) { a l ert ("er ror, I th ough t t her e w ere 3 ke yfra mes"); } else { myProper ty.set Va lueAt K ey(1, ne w T e x t D o c u m e n t( " k e y n um b e r 1 " ) ) ; myProper ty.set Va lueAt K ey(2, ne w T e x t D o c u m e n t( " k e y n um b e r 2 " ) ) ; myProper ty.set Va lueAt K ey(3, ne w T e x t D o c u m e n t( " k e y n um b e r 3 " ) ) ; } Example: Set values using the convenience syntax for position, scale, color, or source text // Th ese tw o a re eq uiva lent . The se co nd fi l l s i n a de fa ul t o f 0 . m y L a y e r . p o s i t i o n . se tV al u e ([ 2 0 , 3 0 , 0 ] ) ; m y L a y e r . p o s i t i o n . se tV al u e ([ 2 0 , 3 0 ] ) ; // Th ese tw o a re eq uiva lent . The se co nd fi l l s i n a de fa ul t o f 1 00. myLa yer.scale .setV alue ([50 , 50 , 100 ]); m y L a y e r .s c al e .s e tV al u e ([ 5 0 , 5 0 ]) ; // Th ese tw o a re eq uiva lent . The se co nd fi l l s i n a de fa ul t o f 1 .0

121

JavaScript Reference

Property object

122

myLigh t.co lo r.s et Valu e( [. 8, .3 , .1 , 1. 0] ); myLigh t.co lo r.s et Valu e( [. 8, .3 , .1 ]) ; // Th ese tw o a re eq uiva lent . The s e co n d cr e a t e s a T e xt Do c u m e n t m y T e xt L a y e r . s o u r c e T e x t . s e t V al u e (n e w T e x t D o c u m e n t( " f o o " ) ) ; m y T e xt L a y e r . s o u r c e T e x t . s e t V al u e (" f o o " ) ;

Property addKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .a dd Key( t i m e ) Description

Adds a new keyframe or marker to the named property at the specified time and returns the index of the new keyframe. Parameters t im e

The time, in seconds, at which to add the keyframe. A floating-point value. The beginning of the composition is 0.

Returns

Integer; the index of the new keyframe or marker.

Property canSetExpression attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .c an Se tE x p r e s s io n Description

When true, the named property is of a type whose expression can be set by a script. See also “Property expression attribute” on page 122. Type

Boolean; read-only.

Property canVaryOverTime attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . c a n V a r yO v e rT i m e Description

When true, the named property can vary over time—that is, keyframe values or expressions can be written to this property. Type

Boolean; read-only.

Property expression attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .ex p r e s s i o n Description

The expression for the named property. Writeable only when canSet Expr ession for the named property is true. When you specify a value for this attribute, the string is evaluated.

122

JavaScript Reference

Property object

123

• If the string contains a valid expression, e x p r e s s i o n E n a b l e d becomes true. • If the string does not contain a valid expression, an error is generated, and e xp re ss i on E n a b l ed becomes

false. • If you set the attribute to the empty string, e x p r e s s i o n E n a b l e d becomes false, but no error is generated. Type

String; read/write if c an Se tE x p r e s s io n for the named property is true.

Property expressionEnabled attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .ex p r e s s i o n E n a b le d Description

When true, the named property uses its associated expression to generate a value. When false, the keyframe information or static value of the property is used. This attribute can be set to true only if c a n Se tE x p re ss i on for the named property is true and expr ession contains a valid expression string. Type

Boolean; read/write.

Property expressionError attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .ex p r e s s i o n E r r o r Description

Contains the error, if any, generated by evaluation of the string most recently set in expr ession . If no expression string has been specified, or if the last expression string evaluated without error, contains the empty string (""). Type

String; read-only.

Property hasMax attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .ha s Max Description

When true, there is a maximum permitted value for the named property; otherwise false. Type

Boolean; read-only.

Property hasMin attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .ha s Min Description

When true, there is a minimum permitted value for the named property; otherwise false.

123

JavaScript Reference

Property object

124

Type

Boolean; read-only.

Property isInterpolationTypeValid() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .i s I nte rpo l at io n Ty pe Val i d ( t yp e ) Description

Returns true if the named property can be interpolated using the specified keyframe interpolation type. Parameters t y pe

A K e y f r a m e I n t er p o l a ti o n T y p e enumerated value; one of:

K e y f r a m e I n t er p o l a ti o n T y p e . L I N E A R K e y f r a m e I n t er p o l a ti o n T y p e . B E Z I E R K e y f r a m e I n t er p o l a ti o n T y p e . H O L D Returns

Boolean.

Property isSpatial attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .i s Sp at i al Description

When true, the named property defines a spatial value. Examples are position and effect point controls. Type

Boolean; read-only.

Property isTimeVarying attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .is T im eVa rying Description

When true, the named property is time varying—that is, it has keyframes or an enabled expression. When this attribute is true, the attribute c a n V a r y O v e r T im e must also be true. Type

Boolean; read-only.

Property keyframeInterpolationType attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .k ey f ram e I n te rp ol at i on T y p e Description

The type of interpolation used at a keyframe.

124

JavaScript Reference

Property object

125

Type

A Ke y fr am eI n ter po l ati o n T y pe enumerated value; read/write. One of: K e y f r a m e I n t er p o l a ti o n T y p e . L I N E A R K e y f r a m e I n t er p o l a ti o n T y p e . B E Z I E R K e y f r a m e I n t er p o l a ti o n T y p e . H O L D

Property keyInInterpolationType() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . k e y I n I n t e r p o l a ti o n T y p e ( keyInd ex ) Description

Returns the 'in' interpolation type for the specified keyframe. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the ad d K e y or n e a r e s t K e y I n d e x method.

Returns

A Ke y fr am eI n ter po l ati o n T y pe enumerated value; one of: K e y f r a m e I n t er p o l a ti o n T y p e . L I N E A R K e y f r a m e I n t er p o l a ti o n T y p e . B E Z I E R K e y f r a m e I n t er p o l a ti o n T y p e . H O L D

Property keyInSpatialTangent() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .k eyInS p at ia lTange nt( keyInd ex ) Description

Returns the incoming spatial tangent for the specified keyframe, if the named property is spacial (that is, the value type is T w o D _ SP A T I A L or T hree D_ S P AT I AL ). Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the ad d K e y or n e a r e s t K e y I n d e x method.

Returns

Array of floating-point values: • If the property value type is P r o p e r t y V a l u e T y p e .T wo D _ S P A T I A L , the array contains 2 floating-point

values. • If the property value type is P r o p e r t y V a l u e T y p e . T hr e e D_ S P A T I A L , the array contains 3 floating-point

values. • If the property value type is neither of these types, an exception is generated.

125

JavaScript Reference

Property object

126

Property keyInTemporalEase() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .vk eyInTe m p ora lE as e( keyI ndex ) Description

Returns the incoming temporal ease for the specified keyframe. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

Array of KeyframeEase objects: • If the property value type is P r o p e r t y V a l u e T y p e .T wo D _ S P A T I A L , the array contains 2 objects. • If the property value type is P r o p e r t y V a l u e T y p e . T hr e e D_ S P A T I A L , the array contains 3 objects. • For any other value type, the array contains 1 object.

Property keyOutInterpolationType() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .k eyO utIn ter po la tion Type ( k e y I n d e x) Description

Returns the outgoing interpolation type for the specified keyframe. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

A Ke y fr am eI n ter po l ati o n T y pe enumerated value; one of: K e y f r a m e I n t er p o l a ti o n T y p e . L I N E A R K e y f r a m e I n t er p o l a ti o n T y p e . B E Z I E R K e y f r a m e I n t er p o l a ti o n T y p e . H O L D

Property keyOutSpatialTangent() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .k eyO utSpat i alTan g ent (k e y I n d e x) Description

Returns the outgoing spatial tangent for the specified keyframe. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

126

JavaScript Reference

Property object

127

Returns

Array of floating-point values: • If the property value type is P r o p e r t y V a l u e T y p e .T wo D _ S P A T I A L , the array contains 2 floating-point

values. • If the property value type is P r o p e r t y V a l u e T y p e . T hr e e D_ S P A T I A L , the array contains 3 floating-point

values. • If the property value type is neither of these types, an exception is generated.

Property keyOutTemporalEase() method a pp . pr oj e ct . i t e m (i n de x) .l a y e r( in de x) .p r op e rt y S p e c.k eyO utTe m pora lE ase( keyI ndex ) Description

Returns the outgoing temporal ease for the specified keyframe. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

Array of KeyframeEase objects: • If the property value type is P r o p e r t y V a l u e T y p e .T wo D _ S P A T I A L , the array contains 2 objects. • If the property value type is P r o p e r t y V a l u e T y p e . T hr e e D_ S P A T I A L , the array contains 3 objects. • For any other value type, the array contains 1 object.

Property keyRoving() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .k eyRov in g (k ey I nd e x) Description

Returns true if the specified keyframe is roving. The first and last keyframe in a property cannot rove; if you try to set roving for one of these, the operation is ignored, and k ey R o v i n g ( ) continues to return false. If the property value type is neither T w o D_ S P A T I A L nor T h r e e D_ S P A T I A L , an exception is generated. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

Boolean.

127

JavaScript Reference

Property object

128

Property keySelected() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . k e y S e l e c t e d (k ey I nd e x) Description

Returns true if the specified keyframe is selected. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

Boolean.

Property keySpatialAutoBezier() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .k eySpa tia lA ut oBe z ie r( keyI ndex ) Description

Returns true if the specified keyframe has spatial auto-Bezier interpolation. (This type of interpolation affects this keyframe only if ke ySpat i alCo ntinuo us( keyInd ex ) is also true.) If the property value type is neither T w o D_ S P A T I A L nor T h r e e D_ S P A T I A L , an exception is generated. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

Boolean.

Property keySpatialContinuous() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . k e y S p a ti a lC o n t i n u o u s (k ey I n de x) Description

Returns true if the specified keyframe has spatial continuity. If the property value type is neither T w o D_ S P A T I A L nor T h r e e D_ S P A T I A L , an exception is generated. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

Boolean.

128

JavaScript Reference

Property object

129

Property keyTemporalAutoBezier() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . k e y T e m p o r a l A u t o B e z i e r ( k e y I n d e x) Description

Returns true if the specified keyframe has temporal auto-Bezier interpolation. Temporal auto-Bezier interpolation affects this keyframe only if ke y fr am eI n ter po l at io n T y pe is K e y fr a m e I n t e r p o l a t i o n T y p e . B E Z I E R for both k e y I n I n t e r p o l a t i o n ( keyI ndex ) and ke y Ou tInt erp ola ti on( keyInd ex ) . Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

Boolean.

Property keyTemporalContinuous() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . k e y T e m p o r a l C o n t i n u o u s( keyInd ex ) Description

Returns true if the specified keyframe has temporal continuity. Temporal continuity affects this keyframe only if keyframe Inte rpolat io nType is K e y f r a m e I n t e r p o l a t io n T y p e . B E Z I E R for both k e y I n I n t e r p o l a t io n (k ey I nd e x) and k ey O u t I n te r p o l at i o n ( k e y I n d e x) . Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

Boolean.

Property keyTime() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . k e y T i m e ( keyInd ex ) a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . k e y T i m e ( m a r k e r C o m m en t) Description

Finds the specified keyframe or marker and returns the time at which it occurs. If no keyframe or marker can be found that matches the argument, this method generates an exception, and an error is displayed. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the ad dKe y or near -

e st K ey I n d ex method. markerComment

The comment string attached to a marker (see “MarkerValue comment attribute” on page 99).

129

JavaScript Reference

Property object

130

Returns

Floating-point value.

Property keyValue() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .k eyVa lue( keyInd ex ) a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .k eyVa lue( m a r k e r C o m m en t) Description

Finds the specified keyframe or marker and returns its current value. If no keyframe or marker can be found that matches the argument, this method generates an exception, and an error is displayed. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the ad dKe y or near -

e st K ey I n d ex method. markerComment

The comment string attached to a marker (see “MarkerValue comment attribute” on page 99).

Returns

Floating-point value.

Property maxValue attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .ma x Valu e Description

The maximum permitted value of the named property. If the hasMa x attribute is false, an exception occurs, and an error is generated. Type

Floating-point value; read-only.

Property minValue attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . m i n V a l u e Description

The minimum permitted value of the named property. If the ha sM in attribute is false, an exception occurs, and an error is generated. Type

Floating-point value; read-only.

130

JavaScript Reference

Property object

131

Property nearestKeyIndex() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . n e ar e s t K e y I n d e x (t i m e) Description

Returns the index of the keyframe nearest to the specified time. Parameters t im e

The time in seconds; a floating-point value. The beginning of the composition is 0.

Returns

Integer.

Property numKeys attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . n u m K e y s Description

The number of keyframes in the named property. If the value is 0, the property is not being keyframed. Type

Integer; read-only.

Property propertyIndex attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .p rop er tyInd ex Description

The position index of the named property. The first property is at index position 1. Type

Integer; read-only.

Property propertyValueType attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .p r o p e r ty V a l u e T y p e Description

The type of value stored in the named property. The Pr ope rty V al ue T y pe enumeration has one value for each type of data that can be stored in or retrieved from a property. Each type of data is stored and retrieved in a different kind of structure. All property objects store data according to one of these categories. For example, a 3D spatial property (such as a layer's position) is stored as an array of three floating point values. When setting a value for position, pass in such an array, as follows: my l a ye r.p rop er ty ( " po si t io n "). se tVa lue([10, 20, 0]);

In contrast, a shape property (such as a layer's mask shape) is stored as a Shape object. When setting a value for a shape, pass a Shape object, as follows: v a r m y S h a pe = n e w S h a p e () ;

131

JavaScript Reference

Property object

132

mySha pe .ve rtices = [[0,0 ], [0 ,10 0], [1 00, 100 ], [10 0,0 ]]; v a r m y M a s k = m y l a y e r .p r o p e r t y ( " A DBE Mask Pa rade").pro pe rty(1); m y M as k. pr o pe r ty ( " A D BE M as k S h ap e " ) .s e tV al u e (m y S h a p e ) ; Type

A Pr ope rty V al ue T y pe enumerated value; read/write. One of: E

PropertyValueType.NO_VALUE

Stores no data.

PropertyValueType.ThreeD_SPATIAL

Array of three floating-point positional values. For example, an Anchor Point value might be [10.0, 20.2, 0.0]

PropertyValueType.ThreeD

Array of three floating-point quantitative values. For example, a Scale value might be [100.0, 20.2, 0.0]

P r o p e r t y V a l u e T y p e . T w o D_ S P A T I A L

Array of 2 floating-point positional values For example, an Anchor Point value might be [5.1, 10.0]

PropertyValueType.TwoD

Array of 2 floating-point quantitative values. For example, a Scale value might be [5.1, 100.0]

PropertyValueType.OneD

A floating-point value.

PropertyValueType.COLOR

Array of 4 floating-point values in the range [0.0..1.0]. For example, [0.8, 0.3, 0.1, 1.0]

P r o p e r t y V a l u e T y p e . C U S T O M_ V A L U E

Unimplemented type; you cannot get or set values for properties with this type.

PropertyValueType.MARKER

MarkerValue object; see “MarkerValue object” on page 98.

PropertyValueType.LAYER_INDEX

Integer; a value of 0 means no layer.

PropertyValueType.MASK_INDEX

Integer; a value of 0 means no mask.

Proper tyVa lueType. SH APE

Shape object; see “Shape object” on page 164.

PropertyValueType.TEXT_DOCUMENT

TextDocument object; see “TextDocument object” on page 171.

Property removeKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .re m ove Ke y (k ey I nd e x) Description

Removes the specified keyframe from the named property. If no keyframe with the specified index exists, generates an exception and displays an error. When a keyframe is removed, the remaining index numbers change. To remove more than one keyframe, you must start with the highest index number and work down to the lowest to ensure that the remaining indices reference the same keyframe after each removal. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

Returns

Nothing.

132

JavaScript Reference

Property object

133

Property selectedKeys attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . s e l e c t ed K e y s Description

The indices of all the selected keyframes in the named property. If no keyframes are selected, or if the property has no keyframes, returns an empty array. Type

Array of integers; read-only.

Property setInterpolationTypeAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .s et I n te rp ol at io n T y pe At Ke y (k ey I nd e x, i n Ty p e , o ut T y p e) Description

Sets the ‘in’ and ‘out’ interpolation types for the specified keyframe. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a d dK ey or n e a re s t K e y I n d e x method.

inType

The incoming interpolation type. A K e y f r a m e I n t er p o l a ti o n T y p e enumerated value; one of:

K e y f r a m e I n t er p o l a ti o n T y p e . L I N E A R K e y f r a m e I n t er p o l a ti o n T y p e . B E Z I E R K e y f r a m e I n t er p o l a ti o n T y p e . H O L D outType

(Optional) The outgoing interpolation type. If not supplied, the ‘out’ type is set to the i n T y p e value. A K e y f r a m e I n t er p o l a ti o n T y p e enumerated value; one of:

K e y f r a m e I n t er p o l a ti o n T y p e . L I N E A R K e y f r a m e I n t er p o l a ti o n T y p e . B E Z I E R K e y f r a m e I n t er p o l a ti o n T y p e . H O L D Returns

Nothing.

Property setRovingAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . s e t R o v i n g A tK e y ( k e y I n d ex , n ew Va l) Description

Turns roving on or off for the specified keyframe. The first and last keyframe in a property cannot rove; if you try to set roving for one of these, the operation is ignored, and k ey R o v i n g ( ) continues to return false. If the property value type is neither T w o D_ S P A T I A L nor T h r e e D_ S P A T I A L , an exception is generated. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a d dK ey or n e a r e s t Ke y In de x method.

133

JavaScript Reference

Property object

134

newVal

True to turn roving on, false to turn roving off.

Returns

Nothing.

Property setSelectedAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .s et Se lecte dA tKey( keyInd ex , o nO f f ) Description

Selects or deselects the specified keyframe. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

onOff

True to select the keyframe, false to deselect it.

Returns

Nothing.

Property setSpatialAutoBezierAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .s e t S p a t i a l A u to B e z i e r At K e y( k e y I n d e x , n e w V a l ) Description

Turns spatial auto-Bezier interpolation on or off for the specified keyframe. If the property value type is neither T w o D_ S P A T I A L nor T h r e e D_ S P A T I A L , an exception is generated. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

newVal

True to turn spatial auto-Bezier on, false to turn it off.

Returns

Nothing.

Property setSpatialContinuousAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .s et Sp at i alCon ti nuo usA tK ey( k e y I n d ex , n e w V a l ) Description

Turns spatial continuity on or off for the specified keyframe. If the property value type is neither T w o D_ S P A T I A L nor T h r e e D_ S P A T I A L , an exception is generated.

134

JavaScript Reference

Property object

135

Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

newVal

True to turn spatial continuity on, false to turn it off.

Returns

Nothing.

Property setSpatialTangentsAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .set Spat ialTa n gent sA tKey( k e y I n d ex , i n T a n g e nt , o ut T an g en t) Description

Sets the incoming and outgoing tangent vectors for the specified keyframe. If the property value type is neither T w o D_ S P A T I A L nor T h r e e D_ S P A T I A L , an exception is generated. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

inTangent

The incoming tangent vector. An array of 2 or 3 floating-point values.

• If the property value type is P r o p e r t y V a l u e T y p e . T w o D_ S P A T I A L , the array contains 2 values. • If the property value type is P r o p e r t y V a l u e T y p e . T h r e e D _ S P A T I A L , the array contains 3 values. ou tTa n gent

(Optional) The outgoing tangent vector. If not supplied, the ‘out’ tangent is set to the i n T a n g e n t value. An array of 2 or 3 floating-point values.

• If the property value type is P r o p e r t y V a l u e T y p e . T w o D_ S P A T I A L , the array contains 2 values. • If the property value type is P r o p e r t y V a l u e T y p e . T h r e e D _ S P A T I A L , the array contains 3 values. Returns

Nothing.

Property setTemporalAutoBezierAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . s e t T e m p o r a l A u t o B e z i e r A t K e y ( k e yI n de x , n ew Va l ) Description

Turns temporal auto-Bezier interpolation on or off for the specified keyframe. When this is turned on, it affects this keyframe only if ke ySpa tialCo ntinuo us(k ey I nd e x) is also true. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

newVal

True to turn temporal auto-Bezier on, false to turn it off.

Returns

Nothing.

135

JavaScript Reference

Property object

136

Property setTemporalContinuousAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . s e t T e m p o r a l C o n t in u ou s A t K e y ( k ey I n de x , n ew Va l) Description

Turns temporal continuity on or off for the specified keyframe. When temporal continuity is turned on, it affects this keyframe only if the K e y fr a m e I n ter po l a ti o n T yp e is K e y f r a m e I n t er p o l a ti o n T y p e . B E Z I E R for both k e y I n I n t e r p o l a t i o n ( k e y I n d e x ) and ke y Ou tInt erp ol a t i o n ( keyInd ex ) . Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

newVal

True to turn temporal continuity on, false to turn it off.

Returns

Nothing.

Property setTemporalEaseAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . s e t T e m p o r a l E a s e A t K e y ( k e y I n de x , i n T e m po r a l E a s e , o ut T e m po ra l Ea s e ) Description

Sets the incoming and outgoing temporal ease for the specified keyframe. See “KeyframeEase object” on page 81. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or ne ar-

estKe yI n de x method. i n T e m po r a l E a se

The incoming temporal ease. An array of 1, 2, or 3 KeyframeEase objects.

• If the property value type is Pro pe rty V al ue T y pe .T w oD_ S P AT I A L , the array contains 2 objects. • If the property value type is Pro pe rty V al ue T y pe .T hr eeD _ SP AT I AL , the array contains 3 objects. • For all other value types, the array contains 1 object. ou tTe m po ralEa se

(Optional) The outgoing temporal ease. If not supplied, the outgoing ease is set to the i n T e m po -

r a lE a s e value. An array of 1, 2, or 3 KeyframeEase objects.

• If the property value type is Pro pe rty V al ue T y pe .T w oD_ S P AT I A L , the array contains 2 objects. • If the property value type is Pro pe rty V al ue T y pe .T hr eeD _ SP AT I AL , the array contains 3 objects. • For all other value types, the array contains 1 object. Returns

Nothing.

136

JavaScript Reference

Property object

137

Property setValue() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .set Valu e( ne wV al ue ) Description

Sets the static value of a property that has no keyframes. If the named property has keyframes, this method generates an exception and displayes an error. To set the value of a property with keyframes, use “Property setValueAtTime() method” on page 137 or “Property setValueAtKey() method” on page 137. Parameters ne wV alue

A value appropriate for the type of property being set; see “Property propertyValueType attribute” on page 131.

Returns

Nothing.

Property setValueAtKey() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .set Valu eAt K ey(k ey I n de x, ne wV a lue ) Description

Finds the specified keyframe and sets its value. If the named property has no keyframes, or no keyframe with the specified index, this method generates an exception and displays an error. Parameters k ey I n d ex

The index for the keyframe. An integer in the range [1..numKeys], as returned by the a dd K ey or near estKe y I n d ex method.

ne wV alue

A value appropriate for the type of property being set; see “Property propertyValueType attribute” on page 131.

Returns

Nothing.

Property setValueAtTime() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .set Valu eAt T ime( t i m e , n e w Va l u e ) Description

Sets the value of a keyframe at the specified time. Creates a new keyframe for the named property, if one does not currently exist for the specified time, and sets its value. Parameters t im e

The time in seconds, a floating-point value. The beginning of the composition is 0.

ne wV alue

A value appropriate for the type of property being set; see “Property propertyValueType attribute” on page 131.

137

JavaScript Reference

Property object

138

Returns

Nothing.

Property setValuesAtTimes() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .set Valu esAtTime s( t i m e s , n e w V a l u e s ) Description

Sets values for a set of keyframes at specified of times. Creates a new keyframe for the named property, if one does not currently exist for a specified time, and sets its value. Times and values are expressed as arrays; the arrays must be of the same length. Parameters t im es

An array of times, in seconds. Each time is a floating-point value. The beginning of the composition is 0.

ne wV alue s

A array of values appropriate for the type of property being set; see “Property propertyValueType attribute” on page 131.

Returns

Nothing.

Property unitsText attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . u n i t sT ex t Description

The text description of the units in which the value is expressed. Type

String; read-only.

Property value attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec .va l ue Description

The value of the named property at the current time. • If e x p r e s s i o n E n a b l e d is true, returns the evaluated expression value. • If there are keyframes, returns the keyframed value at the current time. • Otherwise, returns the static value.

The type of value returned depends on the property value type. See examples for “Property object” on page 118. Type

A value appropriate for the type of the property (see “Property propertyValueType attribute” on page 131); read-only.

138

JavaScript Reference

Property object

139

Property valueAtTime() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e rt y S p ec . v a l u e A tT i m e ( t i m e , p r eE x p r e s s i o n ) Description

The value of the named property as evaluated at the specified time. Note that the type of value returned is not made explicit; it will be of a different type, depending on the property evaluated. Parameters t im e

The time in seconds; a floating-point value. The beginning of the composition is 0.

p r e E xp r e ss i o n

If the property has an expression and this is true, return the value for the specified time without applying the expression to it. When false, return the result of evaluating the expression for the specified time. Ignored if the property does not have an associated expression.

Returns

A value appropriate for the type of the property (see “Property propertyValueType attribute” on page 131).

139

JavaScript Reference

PropertyBase object

140

PropertyBase object a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r op e r t y S p ec Description

Properties are accessed by name through layers, using various kinds of expression syntax, as controlled by application preferences. For example, the following are all ways of access properties in the Effects group: va r effect1 = a pp.pro ject .item (1 ).la yer( 1 ) . e f f e c t ( " A d d G r a i n " ) ( " V i e w in g M o d e " ) ; v a r e f f e c t1 ag a in = ap p .p r o j e c t. it e m ( 1) .la yer( 1) .ef f ect. ad d Gr ain.v ie wingM od e; v a r e f f e c t1 ag a in to o = ap p .p r o j e c t. it e m ( 1 ) .l a y e r ( 1 ) (" E f f e c ts " ) .a dd G r ai n . v i e w in g M o d e ; v a r e f f e c t1 ag a in to o 2 = a pp .p r o je c t .i te m (1 ). l ay er ( 1 ) ( " E ff e c t s" ) ( " A d d G r a i n " )( " V i e w i n g M o de " );

See also “PropertyGroup property() method” on page 149. • PropertyBase is the base class for both Property and PropertyGroup, so PropertyBase attributes and

methods are available when working with properties and property groups. See “Property object” on page 118 and “PropertyGroup object” on page 147. Reference invalidation

When something occurs that changes an object sufficiently for the reference to become invalid, script references to that object can generate errors. In simple cases this is straightforward. For example, if you delete an object, a reference to the deleted object generates the warning "Object is Invalid": v a r l ay e r 1 = ap p .p r o je c t.i t e m ( 1 ) .l ay e r (1 ); la ye r1. remov e(); a l ert (l a ye r1. n am e ); / / i n v al i d r ef eren ce to d ele ted obj ect

Similarly, if you reference an AE property in a deleted object, the warning occurs: v a r l ay e r 1 = ap p .p r o je c t.i t e m ( 1 ) .l ay e r (1 ); v a r l a y e r 1 p o s i t i o n = l a y e r 1 . t r a n s f o r m . po s i t i o n ; la ye r1. remov e(); a l e r t (l a ye r 1 p o s i ti o n . v al u e ); / / in v al i d r ef e r e n c e t o p r o p e r t y i n s e l e c t e d o b j e c t

A less straightforward case is when a property is removed from a property group. In this case, After Effects generates the "Object is Invalid" error when you subsequently reference that item or other items in the group, because their index positions have changed. For example: v a r e f f e c t1 = a pp .p r o je c t .i te m (1 ).l a y e r ( 1 ) .ef f e c t (1) ; v a r e f f e c t2 = a pp .p r o je c t .i te m (1 ).l a y e r ( 1 ) .ef f e c t (2) ; va r effect2 pa ram = a pp.proj ect. item (1 ) .l a y e r ( 1 ) .ef f e c t( 2 ) .b l e n dW i t hO r i g i n al ; e f f e c t1 .r e m o v e () ; a l e r t (e ff e c t 2 .n a m e ) ; / / i n v a li d r e f e r e n c e b e ca u s e g r o u p in de x p o s i ti o n s h a v e c h an g e d Attributes Attribute

Reference

Description

name

“PropertyBase name attribute” on page 144

Name of the property.

matchName

“PropertyBase matchName attribute” on page 143

A special name for the property used to build unique naming paths.

140

JavaScript Reference

PropertyBase object

141

Attribute

Reference

Description

p r o p e r ty I n d e x

“PropertyBase propertyIndex attribute” on page 145

Index of this property within its parent group.

p r o p e r ty De pt h

“PropertyBase propertyDepth attribute” The number of levels of parent groups between this property and on page 144 the containing layer.

p r o p e r ty T y p e

“PropertyBase propertyType attribute” on page 145

p ar e n tP r o pe r ty “PropertyBase parentProperty

The property type.

The immediate parent group of this property.

attribute” on page 144

i s M o d i fi e d

“PropertyBase isModified attribute” on page 143

When true, the property has been changed since its creation.

c a n Se t E n a b l e d

“PropertyBase canSetEnabled attribute” When true, the user interface displays an eyeball icon for this propon page 142 erty.

en abled

“PropertyBase enabled attribute” on page 143

When true, this property is enabled.

a ct i ve

“PropertyBase active attribute” on page 141

When true, this property is active.

elided

“PropertyBase elided attribute” on page 142

When true, this property is not displayed in the user interface.

i s E ff e c t

“PropertyBase isEffect attribute” on page 143

When true, this property is an effect.

isMask

“PropertyBase isMask attribute” on page 143

When true, this property is a mask.

selected

“PropertyBase selected attribute” on page 146

When true, this property is selected.

Methods Method

Reference

p r o p e r t y G r o u p ( ) “PropertyBase propertyGroup()

Description Gets the parent group for this property.

method” on page 145

re move ()

“PropertyBase remove() method” on page 146

Removes this from the project.

moveTo()

“PropertyBase moveTo() method” on page 144

Moves this property to a new position in its parent group.

d u p l i ca te ()

“PropertyBase duplicate() method” on page 142

Duplicates this property object.

PropertyBase active attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .a ct ive Description

When true, this property is active. For a layer, this corresponds to the setting of the eyeball icon. For an effect and all properties, it is the same as the e n a b l e d attribute. Type

Boolean; read/write if c a n Se t E n a b l e d is true, read-only if c a n S e t E n a b l e d is false.

141

JavaScript Reference

PropertyBase object

142

PropertyBase canSetEnabled attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .can Se tEna bled Description

When true, you can set the ena b led attribute value. Generally, this is true if the user interface displays an eyeball icon for this property; it is true for all layers. Type

Boolean; read-only.

PropertyBase duplicate() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .d up lica te () Description

If this property is a child of an indexed group, creates and returns a new PropertyBase object with the same attribute values as this one. If this property is not a child of an indexed group, the method generates an exception and displays an error. An indexed group has the type P r o p e r t y T y p e . I N D E X E D _ G R O U P ; see “PropertyBase propertyType attribute” on page 145. Parameters

None. Returns

PropertyBase object.

PropertyBase elided attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec . e l i d ed Description

When true, this property is a group used to organize other properties. The property is not displayed in the user interface and its child properties are not indented in the Timeline panel. For example, for a text layer with two animators and no properties twirled down, you might see: T e xt P at h O pt i o n s Mo re O p tions An ima to r 1 An ima to r 2

In this example, “Animator 1” and “Animator 2” are contained in a PropertyBase called “Text Animators.” This parent group is not displayed in the user interface, and so the two child properties are not indented in the Timeline panel. Type

Boolean; read-only.

142

JavaScript Reference

PropertyBase object

143

PropertyBase enabled attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .en abled Description

When true, this property is enabled. It corresponds to the setting of the eyeball icon, if there is one; otherwise, the default is true. Type

Boolean; read/write if c a n Se t E n a b l e d is true, read-only if c a n S e t E n a b l e d is false.

PropertyBase isEffect attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .is E ff ect Description

When true, this property is an effect PropertyGroup. Type

Boolean; read-only.

PropertyBase isMask attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .is Mas k Description

When true, this property is a mask PropertyGroup. Type

Boolean; read-only.

PropertyBase isModified attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec . i s M o d i fi e d Description

When true, this property has been changed since its creation. Type

Boolean; read-only.

PropertyBase matchName attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec . m a tc h N am e Description

A special name for the property used to build unique naming paths. The match name is not displayed, but you can refer to it in scripts. Every property has a unique match-name identifier. Match names are stable from version to version regardless of the display name (the n am e attribute value) or any changes to the application. Unlike the display name, it is not localized.

143

JavaScript Reference

PropertyBase object

144

An indexed group may not have a n a m e value, but always has a m a t c h N a m e value. (An indexed group has the type P r o p e r t y T y p e . I N D E X E D _ G R O U P ; see “PropertyBase propertyType attribute” on page 145.) Type

String; read-only.

PropertyBase moveTo() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .mov eTo( n e w I n d ex ) Description

Moves this property to a new position in its parent property group. This method is valid only for children of indexed groups; if it is not, or if the index value is not valid, the method generates an exception and displays an error. (An indexed group has the type P r o p e r t y T y p e . I N D E X E D _ G R O U P ; see “PropertyBase propertyType attribute” on page 145.) Parameters ne wIndex

The new index position at which to place this property in its group. An integer.

Returns

Nothing.

PropertyBase name attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .na m e Description

The display name of the property. (Compare “PropertyBase matchName attribute” on page 143.) It is an error to set the nam e value if the property is not a child of an indexed group (that is, a property group that has the type P r o pe rt y T y p e . I N D E X E D _ GR OU P ; see “PropertyBase propertyType attribute” on page 145). Type

String; read/write for a child of an indexed group; otherwise read-only.

PropertyBase parentProperty attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .pare n tPro pe rty Description

The property group that is the immediate parent of this property, or null if this PropertyBase is a layer. Type

PropertyGroup object or null; read-only.

PropertyBase propertyDepth attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .p rop er tyDe pt h

144

JavaScript Reference

PropertyBase object

145

Description

The number of levels of parent groups between this property and the containing layer. The value 0 for a layer. Type

Integer; read-only.

PropertyBase propertyGroup() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec . p r o p e r ty G r o u p( ) a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec . p r o p e r ty G r o u p( co untUp ) Description

Gets the PropertyGroup object for an ancestor group of this property at a specified level of the parent-child hierarchy. Parameters countUp

Optional. The number of levels to ascend within the parent-child hierarchy. An integer in the range [1..pr ope rt yD ep th ]. Default is 1, which gets the immediate parent.

Returns

PropertyGroup object, or null if the count reaches the containing layer.

PropertyBase propertyIndex attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .p rop er tyInd ex Description

The position index of this property within its parent group, if it is a child of an indexed group (a property group that has the type Pr op ert yT yp e. I NDE XED _ G RO UP ; see “PropertyBase propertyType attribute” on page 145). Type

Integer; read-only.

PropertyBase propertyType attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec . p r o p e r t y T y p e Description

The type of this property. Type

A Pr ope rty Ty p e enumerated value; read/write. One of: P r o p e r ty T y p e .P R O P E R T Y

A single property such as position or zoom.

PropertyType.INDEXED_GROUP

A property group whose members have an editable name and an index. Effects and masks are indexed groups. For example, the m a s k s property of a layer refers to a variable number of individual masks by index number.

145

JavaScript Reference

PropertyBase object

146

P r o p e r ty T y p e .N A M E D _ GR OU P

A property group in which the member names are not editable. Layers are named groups.

PropertyBase remove() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec .re m ove () Description

Removes this property from its parent group. If this is a property group, it removes the child properties as well. This method is valid only for children of indexed groups; if it is not, or if the index value is not valid, the method generates an exception and displays an error. (An indexed group has the type P r o p e r t y T y p e . I N D E X E D _ G R O U P ; see “PropertyBase propertyType attribute” on page 145.) This method can be called on a text animation property (that is, any animator that has been set to a text layer). Parameters

None. Returns

Nothing.

PropertyBase selected attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y S p ec . s e l e c t ed Description

When true, this property is selected. Set to true to select the property, or to false to deselect it. Sampling this attribute repeatedly for a large number of properties can slow down system performance. To read the full set of selected properties of a composition or layer, use the s e l e c t e d P r o p e r t ie s attribute of a Comp or Layer object. Type

Boolean; read/write for an effect or mask property group, otherwise read-only.

146

JavaScript Reference

PropertyGroup object

147

PropertyGroup object a pp .p r o j e c t .i te m (i nd e x) .l ay e r ( inde x) .p r op e r t y G r oup S p e c Description

The PropertyGroup object represents a group of properties. It can contain Property objects and other PropertyGroup objects. Property groups can be nested to provide a parent-child hierarchy, with a Layer object at the top (root) down to a single Property object, such as the mask feather of the third mask. To traverse the group hierarchy, use PropertyBase methods and attributes; see “PropertyBase propertyGroup() method” on page 145. For examples of how to access properties and property groups, see “PropertyBase object” on page 140. • PropertyGroup is a subclass of PropertyBase. All methods and attributes of PropertyBase, in addition to

those listed below, are available when working with PropertyGroup. See “PropertyBase object” on page 140. • PropertyGroup is a base class for MaskPropertyGroup. PropertyGroup attributes and methods are available

when working with mask groups. See “MaskPropertyGroup object” on page 102. Attributes Attribute

Reference

Description

n u m P r op e r t ie s

“PropertyGroup numProperties attribute” on page 148 The number of indexed properties in the group.

Methods Method

Reference

Description

p r o p e r ty ( )

“PropertyGroup property() method” on page 149

Gets a member property or group.

c an A d dP r o p e r ty ( )

“PropertyGroup canAddProperty() method” on page 148

Reports whether a property can be added to the group.

a dd P r o p e r t y ()

“PropertyGroup addProperty() method” on page 147

Adds a property to the group.

PropertyGroup addProperty() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y G r oup S p e c . a d dP rop er ty ( n a m e ) Description

Creates and returns a PropertyBase object with the specified name, and adds it to this group. In general, you can only add properties to an indexed group (a property group that has the type P r o p e r t y T y p e . I N D E X E D _ G R O U P ; see “PropertyBase propertyType attribute” on page 145) The only exception is a text animator property, which can be added to a named group (a property group that has the type P r o p e r ty T y p e .N A M E D _ GR OU P) . If this method cannot create a property with the specified name, it generates an exception. To check that you can add a particular property to this group, call c a n A dd P r o p e r t y before calling this method. (See “PropertyGroup canAddProperty() method” on page 148.)

147

JavaScript Reference

PropertyGroup object

148

Parameters name

The display name or match name of the property to add. (See “PropertyBase matchName attribute” on page 143). The following names are supported:

• Any match name for a property that can be added through the user interface. For example, “ADBE Mask Atom”, “ADBE Paint Atom”, “ADBE Text Position”, “ADBE Text Anchor Point”.

• When adding to an ADBE Mask Parade: “ADBE Mask Atom”, “Mask”. • When adding to an ADBE Effect Parade, any effect by match name, such as “ADBE Bulge”, “ADBE Glo2”, “APC Vegas”. • Any effect by display name, such as “Bulge”, “Glow”, “Vegas”. • For text animators, “ADBE Text Animator”. • For selectors, Range Selector has the name “ADBE Text Selector”, Wiggly Selector has the name “ADBE Text Wiggly Selector”, and Expression Selector has the name “ADBE Text Expressible Selector”. Returns

PropertyBase object.

PropertyGroup canAddProperty() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y G r oup S p e c.ca n AddPro pe rty( n a m e ) Description

Returns true if a property with the given name can be added to this property group. For example, you can only add mask to a mask group. The only legal input arguments are “mask” or “ADBE Mask Atom”. m a sk G r o u p. c an A d d Pr o p e r t y (" m a sk " ) ; / / r e tu r n s t r u e m a sk G r o u p. c an A d d Pr o p e r t y (" A DBE M a s k A t o m " ) ; / / r e t u r n s t r u e m a sk G r o u p. c an A d d Pr o p e r t y (" b len d"); // re tur n s false Parameters name

The display name or match name of the property to be checked. (See “PropertyGroup addProperty() method” on page 147).

Returns

Boolean.

PropertyGroup numProperties attribute a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y G r oup S p e c . n u m P r o p e r t i e s Description

The number of indexed properties in this group. For layers, this method returns a value of 3, corresponding to the mask, effect, and motion tracker groups, which are the indexed groups within the layer. However, layers also have many other properties available only by name; see the “PropertyGroup property() method” on page 149. Type

Integer; read-only.

148

JavaScript Reference

PropertyGroup object

149

PropertyGroup property() method a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y G r oup S p e c . p r o pe r ty( in d ex ) a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .p r op e r t y G r oup S p e c . p r o pe r ty( n am e ) Description

Finds and returns a child property of this group, as specified by either its index or name. A name specification can use the same syntax that is available with expressions. The following are all allowed and are equivalent: m y l a ye r .p o s i ti o n m y l a ye r ( " po si ti o n " ) my l a ye r.p rop er ty ( " po si t io n ") m y l a ye r ( 1 ) m y l a ye r . p r o p e r t y ( 1 )

Some properties of a layer, such as position and zoom, can be accessed only by name. When using the name to find a property that is multiple levels down, you must make more than one call to this method. For example, the following call searches two levels down, and returns the first mask in the mask group: m y L a y e r .p r o pe r ty ( " A D BE M as ks " ) .p r o p e r t y (1 ) Parameters index

The index for the child property, in this is an indexed group. An integer in the range [0..n u m P r o p e r -

t i es ]. name

The name of the child property. This can be:

• Any match name • Any name in expression “parenthesis style” syntax, meaning the display name or the compact English name

• Any name in expression “intercap style” syntax For supported property names, see the table below.

Returns

PropertyBase object or null if no child property with the specified string name is found. Properties accessible by name From any Layer

• "ADBE Mask Parade", or “Masks” • "ADBE Effect Parade", or “Effects” • "ADBE MTrackers", or “Motion Trackers”

149

JavaScript Reference

PropertyGroup object

150

From an AVLayer

• "Anchor Point" or "anchorPoint" • "Position" or "position" • "Scale" or "scale" • "Rotation" or "rotation" • "Z Rotation" or "zRotation" or "Rotation Z" or "rotationZ" • "Opacity" or "opacity" • "Marker" or "marker"

From an AVLayer with a non-still source

• "Time Remap" or "timeRemapEnabled"

From an AVLayer with an audio component

• "Audio Levels" or "audioLevels"

From a camera layer

• "Zoom" or "zoom" • "Depth of Field" or "depthOfField" • "Focus Distance" or "focusDistance" • "Aperture" or "aperture" • "Blur Level" or "blurLevel"

From a light layer

• "Intensity" or "intensity" • "Color" or "color" • "Cone Angle" or "coneAngle" • "Cone Feather" or "coneFeather" • "Shadow Darkness" or "shadowDarkness" • "Shadow Diffusion" or "shadowDiffusion" • "Casts Shadows" or "castsShadows"

From a 3D layer

• "Accepts Shadows" or "acceptsShadows" • "Accepts Lights" or "acceptsLights" • "Ambient" or "ambient" • "Diffuse" or "diffuse" • "Specular" or "specular" • "Shininess" or "shininess" • "Casts Shadows" or "castsShadows" • "Light Transmission" or "lightTransmission" • "Metal" or "metal"

From a camera, light or 3D layer

• "X Rotation" or "xRotation" or "Rotation X" or "rotationX" • "Y Rotation" or "yRotation" or "Rotation Y" or "rotationY" • "Orientation" or "orientation"

From a text layer

• "Source Text" or "sourceText" or "Text" or "text"

From a PropertyGroup "ADBE Mask Parade"

• "ADBE Mask Atom"

From a PropertyGroup "ADBE Mask Atom"

• "ADBE Mask Shape", or “maskShape” • "ADBE Mask Feather", or “maskFeather” • "ADBE Mask Opacity", or “maskOpacity” • "ADBE Mask Offset", or “maskOffset”

150

JavaScript Reference

PropertyGroup object

151

Examples

1 If a layer named “myLayer” has a Box Blur effect, you can retrieve the effect in any of the following ways: m y L a y e r .p r o pe r ty ( “ E f fe c ts ” ). p r o p e r t y (“ B o x Bl u r ” ); m y L a y e r .p r o pe r ty ( “ E f fe c ts ” ). p r o p e r t y (“ b o xB l u r ” ) ; m y L a y e r .p r o pe r ty ( “ E f fe c ts ” ). p rop ert y (“ A DB E Box B lu r” ) ;

2 If a layer named “myLayer” has a mask named “Mask 1” you can retrieve it as follows: m y L a y e r .p r o pe r ty ( “ M a sk s ” ). pr o p e r t y (“ M as k 1 ” );

3 To get a Bulge Center value from a Bulge effect, you can use either of the following: m y L a y e r .p r o pe r ty ( “ E f fe c ts ” ). p r o p e r t y(“B ulge”).pro pe rty(“Bu lg e Cent er” ); m y L a y e r .p r o pe r ty ( “ E f fe c ts ” ). p r o p e r t y( “ B ul g e ” ) . p r o pe rt y ( “ b u l g e C e n t e r ” ) ;

151

JavaScript Reference

RenderQueue object

152

RenderQueue object a pp.proj ect .render Qu eue Description

The RenderQueue object represents the render automation process, the data and functionality that is available through the Render Queue panel of a particular After Effects project. Attributes provide access to items in the render queue and their render status. Methods can start, pause, and stop the rendering process. The RenderQueueItem object provides access to the specific settings for an item to be rendered. See “RenderQueueItem object” on page 155. Attributes Attribute

Reference

Description

re nde ring

“RenderQueue rendering attribute” on page 154

When true, a render is in progress.

nu mIte ms

“RenderQueue numItems attribute” on page 153

The total number of items in the render queue.

i te m s

“RenderQueue items attribute” on page 153

The collection of items in the render queue.

Methods Method

Reference

Description

showWindow()

“RenderQueue showWindow() method” Show or hides the Render Queue panel. on page 154

r e n d e r( )

“RenderQueue render() method” on page 153

Starts the rendering process; does not return until render is complete.

p au se R e n d e r i n g ( )

“RenderQueue pauseRendering() method” on page 153

Pauses or restarts the rendering process.

s to pR e n d e r i n g ( )

“RenderQueue stopRendering() method” on page 154

Stops the rendering process.

i te m ( )

“RenderQueue Item() method” on page 152

Gets a render-queue item from the collection.

RenderQueue Item() method a pp.proj ect .render Qu eue .item ( i nd e x) Description

Gets a specified item from the i te m s collection. Parameters index

The position index of the item. An integer in the range [0..n um I tem s ].

Returns

RenderQueueItem object.

152

JavaScript Reference

RenderQueue object

153

RenderQueue items attribute a pp.proj ect .render Qu eue .item s Description

A collection of all items in the render queue. See “RenderQueueItem object” on page 155. Type

RQItemCollection object; read-only.

RenderQueue numItems attribute a pp.proj ect .render Qu eue .numIt ems Description

The total number of items in the render queue. Type

Integer; read-only.

RenderQueue pauseRendering() method a pp . p r o j e c t .r e n d e r Q u e u e .p a u s e R e n d e r i n g ( p au s e ) Description

Pauses the current rendering process, or continues a paused rendering process. This is the same as clicking Pause in the Render Queue panel during a render. You can call this method from an o n S t a t u s C h a n g e d or onE rror callback. See “RenderQueueItem onStatusChanged attribute” on page 157 and “Application onError attribute” on page 26. Parameters p au se

True to pause a current render process, false to continue a paused render.

Returns

Nothing.

RenderQueue render() method a pp.proj ect .render Qu eue .render () Description

Starts the rendering process. This is the same as clicking Render in the Render Queue panel. The method does not return until the render process is complete. To pause or stop the rendering process, call p a u se R e n d e r i n g ( ) or s t o pR e n d e r i n g ( ) from an onEr ror or onS t at usC han ged callback. • To respond to errors during the rendering process, define a callback function in ap p .o n E r r o r ; see “Appli-

cation onError attribute” on page 26. • To respond to changes in the status of a particular item while the render is progressing, define a callback

function in R enderQ ueu eIt em.o n Sta tusCha n ged in the associated RenderQueueItem object; see “RenderQueueItem onStatusChanged attribute” on page 157.

153

JavaScript Reference

RenderQueue object

154

Parameters

None. Returns

Nothing.

RenderQueue rendering attribute a pp . pr o j e c t .r e n d e r Q u e u e .r e n d e r i n g Description

When true, the rendering process is in progress or paused. When false, it is stopped. Type

Boolean; read-only.

RenderQueue showWindow() method a pp.proj ect .render Qu eue .sh ow Windo w( d oS h ow ) Description

Shows or hides the Render Queue panel. Parameters doShow

When true, show the Render Queue panel. When false, hide it.

Returns

Nothing.

RenderQueue stopRendering() method a pp.proj ect .render Qu eue .st opRen de ring() Description

Stops the rendering process. This is the same as clicking Stop in the Render Queue panel during a render. You can call this method from an o n S t a t u s C h a n g e d or onErr or callback. See “RenderQueueItem onStatusChanged attribute” on page 157 and “Application onError attribute” on page 26. Parameters

None. Returns

Nothing.

154

JavaScript Reference

RenderQueueItem object

155

RenderQueueItem object a pp.proj ect .render Qu eue .item s( i n d ex ) Description

The RenderQueueItem object represents an individual item in the render queue. It provides access to the specific settings for an item to be rendered. Create the object by adding a composition to the Render Queue with the RQItemCollection object; see “RQItemCollection add() method” on page 161. Attributes Attribute

Reference

Description

n u m O u tp u t M o d u l e s

“RenderQueueItem numOutputModules attribute” on page 157

The total number of Output Modules assigned to the item.

re nde r

“RenderQueueItem render attribute” on page 158

When true, this item is rendered when the queue is started.

s ta r tT im e

“RenderQueueItem startTime attribute” on page 159

The time when rendering began for the item.

elapsedSeconds

“RenderQueueItem elapsedSeconds attribute” on page 156

The time elapsed in the current rendering of this item.

t im eS pa n S ta r t

“RenderQueueItem timeSpanStart attribute” on page 160

The start time in the composition to be rendered.

t im eS pa n Du rat i o n

“RenderQueueItem timeSpanDuration attribute” on page 160

The duration of the composition to be rendered.

s ki p F r a m e s

“RenderQueueItem skipFrames attribute” on page 159

The number of frames to skip when rendering this item.

comp

“RenderQueueItem comp attribute” on page 156

The composition to be rendered by this item.

outputModules

“RenderQueueItem outputModules attribute” on page 158

The collection of Output Modules for this item.

t em p l at es

“RenderQueueItem templates attribute” on A set of Render Settings templates. page 160

s ta tu s

“RenderQueueItem status attribute” on page 159

The current rendering status of the item.

onStatusChanged

“RenderQueueItem onStatusChanged attribute” on page 157

A callback function that is called during the rendering process when the status of the item changes.

logType

“RenderQueueItem logType attribute” on page 157

A log type for this item.

Methods Method

Reference

Description

outputModule()

“RenderQueueItem outputModule() method” on page 158

Gets an Output Module for the item.

re move ()

“RenderQueueItem remove() method” on page 158

Removes the item from the render queue.

s a v e A s T e m p l a t e( )

“RenderQueueItem saveAsTemplate() method” on page 159

Saves a new Render Settings template.

155

JavaScript Reference

RenderQueueItem object

156

Method

Reference

Description

a pp l y T e m p l at e ( )

“RenderQueueItem applyTemplate() method” on page 156

Applies a Render Settings template.

d u p l i ca te

“RenderQueueItem duplicate() method” on page 156

Duplicates this item.

RenderQueueItem applyTemplate() method a pp.proj ect .render Qu eue .item .ap p l y T e m p l at e ( t e m p l a t e N am e ) Description

Applies a Render Settings template to the item. See also “RenderQueueItem saveAsTemplate() method” on page 159 and “RenderQueueItem templates attribute” on page 160. Parameters t em p l at eN a m e

A string containing the name of the template to apply.

Returns

Nothing.

RenderQueueItem comp attribute a pp.proj ect .render Qu eue .item (i nd e x) .c o m p Description

The composition that will be rendered by this render-queue item. To change the composition, you must delete this render-queue item and create a new one. Type

CompItem object; read-only.

RenderQueueItem duplicate() method a pp.proj ect .render Qu eue .item (i nd e x) .d u p l ic a te () Description

Creates a duplicate of this item and adds it this render queue. Parameters

None. Returns

RenderQueueItem object.

RenderQueueItem elapsedSeconds attribute a pp.proj ect .render Qu eue .item (i nd e x) .e l a ps e d S e c o n d s

156

JavaScript Reference

RenderQueueItem object

157

Description

The number of seconds spent rendering this item. Type

Integer, or null if item has not been rendered; read-only.

RenderQueueItem logType attribute a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e. l o g T y p e Description

A log type for this item, indicating which events should be logged while this item is being rendered. Type

A L o g T y p e enumerated value; (read/write). One of: L o g T y p e .E R R OR S _ O N L Y L o g T y pe . E R R OR S _ A N D _ S E T T I N G S L o g T y pe . E R R OR S _ A N D _ P E R _ F R A M E _ I N F O

RenderQueueItem numOutputModules attribute a pp.proj ect .render Qu eue .item (i nd e x) .n u m Ou tp u t M o d u l e s Description

The total number of Output Modules assigned to this item. Type

Integer; read-only.

RenderQueueItem onStatusChanged attribute a pp.proj ect .render Qu eue .item (i nd e x) .o n S t a t u s C h a n g e d Description

The name of a callback function that is called whenever the value of the Re n de rQ ueue I te m .s ta tus attribute changes. See “RenderQueueItem status attribute” on page 159. You cannot make changes to render queue items or to the application while rendering is in progress or paused; you can, however, use this callback to pause or stop the rendering process. See “RenderQueue pauseRendering() method” on page 153 and “RenderQueue stopRendering() method” on page 154. See also “Application onError attribute” on page 26. Type

A function name string, or null if no function is assigned. Example f u n c t io n m y S t a t u s C h a n g e d ( ) { a l ert (a pp.pro ject .ren de rQu eue .item (1 ). st at us) }

157

JavaScript Reference

RenderQueueItem object

158

a pp.proj ect .render Qu eue .item (1 ).o n S t a t u s C h a n g e d = m y S t a t u s C h a n g e d ( ) ; a pp.proj ect .render Qu eue .item (1 ).r ender = f al s e ; / / c h a n g e s s ta tu s an d s h o w s di a l o g

RenderQueueItem outputModules attribute a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e s Description

The collection of Output Modules for the item. Type

OMCollection object; read-only.

RenderQueueItem outputModule() method a pp.proj ect .render Qu eue .item (i nd e x) .o u t p u t M o d u l e ( i n d ex ) Description

Gets an output module with the specified index position. Parameters index

The position index of the output module. An integer in the range [1..numO ut pu tM odules ].

Returns

OutputModule object.

RenderQueueItem remove() method a pp.proj ect .render Qu eue .item (i nd e x) .re move () Description

Removes this item from the render queue. Parameters

None. Returns

Nothing.

RenderQueueItem render attribute a pp.proj ect .render Qu eue .item (i nd e x) .re nde r Description

When true, the item will be rendered when the render queue is started. When set to true, the R e n d e r Q ueu eIt em.st atu s is set to R QI t em S ta tu s. QU E UE D . When set to false, st at us is set to RQI temS ta tu s. U N Q U E U E D .

158

JavaScript Reference

RenderQueueItem object

159

Type

Boolean; read/write.

RenderQueueItem saveAsTemplate() method a pp.proj ect .render Qu eue .item (i nd e x) .s a v e A s T e m p l a t e( n a m e ) Description

Saves the item’s current render settings as a new template with the specified name. Parameters name

A string containing the name of the new template.

Returns

Nothing.

RenderQueueItem skipFrames attribute a pp.proj ect .render Qu eue .item (i nd e x) .s ki p F r am e s Description

The number of frames to skip when rendering this item. Use this to do rendering tests that are faster than a full render. A value of 0 skip no frames, and results in regular rendering of all frames. A value of 1 skips every other frame. This is equivalent to "rendering on twos." Higher values skip a larger number of frames. The total length of time remains unchanged. For example, if skip has a value of 1, a sequence output would have half the number of frames and in movie output, each frame would be double the duration. Type

Integer in the range [0..99]. Read/write.

RenderQueueItem startTime attribute a pp.proj ect .render Qu eue .item (i nd e x) .s ta r tT im e Description

The day and time that this item started rendering. Type

Date object, or null if the item has not started rendering; read-only.

RenderQueueItem status attribute a pp.proj ect .render Qu eue .item (i nd e x) .s ta tu s Description

The current render status of the item.

159

JavaScript Reference

RenderQueueItem object

160

Type

An R Q I t e m S t a tu s enumerated value; read-only. One of: R Q I t e m S t a tu s. W I L L _ C O N T I N U E

Rendering process has been paused.

R Q I t e m S t a tu s. N E E D S _ O U T P U T

Item lacks a valid output path.

R Q I t e m S t a tu s. UN Q U E U E D

Item is listed in the Render Queue panel but composition is not ready to render.

R Q I t e m S t a tu s. QU E U E D

Composition is ready to render.

R Q I t e m S t a tu s. RE N D E R I N G

Composition is rendering

R Q I t e m S ta tu s. U S E R _ S T O PP E D

Rendering process was stopped by user or script.

R Q I t e m S t a tu s. E R R _ S T O P P E D

Rendering process was stopped due to an error.

R Q I t e m S t a tu s. DO N E

Rendering process for the item is complete.

RenderQueueItem templates attribute a pp.proj ect .render Qu eue .item (i nd e x) .t em p l at es Description

The names of all Render Settings templates available for the item. See also “RenderQueueItem saveAsTemplate() method” on page 159.

Type

Array of strings; read-only.

RenderQueueItem timeSpanDuration attribute a pp.proj ect .render Qu eue .item (i nd e x) .t im eS pa n Du rat i o n Description

The duration in seconds of the composition to be rendered. The duration is determined by subtracting the start time from the end time. Setting this value is the same as setting a custom end time in the Render Settings dialog box. Type

Floating-point value; read/write.

RenderQueueItem timeSpanStart attribute a pp.proj ect .render Qu eue .item (i nd e x) .t im eS pa n S ta r t Description

The time in the composition, in seconds, at which rendering will begin. Setting this value is the same as setting a custom start time in the Render Settings dialog box. Type

Floating-point value; read/write.

160

JavaScript Reference

RQItemCollection object

161

RQItemCollection object a pp.proj ect .render Qu eue .item s Description

The RQItemCollection contains all of the render-queue items in a project, as shown in the Render Queue panel of the project. The collection provides access to the RenderQueueItem objects, and allows you to create them from compositions. The first RenderQueueItem object in the collection is at index position 1. See “RenderQueueItem object” on page 155 • RQItemCollection is a subclass of Collection. All methods and attributes of Collection are available when

working with RQItemCollection. See “Collection object” on page 51. Methods Method

Reference

Description

a dd ( )

“RQItemCollection add() method” on page 161

Adds a composition to the Render Queue.

RQItemCollection add() method a pp.proj ect .render Qu eue .item s. add( c o m p ) Description

Adds a composition to the Render Queue, creating a RenderQueueItem. Parameters comp

The CompItem object for the composition to be added.

Returns

RenderQueueItem object.

161

JavaScript Reference

Settings object

162

Settings object Description

The Settings object provides an easy way to manage settings for scripts. The settings are saved in the After Effects preferences file and are persistent between application sessions. Settings are identified by section and key within the file, and each key name is associated with a value. In the preferences file, section names are enclosed in brackets and quotation marks, and key names are listing in quotation marks below the section name. All values are strings. You can create new settings with this object, as well as accessing existing settings. Methods Method

Reference

Description

s av e S e tt i n g ()

“Settings saveSetting() method” on page 163

Saves a default value for a setting.

ge tS et ti ng( )

“Settings getSetting() method” on page 162

Retrieves a setting value.

h aveS e tt in g ()

“Settings haveSetting() method” on page 162

Reports whether a specified setting is assigned.

Settings getSetting() method a pp . se t t i ng s .get Sett ing( se ct i on N a m e, ke y N am e ) Description

Retrieves a scripting preferences item value from the preferences file. Parameters s e c t io n N am e

A string containing the name of a settings section

k ey N a m e

A string containing the key name of the setting item.

Returns

String. Example

If you have saved a setting named with the key name “Aligned Clone” in the “Eraser - Paint Settings” section, you can retrieve the value with this script: v a r n = ap p .se tt i n g s. g e t Se tt i n g (" E r as e r - P a i n t S e t t i n g s ", " A l i g n e d C l o n e " ) ; a l e r t (" T h e s e tt i n g i s " + n );

Settings haveSetting() method a pp . se t t i ng s .ha veSet ting( s ec t i o n N a m e , k e y N a m e) Description

Returns true if the specified scripting preferences item exists and has a value.

162

JavaScript Reference

Settings object

163

Parameters s e c t io n N am e

A string containing the name of a settings section

k ey N a m e

A string containing the key name of the setting item.

Returns

Boolean.

Settings saveSetting() method a pp . se t t i ng s .s ave Se tt in g (s e c t i o n N a m e , k ey N a m e , v a l u e) Description

Saves a default value for a scripting preferences item. Parameters s e c t io n N am e

A string containing the name of a settings section

k ey N a m e

A string containing the key name of the setting item.

va lue

A string containing the new value.

Returns

Nothing.

163

JavaScript Reference

Shape object

164

Shape object a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .pro pe rty ( in d ex ). pr op ert y (" m a sk S ha pe "). value Description

The Shape object encapsulates information describing a shape in a shape layer, or the outline shape of a Mask. It is the value of the “Mask Path” AE properties, and of the "Path" AE property of a shape layer. Use the constructor, new S h a p e ( ) , to create a new, empty Shape object, then set the attributes individually to define the shape. A shape has a set of anchor points, or vertices, and a pair of direction handles, or tangent vectors, for each anchor point. A tangent vector (in a non-RotoBezier mask) determines the direction of the line that is drawn to or from an anchor point. There is one incoming tangent vector and one outgoing tangent vector associated with each vertex in the shape. A tangent value is a pair of x,y coordinates specified relative to the associated vertex. For example, a tangent of [-1,-1] is located above and to the left of the vertex and has a 45 degree slope, regardless of the actual location of the vertex. The longer a handle is, the greater its influence; for example, an incoming shape segment stays closer to the vector for an in T an g e n t of [-2,-2] than it does for an i n T a n g e n t of [-1,-1], even though both of these come toward the vertex from the same direction. If a shape is not closed, the i n T a n g e n t for the first vertex and the ou tTa n gent for the final vertex are ignored. If the shape is closed, these two vectors specify the direction handles of the final connecting segment out of the final vertex and back into the first vertex. RotoBezier masks calculate their tangents automatically. (See “MaskPropertyGroup rotoBezier attribute” on page 103.) If a shape is used in a RotoBezier mask, the tangent values are ignored. This means that, for RotoBezier masks, you can construct a shape by setting only the v e r ti c e s attribute and setting both in T an g e n ts and o utT an g e n ts to null. When you access the new shape, its tangent values are filled with the automaticallycalculated tangent values. Example: Create a square mask

A square is a closed shape with 4 vertices. The i n T a n g e n ts and o u t T a n g e n t s for connected straight-line segments are 0, the default, and do not need to be explicitly set. v a r m y S h a pe = n e w S h a p e () ; my S ha pe .ve rti c es = [[ 0,0 ], [0 ,10 0], [1 00, 100 ], [ 10 0,0 ]] ; m y S h a p e .c l o s e d = t r u e ; Example: Create a “U” shaped mask

A "U" is an open shape with the same 4 vertices used in the square: v a r m y S h a pe = n e w S h a p e () ; my S ha pe .ve rti c es = [[ 0,0 ], [0 ,10 0], [1 00, 100 ], [ 10 0,0 ]] ; m y S h a pe .c l o s e d = f a l s e ; Example: Create an oval

An oval is a closed shape with 4 vertices and with i n T a n g e n t and o utT a n g en t values: v a r m y S h a pe = n e w S h a p e () ; m y S h a p e .v e r t i c e s = [ [ 3 0 0 , 5 0 ], [2 00,1 50],[30 0,25 0],[400 ,150 ]]; m y S h a pe .i n T a n g e n t s = [ [ 5 5 . 2 3 ,0 ] , [ 0 , - 5 5 .2 3] ,[ - 5 5.2 3 ,0 ], [0 , 5 5 . 2 3 ] ] ; mySha pe .ou tTa n gent s = [[-55 .23 ,0],[0, 55.2 3],[55. 23,0 ], [0 ,-55 .23]]; m y S h a p e .c l o s e d = t r u e ;

164

JavaScript Reference

Shape object

165

Attributes Attribute

Reference

Description

closed

“Shape closed attribute” on page 165

When true, the shape is a closed curve.

ve rtices

“Shape vertices attribute” on page 166

The anchor points of the shape.

inTangents

“Shape inTangents attribute” on page 165

The tangent vectors coming into the shape vertices.

outTangents

“Shape outTangents attribute” on page 165

The tangent vectors coming out of the shape vertices.

Shape closed attribute s h a p e O b j ec t .va lu e.clos ed Description

When true, the first and last vertices are connected to form a closed curve. When false, the closing segment is not drawn. Type

Boolean; read/write.

Shape inTangents attribute s h a p e O b j ec t . v a lu e. i n T a n g e n t s Description

The incoming tangent vectors, or direction handles, associated with the vertices of the shape. Specify each vector as an array of two floating-point values, and collect the vectors into an array the same length as the ve rtices array. Each tangent value defaults to [0,0]. When the mask shape is not RotoBezier, this results in a straight line segment. If the shape is in a RotoBezier mask, all tangent values are ignored and the tangents are automatically calculated. Type

Array of floating-point pair arrays; read/write.

Shape outTangents attribute s h a p e O b j ec t .va lu e.o utT angen ts Description

The outgoing tangent vectors, or direction handles, associated with the vertices of the shape. Specify each vector as an array of two floating-point values, and collect the vectors into an array the same length as the ve rtices array. Each tangent value defaults to [0,0]. When the mask shape is not RotoBezier, this results in a straight line segment. If the shape is in a RotoBezier mask, all tangent values are ignored and the tangents are automatically calculated.

165

JavaScript Reference

Shape object

166

Type

Array of floating-point pair arrays; read/write.

Shape vertices attribute s h a p e O b j ec t .va lu e.v ert ice s Description

The anchor points of the shape. Specify each point as an array of two floating-point values, and collect the point pairs into an array for the complete set of points. For example: my S ha pe .ve rti c es = [[ 0,0 ], [0 ,1] , [ 1,1 ], [1 ,0] ] ; Type

Array of floating-point pair arrays; read/write.

166

JavaScript Reference

ShapeLayer object

167

ShapeLayer object a pp .p r o j e c t .i te m (i nd e x) .l a y e r( in de x) Description

The ShapeLayer object represents a shape layer within a composition. Create it using the LayerCollection object’s a dd S h ap e ( ) method; see “LayerCollection addShape() method” on page 94. It can be accessed in an item’s layer collection either by index number or by a name string. • ShapeLayer is a subclass of AVLayer, which is a subclass of Layer. All methods and attributes of AVLayer and

Layer are available when working with ShapeLayer. See “Layer object” on page 83 and “AVLayer object” on page 39.

167

JavaScript Reference

SolidSource object

168

SolidSource object a pp .p r o j e c t .i te m (i nd e x) . m a in So ur c e a pp .p r o j e c t .i te m (i nd e x) .p roxySour ce Description

The SolidSource object represents a solid-color footage source. • SolidSource is a subclass of FootageSource. All methods and attributes of FootageSource, in addition to

those listed below, are available when working with SolidSource. See “FootageSource object” on page 67. Attributes Attribute

Reference

Description

color

“SolidSource color attribute” on page 168

The color of the solid.

SolidSource color attribute s o l i d S our c e .c o l o r Description

The color of the solid, expressed as red, green, and blue values. Type

Array of three floating-point values, [R, G, B], in the range [0.0..1.0]; read/write.

168

JavaScript Reference

System object

169

System object s y st e m Description

The System object provides access to attributes found on the user’s system, such as the user name and the name and version of the operating system. It is available through the sy s te m global variable. Example a l e r t ( " Y ou r O S i s " + s y s t e m . o s n a m e + " r u n n i n g v er s i o n " + s y s t e m . os v e r s i o n ) ; confirm("You are: " + system.userName + " running on " + system.machineName + "."); Attributes Attribute

Reference

Description

userName

“System userName attribute” on page 170

The current user name.

machineName

“System machineName attribute” on page 169 The name of the host computer.

osName

“System osName attribute” on page 170

The name of the operating system.

osVe rsio n

“System osVersion attribute” on page 170

The version of the operating system.

Method

Reference

Description

c a l l S y s t e m ()

“System callSystem() method” on page 169

Execute’s a command on the system’s command line.

Methods

System callSystem() method s y st e m . c a l l S ys t e m ( c m d L in e T o E x e c u te ) ; Description

Executes a system command, as if you had typed it on the operating system’s command line. Returns whatever the system outputs in response to the command, if anything. In Windows, you can invoke commands using the / c switch for the c m d . e x e command, passing the command to run in escaped quotes (\ " . . . \ " ). For example, the following retrieves the current time and displays it to the user: v a r t im e S t r = s y s t e m . c a l lS y s t e m ( " c m d . e x e / c \ " t i m e / t \ " " ) ; a l e r t ( " C u r r e n t t im e i s " + t i m e S t r ) ; Parameters c m d L i n e T o E xe c u t e

A string containing the command and its parameters.

Returns

The output from the command.

System machineName attribute s y st e m . m a c h i n e N a m e

169

JavaScript Reference

System object

170

Description

The name of the computer on which After Effects is running. Type

String; read-only.

System osName attribute s y st e m . osN ame Description

The name of the operating system on which After Effects is running. Type

String; read-only.

System osVersion attribute s y st e m . o s V er s i o n Description

The version of the current local operating system. Type

String; read-only.

System userName attribute s y st e m . u s e r N a m e Description

The name of the user currently logged on to the system. Type

String; read-only.

170

JavaScript Reference

TextDocument object

171

TextDocument object ne w Te xt Do cument( do cT ex t ) a pp .p r o j e c t .i te m (i nd e x) .laye r( in de x) .pro pe rty ( " S o u r c e T e x t " ) . v a l u e Description

The TextDocument object stores a value for a TextLayer's Source Text property. Create it with the constructor, passing the string to be encapsulated. Examples

This sets a value of some source text and displays an alert showing the new value: v a r m y T e x t D o cu m e n t = n e w T e x tD o c u m e n t( " H a pp y C a ke ") ; m y T e xt L a y e r . p r o p e r t y ( " So u r c e T e x t " ) . s e t V a l u e ( m y T e x t D oc u m e n t ) ; a l e r t ( m y T e xt L a ye r . p r o p e r t y ( " S o u r c e T ex t " ) . v a l u e ) ;

This sets keyframe values for text that show different words over time: var textProp = myTextLayer.property("Source Text"); t ex t P r o p . s e t V a l u e A t T i m e ( 0 , n e w T e x tD o c u m e n t( " H ap py " ) ) ; t extProp.set Va lueA tTime(.3 3, ne w Te xtD ocumen t("cak e")); t ex t P r o p . s e t V a l u e A t T i m e ( . 6 6 , n e w T e x t D o c u m e n t( " is " ) ) ; t ex t P r o p . s e t V a l u e A t T i m e ( 1 , n e w T e x t D o c u m e n t( " y u m m y! " )) ; Attributes Attribute

Reference

Description

t ex t

“TextDocument text attribute” on page 171

The text layer’s Source Text value.

TextDocument text attribute t e x t D o c u m e n t .t ext Description

The text value for the text layer’s Source Text property. Type

String; read/write.

171

JavaScript Reference

TextLayer object

172

TextLayer object a pp .p r o j e c t .i te m (i nd e x) .l a y e r( in de x) Description

The TextLayer object represents a text layer within a composition. Create it using the LayerCollection object’s a dd T ex t method; see “LayerCollection addText() method” on page 95. It can be accessed in an item’s layer collection either by index number or by a name string. • TextLayer is a subclass of AVLayer, which is a subclass of Layer. All methods and attributes of AVLayer and

Layer are available when working with TextLayer. See “Layer object” on page 83 and “AVLayer object” on page 39. AE Properties

TextLayer defines no additional attributes, but has the following AE properties and property groups, in addition to those inherited from AVLayer: T e xt Source Text P at h O pt i o n s P at h Reverse Path Perpendicular To Path For c e Alignmen t F i r s t M ar g i n Last Margin M ore O p ti on s A n ch o r P o i n t G r o u p i n g G r o up in g A l ig n m e n t F i l l & St r o k e Int er-C har acte r Ble n ding An ima to rs Unused Properties and Attributes

The T i m e R e m a p and M oti on T r ac k ers properties, inherited from AVLayer, are not applicable to text layers, and their related AVLayer attributes are not used: c a n Se tT i m e R em a p E n ab l e d t im eRem ap E n ab l e d t rac k M a tt eT y p e i s T r a c k M a tt e h as T rac k Ma tt e

172

Examples

This section describes sample scripts that are included on your DVD, giving an overview of what they do and a description of how they work. This set of examples is by no means exhaustive, but it does demonstrate some of scripting’s more complex features in action. It also shows some typical programming constructions from JavaScript that apply to scripting. For more examples from Adobe and from other After Effects users, visit Adobe Studio Exchange at http://share.studio.adobe.com, and choose Script in the Adobe After Effects section.

Save and increment This script, s a v e_ a n d _ i n c r e m en t . js x , automatically saves a new copy of the open After Effects project and increments a three-digit number in its name to distinguish it from previous versions of the project. Note: Although much of the functionality of this script has been superseded by the incremental save feature that was introduced in After Effects 6.5, it is still included here because it makes effective use of conditionals, functions, and the ExtendScript File object. This script does the following: • Determines whether the currently open project has ever been saved. If the project has not been saved, pops

up an alert telling the user to save the project, and ends. • If the project has been saved at least once before, defines variables for the name of the file and the numbering

and file extension that we plan to add to it. • Checks to see if there is an underscore character four characters from the end of the current file name. If

there is, assume that the incrementer has run before and increment the current numerical string, then extract the name without the numerical extension. • An incrementer loop tests for whether the numbering has extended to two or three digits (for example, if

the numbering has reached “_010” or above, or “_100” or above), assigning a zero for each if not. • Creates a new file using the updated name and extension, and displays an alert letting the user know the new

file name being saved. • Saves the project with the new file name.

173

Examples

Render named items

174

Render named items This script, re n de rN am ed I tem s. jsx , finds compositions in the open project with a particular text string in their names and sends all such compositions to the render queue. This script does the following: • Checks to see if a default string for rendering has already been set in the user preferences. If so, set this as a

user prompt. This is handy if you’re always looking for the same string (for example, “FINAL” or “CURRENT”). If not, we set a new se c ti onNa m e and ke y N ame in the preferences file, along with a placeholder value for the string that will be entered by the user. • Display a prompt to the user asking for a text string to use. • Goes through the project looking for the text entered by the user, and checks if the item that contains that

text is a composition. Sends all matching compositions to the render queue. • If the user cancels, the text is undefined. Otherwise, saves the new setting in preferences, converting it to all

lowercase letters for consistency (although the search is not case sensitive). • Makes the Render Queue panel visible and bring it to the front, ready for the user to assign save locations

for the new render queue items.

New render locations This script, n e w R e n d e r L o c at io n s. js x , allows the user to select queued items in the render queue and assign a new render destination for them. This script does the following: • Prompts the user for a new folder to use as a render destination. • Checks that the user entered a new location (and didn’t cancel), then creates a loop for each selected render

queue item, and for each output module in it. • If an item is queued, gives the current render location a new name and location, and displays an alert stating

the new file path.

Smart import This script, s m art I m p o rt .j sx , allows the user to import the full, nested contents of a folder just by selecting it. It attempts to detect whether each item is a still, moving footage, or an image sequence. The user still has to make other choices in dialog boxes, such as which layer of a multi-layer image (such as a PSD file) to import. This script does the following: • Prompts the user for a folder whose contents are to be imported, and checks that the user chooses a folder

rather than cancelling. • Defines a function, pr oc es sF ol d er () , to import each of the files in the chosen folder, which uses several

helper functions. • Defines a helper function, tes t ForS eq uence () , to test whether a given file is part of a sequence. This uses

regular expressions, which are a special type of JavaScript designed to reduce the number of steps required to evaluate a string. The first one tests for the presence of sequential numbers anywhere in the file name, followed by another making certain that the sequential files aren’t of a type that can’t be imported as a sequence (moving image files). The function then checks adjacent files to see if a sequence exists, stopping after we’ve evaluated ten

174

Examples

Render and e-mail

175

files to save processing time. If no match is found for a number string, assumes there is no image sequence and checks for an array consisting of the matched string and its location within the file name. If all files are part of a numbered sequence, assumes a sequence and returns the first file of that sequence. • Defines a helper function to pop up error dialog boxes if there is a problem with any file we are attempting

to import. • Defines a helper function to actually import any image sequence discovered using t es t F o r S e q u en c e ( ) .

There is an option for forcing alphabetical order in sequences, which is commented out in the script as written. If you want to force alphabetical order, uncomment the line i m p ort Op ti on s.f or ce Alp ha be ti cal = t ru e . • Calls the main function, p r o c e s s F o l d e r ( ) .

Render and e-mail This script, r e n de r _ a n d_ e m ai l . j s x , renders all queued items in an open project and sends an e-mail report to indicate when the render has completed. It makes use of two other scripts that follow, e m ai l _ m e t h o d s .js x (to send the e-mail properly) and ema i l_set up.j sx (which establishes the sender, recipient, and e-mail server). This script does the following: • Establishes conditions under which the script will run. An open project with at least one item queued is

required. • Checks whether e-mail settings are already saved in the preferences. If not, run the e m ai l _ s e t u p .js x script,

which prompts the user for the mail gateway and sender and recipient addresses. (If there are saved settings that you need to change, you can always run the script to make new settings that overwrite the existing ones.) • Render the items in the render queue. • When rendering is complete, creates a text string for the e-mail message that contains the start time of the

render, the render time of each item in the queue, and the total render time. • E-mails the message, using the settings (such as the server) from the ema il_me th ods.j sx script • Displays an error if for any reason it is unable to send the mail.

A helper script, ema i l_meth ods. jsx , creates an e-mail object, using the ExtendScript Socket object. For details of that utility, see the Creative Suite 3 JavaScript Tools Guide. Another helper script, e m ai l _ s etu p. js x , prompts the user for the server name, e-mail sender, and e-mail recipient that are saved as Settings. You can run this script as standalone any time you want to change the settings. This script is a good example of how to create settings that are saved in preferences for the sole use of scripting (as opposed to altering existing After Effects preferences settings).

Convert selected properties to markers This script, C on v ert Se l ec te d P ro pe rti es t o Ma rke rs .js x , goes through the properties in each layer that are currently selected in the Timeline panel, and converts the value of each property at each frame time to a Flash Video event cue point in a marker.

175

Examples

Convert selected properties to markers

176

This script adds a layer-time marker on the layer at the same time as each keyframe for each selected property. Each marker is associated with an event-type Flash Video cue point, and the cue point is given a parameter whose name is the name of the property and whose value is the property’s value at that time. If the selected property has an expression, a marker is created for each frame, with the values sampled at each frame. Note: This script does not convert properties that have complex value types, such as the Path property for a paint stroke, the Curves property of a Curve effect, or a gradient property. When you render the composition as Flash video, all markers that contain cue-point data are converted to Flash Video cue points.

176

After Effects Object Summary

This code dump summarizes all public JavaScript objects (instantiable classes) and enumerated types defined for After Effects CS3. = == == === == == === == === == == === == === == == === == === == == === == == === == === == == === == A l ph aM ode en um - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A l ph aM ode .I G N O RE A l ph aM ode .PREMU L TIPLIED A l ph aM ode .S T RAI GH T = == == === == == === == === == == === == === == == === == === == == === == == === == === == == === == A pp l i c at io n ob je c t - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a c ti va te () no re tu rn b e g i n Su pp r e ss Di a l o g s () n o r e tu r n be ginUndoGro up(str ing undoNam e) n o ret urn b u i ld N a m e : s t r i n g : r e ad On l y b u i ld N u m b e r : i n t eg e r : r e a d O n l y c a n c e l T a s k ( i n t e g e r ta skID ) no ret urn e n d Su pp r e ss Di a lo g s( b o o le an s how Ale rt) no r etu rn e n d U n d o G r o u p( ) n o r e t u r n e n d W a t c h F o l d e r ( ) n o r e t ur n e x it A f t e r L a u n c h A n d E v a l : b o o l e a n : r e a d / w r i t e e x it Code : int ege r : re ad/write findMenuCommandId() returns integer i s P r o f e s s i o n a l V e r si o n : b o o l e a n : r e a d O n ly i s R e n de rE n g i n e : b o o l e a n : r e a d O n l y i s UI S u pp r e s s e d : b o o l e an : r e ad O n l y i s W a t c h F o l d e r : b o o l e an : r ea d O n l y l a n g u a g e : L an g u a g e : r e a d O n l y m em o r yI n U s e : n u m b e r : r e a d O n l y n ewPro ject () no r etu rn o pe n ([ F i l e f il e ]) r e t u r n s P r o j e c t o pe n T e m p l a t e ( F i l e f i l e T oO p e n W it h T e m p l a t e Se m a n t i c s ) n o r e t u r n pa rse S wa tchFile(File swa tch File ) re tu rns Swat chO b ject p a u s e W a t c h F o l d e r ( b o o l e a n d o P a u se ) n o r e t ur n p ro ject : P roje c t : r ead O n ly pur g e(Pu rgeTa rge t t arge t) no re tur n q uit () no re tu rn sa veProj ectO nCra sh : boo le an : rea d/write s c he du leTas k (s tr i n gToEx ecu te, floa t d ela y, boole an re pe at ) re tu rns tas k ID s et Me m oryU sa geLi mi ts ( floa t i m a g eCa c heP er ce n t, floa t m ax i m umM emoryP er ce n t) no r etu rn s et S ave Pr ef eren c e sO n Q ui t( b ool e an d oS ave ) n o ret urn s et ti n g s : S et ti n g s : r ead O n l y

177

After Effects Object Summary

178

ve rsio n : string : rea dO n ly w a t c h F o l d e r ( F i l e f i l e ) n o r e t ur n o n E r r o r (s t r in g e r r o r S t r i n g , s t r i n g s e v e r it y ) n o r e t ur n = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == AV Laye r obje ct - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - ( i n t e g e r p r o p e r t y I n d e x ) r e t ur n s P r o p e r t y B a s e ( st r i n g p r o p e r ty N am e) r e t ur n s P r o p e r t y B a s e a ct i v e : b o o l e a n : r e a d O n l y a ct i v e A tT i m e ( f l o a t a t T i m e ) r e t u r n s b o o l e an a dd P r o p e r t y ( s t r i n g p r o p e r t y N a m e ) r e t u r n s P r o pe rt y B as e a dj us t m e n tL a y e r : b o o l e a n : r e a d/ w r i t e a pp l y Pr e s e t( s tr in g p re se tN a m e) n o re tur n a ud io Ac ti ve : b ool e an : r ead O n l y a ud io Acti ve AtTi m e (f l oa t a tTi me) re tur n s boo l ean a u d io E n a b l e d : b o o l e a n : r e a d / wr i t e auto Orie nt : A utoOr ie ntType : read/write b l end i ngMo de : Bl e n di ngM od e : re ad /w ri te c a l c u l a t e T r a n s f o r m Fr o m P o i n t s ( A r r a y [ t o p , l e f t ] , A r r a y [t o p ,ri g ht ] , A r r ay [ b o tt o m , r i g ht ]) r e t u r n s Ob j e c t w i th tra n s fo r m p r o p e r t i e s set c an A d dP r o p e r ty ( st r i n g p r o p ert y N am e) r et urn s b o o l ea n c a n Se tC o ll a p s e T ra n s f o r m a t i o n : b o o l e a n : r e a d O n l y c an Se tE n a b l ed : b ool e an : r ead O n l y c a n Se tT i m e R em a p E n ab l e d : b o o le an : r e a d O n l y c o l l a p s e T r an s f o r m a t i o n : b o o l e a n : r e a d/ w r i t e c o m m e n t : s t r i n g : r ea d / w r i t e containingComp : CompItem : readOnly copyToComp(CompItem intoComp) no return d u p l i ca te () r e t u r n s A V L ay e r effectsActive : boolean : read/write e l i d e d : b o o le an : r e a dO n l y e n a b l e d : b o o le an : r e a d/ w r i t e fram eBle nding : boolea n : re adOnly f r a m e B l e n d i n g T y p e : F r a m e Bl e n d i n g T y p e : r ea d / w r i t e gu ideLa y er : boolea n : re ad/wr it e h as Aud i o : b oo le an : rea dO n l y h asTrack Ma tt e : boo l ean : rea dO n ly h as Vi de o : b oo l ean : rea dO n l y h eight : flo at : rea d Only i n P o i n t : fl o a t : r e a d/ w r i t e i n d e x : i n t e g e r : r e a dO n l y i s E f f ec t : b o o l e an : r ea d O n l y i s M a s k : b o o l e an : r ea d O n l y i s M o d i fi e d : b o o l e a n : r e a dO n l y i s N a m e Fr o m S o u r c e : b o o le an : r e a d O n l y is Name Se t : bo olean : rea d Only isTrackMatte : boolean : readOnly l o c k e d : b o o le an : r e a d/ w r i t e m a t c h N a m e : s t r i n g : r ea d O n l y m o t i o n B lu r : b o o l e a n : r e a d / w r i t e mo veAfte r(Layer oth erLa y er) no re tu rn

178

After Effects Object Summary

179

mo veBe fo re(Laye r ot herL ayer) no r etu rn moveTo(integer index) no return moveToBeginning() no return moveToEnd() no return n a m e : s t r i n g : r e a d / w r it e n u ll L a y e r : b o o l e a n : r e a d O n l y nu mPr opert ie s : int ege r : re adO n ly o u t P o i n t : f l o at : r e a d/ w r i t e p ar en t : L ay er : re ad / wr it e p ar en tP ro pe rty : Pro pe rty G ro up : re ad On l y preser veTra n spa rency : bo olea n : rea d /wr it e p r o p e r t y ( i n t e g e r p r o p e r t y I n d e x ) r e tu r n s Pr o p e r t y Bas e p r o p e r ty ( st r i n g p r o p e r t y N am e ) r e tu r n s Pr o p e r t y Bas e proper tyDe pt h : int ege r : re adO n ly p r o p e r t y G r o u p ( [ i n t e g e r c o u n t Up ] ) r e tu r n s Pr o p e r t y Gr o u p p r o p e r t y T y p e : P r o p e r t y T y p e : r ea d O n l y q ua l i t y : L a y e r Q u al i t y : r e a d/ w r i t e re move () no re tu rn r e p l a c e S o u r c e (I t e m n e w S o u r c e , bo o l e a n f i x E x p r e s s i o n s) n o r e t u r n s elect ed : boole an : r ead /w rite s e l e c t e d P r o p e r t i e s : A r r a y o f P r o p e rt yB as e : r e a dO n l y s et Pa ren t W i th Jum p ( L ay e r newParen t) no re tur n s h y : b o o l e a n : r e a d/ w r i t e s olo : bo olea n : rea d /writ e s our ce : AV Ite m : re ad Only s o u r ce R e c t A t T im e( f l o a t a t T i m e , b o o l e a n i n c l u d e E x t e n t s ) ret urns Obj ect with flo at pro pe r ties : t op ; lef t ; w id t h; h eight s ta rtT ime : f l oat : re ad /wr it e s tr etch : f lo at : rea d /wr it e t hre eDLa yer : boolea n : re ad/wr it e t hre eDPer C ha r : boole an : rea d/write t im e : f l o at : re ad On ly t im eRem ap E n ab l e d : b ool ea n : re ad / wr it e t r a c k M a t t e T y p e : T r a c k M a t t e T y p e : r e a d / w r it e w i dt h : f l o a t : r ead O n l y = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == B le n ding Mode en um - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - B le n d i n g M o d e . A DD B le n d in g Mod e.A L P HA_ A DD B le n d in g M o d e . C L A S S I C _ C O L O R _ B UR N B le n d in g M o d e . C L A S S I C _ C O L O R _ D O D G E B le n d i n g M o d e . C L A S S I C _ D I F F E R E N C E B le n d in g M o d e . C OL O R B le n d in g M o d e . C OL O R _ B UR N B le n d in g M o d e . C OL O R _ D O D G E B le n d in g Mod e.D AN C I N G _D I S S OL V E B le n d i n g M o d e . D AR K E N B le n d ing Mod e.D ARK ER _COL OR B le n d i n g M o d e . D I F F E R E N C E B le n d in g M o d e . D I S S O L V E

179

After Effects Object Summary

180

B le n ding Mode.E XCLU S ION B le n d in g Mod e.H AR D_ L I G H T B le n d i n g M o d e . H AR D_ M I X B le n d i n g M o d e . H UE B le n d i n g M o d e . L I G H T E N B le n d in g M o d e . L I G H T E R _ C O L O R B le n d i n g M o d e . L I N E A R _ B U R N B le n d i n g M o d e . L I N E A R _ D O D G E B le n d i n g M o d e . L I N E A R _ L I GH T B le n ding Mode.L UMIN E SC ENT_PREMU L B le n d i n g M o d e . L UM I N OS I T Y B le n d in g M o d e . M UL T I PL Y B le n ding Mode.N ORM AL B le n d in g M o d e . O V E RL A Y B le n d in g M o d e . P I N _ L I GH T B le n ding Mode.SAT URA TION B le n d i n g M o d e . S C R E E N B le n d in g M o d e . S I L H O U E T E _ A L P H A B le n d in g M o d e . S I L H O U E T T E _ L U M A B le n d in g M o d e . S O F T _ L I G H T B le n d in g M o d e . S T E N C I L _ A L P H A B le n d in g M o d e . S T E N C I L _ L U M A B le n d in g M o d e . V I V I D _ L I G H T = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == CloseOptions enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - CloseOptions.DO_NOT_SAVE_CHANGES C l o s e O p t i o n s . P R O M P T _ T O _ SA VE _ C H A N G E S CloseOptions.SAVE_CHANGES = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == CompItem object - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a ct i v e C a m e r a : L a y e r : r e a d O n l y a pp l y Pr e s e t( s tr in g p re se tN a m e) n o re tur n bgColor : Array of float : read/write c o m m e n t : s t r i n g : r ea d / w r i t e d i s p l a y S t a r t T i m e : f l oa t : r ead /w rite d r a ft 3 d : b o o l e an : r e ad / w r i te d u p l i ca te () r e t u r n s C o m pI te m dura tion : flo at : rea d/writ e f o o t a g e Mi s s i n g : b o o l e a n : r e a d O n l y fram eBle nding : boolea n : re ad/wr it e f ram eDu rat ion : f l oat : r ead /w rite fram eRa te : floa t : rea d/w rit e h as Aud i o : b oo le an : rea dO n l y h as Vi de o : b oo l ean : rea dO n l y h e i g h t : i n te g e r : r e a d / w r i te h id e S h y L a y e r s : b o o l e an : r e a d/ w r i t e i d : i n te g e r : r e a dO n l y l a y e r ( i n t eg e r l a y e r I n d e x ) r et u r n s L a y e r l a y e r ( s t r i n g l a y e r N a m e ) r et u r n s L a y e r

180

After Effects Object Summary

181

laye r(Layer oth erLa y er, int ege r rela tive Inde x) re tu rns Layer l a y e r s : L a y e r C o l l e c t i o n : r e a d O n ly m o t i o n B lu r : b o o l e a n : r e a d / w r i t e n a m e : s t r i n g : r e a d / w r it e nu mLayer s : int ege r : re adOn ly p a r en t F o l de r : F o l d e r I te m : r e a d/ w r i t e p i xe lAs pe c t : f l oa t : r ead /w ri te pr e s e r v e N e s t e d F r a m e Ra t e : b o o l e a n : r e a d / w r it e p r e s e r v e N e s t e d R e s o l u t i o n : b o o l e a n : r e a d/ w r i t e p r o x y S o u r ce : F o o t a g e S o u r c e : r e a d O n l y re move () no re tu rn re nde rer : st ring : read/write re nde rer s : A rra y of st ring: re adOn ly re so lu tionFa ctor : Arr ay of inte ger : rea d/write s elect ed : boole an : r ead /w rite selectedLayers : Array of Layer : readOnly s e l e c t e d P r o p e r t i e s : A r r a y o f P r o p e rt yB as e : r e a dO n l y s e t Pr o x y( F i l e p r o x y F i l e ) n o r e t u r n s e t P r ox yT oN o n e ( ) n o r e t u r n s et Pr o x yW it hP l ac e ho l d e r ( s t r i n g n a m e , i n t eg e r w i d t h , i n t eg e r hei g ht , f l oa t f rame Rat e, floa t d ur ati on ) no ret urn s et Pr o x yW it hS eq ue n c e(F i l e p ro xy F i l e, b o o l ea n fo rc eAl p ha b et ic a l ) n o ret urn set Pr oxyW it hSolid(A rra yO fFloat color, st ring nam e, int eger width , inte ger h eight , float pixelAspecRatio) no return shut te rAngle : inte ger : rea d/write shut te rPha se : integ er : r ead/write t im e : f l o at : re ad / w ri te t y p e N a m e : s t r i n g : r ea d O n l y usePro xy : boolea n : re ad/wr it e u s e d I n : A r r a y o f CompIte m : re adOnly w i dt h : int ege r : re ad /wr it e workAre aD ura tion : floa t : rea d/write w o rk Are aS ta rt : f l o at : re ad / wr it e = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == F i e l d S e p a r a ti o n T y p e e n u m - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - FieldSeparationType.LOWER_FIELD_FIRST F i e l d S e p a r a ti o n T y p e . O F F F i e l d S e p a r a ti o n T y p e . U P PE R _ F I E L D _ F I R S T = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == FileSource object - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a lp h aMo de : A l p h a M o d e : r e ad / w r i te conform F rame Rat e : floa t : read/write d i s p l a y F r a m e R at e : f l o a t : r e a d O n l y f i e l d S e pa ra t i o n T y p e : F i e l d S e p a r a ti o n T y p e : r e a dO n l y f i le : File : r ead O n ly guessAlphaMode() no return g u e ss P u l l d o w n (P u l l d o w n M e t h o d p ul l d ow nMet ho d) no re tu rn h as Al ph a : b ool ea n : re ad On l y h ig h Q u a l i t y F i e l d S e p a r a t i o n : b o o l e a n : r e a d / w r it e

181

After Effects Object Summary

182

inve rtA l ph a : boo l ean : rea d/writ e i s St i l l : b o o l e a n : r e a d On l y loo p : int ege r : re ad/wr it e m i s s i n g F o ot a g e P a t h : s t r i n g : r e a d O n l y na tive Fr ame Rat e : f l oa t : r ead O n ly p rem ul C ol or : Arr ay of fl o at : rea d/ w ri t e r e l o a d ( ) n o r e t ur n r e m o v e Pu l ld o w n : P u l l d o w n P h a s e : r e a dO n l y = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = FolderItem object - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - c o m m e n t : s t r i n g : r ea d / w r i t e i d : i n te g e r : r e a dO n l y i te m ( in t e g e r i te m I n de x ) r e tu r n s I te m items : ItemCollection : readOnly n a m e : s t r i n g : r e a d / w r it e nu mIte ms : in tege r : r eadOnly p a r en t F o l de r : F o l d e r I te m : r e a d/ w r i t e re move () no re tu rn s elect ed : boole an : r ead /w rite t y p e N a m e : s t r i n g : r ea d O n l y = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == F o o ta g e I t e m o b j e c t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - c o m m e n t : s t r i n g : r ea d / w r i t e d ura ti on : flo at : rea dO n ly f i le : File : r ead O n ly f o o t a g e Mi s s i n g : b o o l e a n : r e a d O n l y f ram eDu rat ion : f l oat : r ead O n ly fram eRa te : floa t : rea dO n ly h as Aud i o : b oo le an : rea dO n l y h as Vi de o : b oo l ean : rea dO n l y h e i g h t : i n te g e r : r e a d / w r i te i d : i n te g e r : r e a dO n l y ma in So urce : FootageSou rce : r eadO n ly n a m e : s t r i n g : r e a d / w r it e p a r en t F o l de r : F o l d e r I te m : r e a d/ w r i t e p i xe lAs pe c t : f l oa t : r ead /w ri te p r o x y S o u r ce : F o o t a g e S o u r c e : r e a d O n l y re move () no re tu rn re pl a c e( F il e pro x yF i l e) no r etu rn re pla c eWith Pla ceho lder (st ring name , inte ger w i dth, in tege r he ig ht, flo at fra m eRa te , float du rat i on) no ret urn re pl a c eW i th Se qu en c e( F i l e p rox y F i le , b ool e an f orc e Al ph ab et i c al ) n o re tur n re pla c eWith S olid(Arr ayO fFloa t color , string n ame, in teg er w i dt h , i n t e g e r h e i g h t, f l o a t p i x e l A s pe c R a t i o ) no ret urn s elect ed : boole an : r ead /w rite s e t Pr o x y( F i l e p r o x y F i l e ) n o r e t u r n s e t P r ox yT oN o n e ( ) n o r e t u r n s et Pr o x yW it hP l ac e ho l d e r ( s t r i n g n a m e , i n t eg e r w i d t h , i n t eg e r hei g ht , f l oa t f rame Rat e, floa t d ur ati on ) no ret urn

182

After Effects Object Summary

183

s et Pr o x yW it hS eq ue n c e(F i l e p ro xy F i l e, b o o l ea n fo rc eAl p ha b et ic a l ) n o ret urn set Pr oxyW it hSolid(A rra yO fFloat color, st ring nam e, int eger width , inte ger h eight , float pixelAspecRatio) no return t im e : f l o at : re ad On ly t y p e N a m e : s t r i n g : r ea d O n l y usePro xy : boolea n : re ad/wr it e u s e d I n : A r r a y o f CompIte m : re adOnly w i dt h : int ege r : re ad /wr it e = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == I m p o r tA s T y p e e n u m - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - I m p o r tA s T y p e .C O M P I m p o r tA s T y p e .C O M P _ C R O P PE D_ L A Y E R S I m p o r tA s T y p e .F O O T A G E I m p o r tA s T y p e .P R O J E C T = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == I m p o r tO pt i o n s o b jec t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - n e w I m p o r tO pt i o n s (F i l e f i l e T oIm por t) ret urn s Impor tO pt i ons c a n I m p o r t A s ( I m p o r tA s T y p e a s T y p e ) r e t u r n s b o o l e an f i le : File : r ead /w rite f o r c e A l p h ab e t i c a l : b o o l e a n : r e a d/ w r i t e i m p o r t A s : I m p o r t A s T y p e : r e ad / wr it e s e q ue n c e : b o o l e a n : r ea d / w r i t e = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == I t e m C o l le c t i o n o b j ec t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a dd C o m p ( st r i n g n a m e , i n t e g e r wi d th , i n t e g e r h e i g h t , f l o a t p ix e lA sp e c t R a t i o , f l o a t d u r a ti o n , f l o a t f r a m e R a te ) r e tur n s C o m p I te m a dd F o l d e r ( s t r i n g n a m e ) r e t u r n s F o l d e rI t e m = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == KeyframeEase object - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - n e w K e y f r a m e E a s e ( f l o a t s p e ed , f lo at i n f l u e n c e ) r e t ur n s K e y f r a m e E a s e i n f l uen c e : fl o at : rea d/ w ri t e s pe e d : f l o at : r e ad / wr it e = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == == K e y f r a m e I n t er p o l a ti o n T y p e e n u m - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - K e y f r a m e I n t e r p o l a ti o n T y p e . B E Z I E R K e y f r a m e I n t er p o l a ti o n T y p e . H O L D K e y f r a m e I n t er p o l a ti o n T y p e . L I N E A R = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = Language enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - L a n g u a g e . E N GL I SH Language.FRENCH Language.GERMAN L a n g u a g e . I T AL I A N Language.JAPANESE Language.SPANISH

183

After Effects Object Summary

184

= == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = CameraLayer object - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - ( i n t e g e r p r o p e r t y I n d e x ) r e t ur n s P r o p e r t y B a s e ( st r i n g p r o p e r ty N am e) r e t ur n s P r o p e r t y B a s e a ct i v e : b o o l e a n : r e a d O n l y a ct i v e A tT i m e ( f l o a t a t T i m e ) r e t u r n s b o o l e an a dd P r o p e r t y ( s t r i n g p r o p e r t y N a m e ) r e t u r n s P r o pe rt y B as e a dj us tm en tL a y er : b o ol ean : rea dO n l y a pp l y Pr e s e t( s tr in g p re se tN a m e) n o re tur n auto Orie nt : A utoOr ie ntType : read/write c an A d dP r o p e r ty ( st r i n g p r o p ert y N am e) r et urn s b o o l ea n c an Se tE n a b l ed : b ool e an : r ead O n l y c o m m e n t : s t r i n g : r ea d / w r i t e containingComp : CompItem : readOnly copyToComp(CompItem intoComp) no return d u p l i ca te () r e t u r n s C a m e r aL a ye r e l i d e d : b o o le an : r e a dO n l y e n a b l e d : b o o le an : r e a d/ w r i t e h as Vi de o : b oo l ean : rea dO n l y i n P o i n t : fl o a t : r e a d/ w r i t e i n d e x : i n t e g e r : r e a dO n l y i s E f f ec t : b o o l e an : r ea d O n l y i s M a s k : b o o l e an : r ea d O n l y i s M o d i fi e d : b o o l e a n : r e a dO n l y is Name Se t : bo olean : rea d Only l o c k e d : b o o le an : r e a d/ w r i t e m a t c h N a m e : s t r i n g : r ea d O n l y mo veAfte r(Layer oth erLa y er) no re tu rn mo veBe fo re(Laye r ot herL ayer) no r etu rn moveTo(integer index) no return moveToBeginning() no return moveToEnd() no return n a m e : s t r i n g : r e a d / w r it e n u ll L a y e r : b o o l e a n : r e a d O n l y nu mPr opert ie s : int ege r : re adO n ly o u t P o i n t : f l o at : r e a d/ w r i t e p ar en t : L ay er : re ad / wr it e p ar en tP ro pe rty : Pro pe rty G ro up : re ad On l y p r o p e r t y ( i n t e g e r p r o p e r t y I n d e x ) r e tu r n s Pr o p e r t y Bas e p r o p e r ty ( st r i n g p r o p e r t y N am e ) r e tu r n s Pr o p e r t y Bas e proper tyDe pt h : int ege r : re adO n ly p r o p e r t y G r o u p ( [ i n t e g e r c o u n t Up ] ) r e tu r n s Pr o p e r t y Gr o u p p r o p e r t y T y p e : P r o p e r t y T y p e : r ea d O n l y re move () no re tu rn s elect ed : boole an : r ead /w rite s e l e c t e d P r o p e r t i e s : A r r a y o f P r o p e rt yB as e : r e a dO n l y s et Pa ren t W i th Jum p ( L ay e r newParen t) no re tur n s h y : b o o l e a n : r e a d/ w r i t e s olo : bo olea n : rea d /writ e s ta rtT ime : f l oat : re ad /wr it e

184

After Effects Object Summary

185

s tr etch : f lo at : rea d /wr it e t im e : f l o at : re ad On ly = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = L a y e r C o ll e c t i o n o b j ec t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a dd ( A V I t e m t he I t e m , [ fl o at dur at io n ]) re tur n s A VL a ye r a dd C a m era (s tr i n g n am e , Ar rayO fFlo at ce nte rPoint) ret urn s La yer a dd L i g h t (s t r i n g n a m e , Ar rayO fFlo at ce nte rPoint) ret urn s La yer a dd N u l l ( [ f l o a t d u r a t i o n ] ) r e t ur n s A V L a y e r a dd S h a p e ( ) r e t ur n s L a y e r a dd S o l i d ( A r ra y O fF l o a t c o lo r , s tr in g n a m e , i n t e ge r w i d t h , in t e ge r h e ig h t, fl o a t p i x e l A s pe c tRa ti o , [ f l o at d u r a ti o n ] ) r e tu r n s A V L a y e r a dd T ex t ([ T ex t Do c u m en t te xt Do c] ) ret urn s AV L ay er a dd T e x t (s t r i n g te xt ) r e t u r n s A V L ay e r b y N a m e ( s t r i n g n a m e ) r e t ur n s L a y e r p rec o m po se (Ar ray O f Inte ger l a ye rInd i c es , st r i n g n a m e , [ b o o le a n m o v e A l l A t t r i b u t e s ] ) r e t ur n s C o m p I t e m = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = LayerQuality enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - LayerQuality.BEST L a y e r Q u a l i t y . D R AF T L a y e r Q u a l i t y . W I R E FR AM E = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = = Log T ype enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - L o g T y pe . E R R O R S _ A N D _ P E R _ F R A M E _ I N F O L o g T y p e .E R R O R S _ A N D _ S E T T I N G S L o g T y p e .E R R O R S _ O N L Y = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = M a r k e r V al u e o b j e c t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - n e w M ar k e r V al u e (s t r i n g c o m m e n t, [ s t r i n g c h ap te r], [s t ring url] , [ st ring f ram eTar get ]) ret urns Ma rke rVa lue cha p ter : string : rea d/write c o m m e n t : s t r i n g : r ea d / w r i t e c u e Po in t N a m e : s t r in g : r e a d / w r i t e ev ent C uePoint : boole an : r ead/w rite fram eTar get : string : rea d/write ge tPara m et ers() r etu rns ob j e c t w i t h p r o p e r t i e s s e t s e t Pa r am e te r s (O b jec t ke y V a l u eP a i r s ) n o r e t ur n u r l : s t r i n g : r e a d/ w r i t e = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == Ma skM ode enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - Ma skM ode .AD D Ma skM ode .D ARKEN M a s k M ode . D I F F E R E N C E

185

After Effects Object Summary

186

Ma skM ode .INTE RSECT Ma skM ode .LIGH T EN Ma skM ode .NO N E M a s k M od e . S U B T R A C T = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == Ma skM otionB l ur e n um - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - M a s k M ot i o n B l u r . OF F Ma skM otionB l ur. ON M a s k M ot i o n B l u r . SA ME _ A S _ L A YE R = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == Ma skProper tyGrou p o b ject - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - ( i n t e g e r p r o p e r t y I n d e x ) r e t ur n s P r o p e r t y B a s e ( st r i n g p r o p e r ty N am e) r e t ur n s P r o p e r t y B a s e a ct i v e : b o o l e a n : r e a d O n l y a dd P r o p e r t y ( s t r i n g p r o p e r t y N a m e ) r e t u r n s P r o pe rt y B as e c an A d dP r o p e r ty ( st r i n g p r o p ert y N am e) r et urn s b o o l ea n c an Se tE n a b l ed : b ool e an : r ead O n l y c ol or : Arr ay of f lo at : rea d / wr it e d u p l i ca te () r e t u r ns M askProper tyGrou p e l i d e d : b o o le an : r e a dO n l y e n a b l e d : b o o le a n : r e a dO n l y inve rte d : boolea n : re ad/wr it e i s E f f ec t : b o o l e an : r ea d O n l y i s M a s k : b o o l e an : r ea d O n l y i s M o d i fi e d : b o o l e a n : r e a dO n l y l o c k e d : b o o le an : r e a d/ w r i t e m a s k M o d e : M a s k M o d e : r e a d/ w r i t e m a s k M o t i o n B l u r : M as k M ot i o n B l u r : r e a d/ w r i t e m a t c h N a m e : s t r i n g : r ea d O n l y moveTo(integer index) no return n a m e : s t r i n g : r e a d / w r it e nu mPr opert ie s : int ege r : re adO n ly p ar en tP ro pe rty : Pro pe rty G ro up : re ad On l y p r o p e r t y ( i n t e g e r p r o p e r t y I n d e x ) r e tu r n s Pr o p e r t y Bas e p r o p e r ty ( st r i n g p r o p e r t y N am e ) r e tu r n s Pr o p e r t y Bas e proper tyDe pt h : int ege r : re adO n ly p r o p e r t y G r o u p ( [ i n t e g e r c o u n t Up ] ) r e tu r n s Pr o p e r t y Gr o u p p r o p e r ty I n d e x : i n t e g e r : r e a d On l y p r o p e r t y T y p e : P r o p e r t y T y p e : r ea d O n l y re move () no re tu rn ro toB ezier : boolea n : r ead/w rite s elect ed : boole an : r ead /w rite = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == = OMCollection object - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a dd ( ) r e tu r n s Out p u tM o d u l e = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == O utpu tMo du le obje ct - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - -

186

After Effects Object Summary

187

a pp l y T e m p l at e ( st r i n g t em p l at eN a m e) n o ret ur n f i le : File : r ead /w rite name : string : readOnly p o s tR e n d e r A c t i o n : P o s tR e n d e r A c t i o n : r e a d / w r i t e re move () no re tu rn s ave As T em p l at e( st ri n g t em p l at eN am e) n o ret urn t em p l at es : Arr ay o f st ri n g : read O n l y = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == PlaceholderSource object - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a lp h aMo de : A l p h a M o d e : r e ad / w r i te conform F rame Rat e : floa t : read/write d i s p l a y F r a m e R at e : f l o a t : r e a d O n l y f i e l d S e pa ra t i o n T y p e : F i e l d S e p a r a ti o n T y p e : r e a d/ w r i t e guessAlphaMode() no return g u e ss P u l l d o w n (P u l l d o w n M e t h o d p ul l d ow nMet ho d) no re tu rn h as Al ph a : b ool ea n : re ad On l y h ig h Q u a l i t y F i e l d S e p a r a t i o n : b o o l e a n : r e a d / w r it e inve rtA l ph a : boo l ean : rea d/writ e i s St i l l : b o o l e a n : r e a d On l y loo p : int ege r : re ad/wr it e na tive Fr ame Rat e : f l oa t : r ead O n ly p rem ul C ol or : Arr ay of fl o at : rea d/ w ri t e r e m o v e P u l ld o w n : P u l l d o w n P h a s e : r e a d/ w r i t e = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = = PostRenderAction enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - P o s tR e n d e r A c t i o n .I M PO R T P o s t R e n d e r A c t i o n . I M PO R T _ A N D _ R E P L A C E _ U S A G E P o s tR e n d e r A c t i o n .N O N E PostRenderAction.SET_PROXY = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == P r o j e c t o b jec t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a ct i v e I t e m : I t e m : r e a d O n l y a u to F ix E x p r e s s io n s( o l d T e x t , n e w T e xt ) n o r e t u r n b i t s P e r C h an n e l : i n t e g e r : r e a d/ w r i t e c l o s e ( C l o s e O p t i o n s cl o se Op t i o n s) r e t u r n s b o o le an c o n s o l i d a t e F o o t a g e () r e t u r n s i n t e g e r displaySta rt Frame : inte ger : rea d/writ e f i le : File : r ead O n ly i m p o r t F i l e ( I m po rt O p t i o n s i m p o r t O p t i o n s ) r e t ur n s I t e m i m p o r t F i l e W i t h D i a l o g ( ) r e t ur n s A r r a y O f I t e m import Pla c eho l de r(st ring itemN ame, integ er ite m Widt h, int ege r ite m He igh t, floa t fra m eRa te , f l o a t d u r a t i o n ) r et u r n s F o o t a g e I t e m i te m ( in t e g e r i te m I n de x ) r e tu r n s I te m items : ItemCollection : readOnly l i n e a r B l e n d i n g : b o o l e a n : r e a d / w r it e nu mIte ms : in tege r : r eadOnly r e du c e P r o j e c t ( A r r a y O f I t em i t e m s T o P r e s e r v e ) r et ur n s i n t e g er

187

After Effects Object Summary

188

re move UnusedFoo tag e() re tu rns int ege r re nde rQ ueu e : Re nde rQ ueue : re adOnly ro otFo lder : FolderIt em : rea dO n ly s ave (F i l e t o F i l e) ret urn s b o o l e an s a v e W i t h D i a l o g ( ) r e t ur n s b o o le an s el e c t i o n : A r r a y o f I t e m : r ea d O n l y s h o w W i n d o w ( b o ol e a n d o S h o w ) n o r et u r n t im ec o d e B a s e T y p e : T i m e c o de Bas e T y p e : r e a d/ w r i t e t im ec o d e D i s p l a y T y p e : T i m ec o de Di s pl a yT yp e : rea d/ w ri t e t im ec o d e F i l m T y p e : T i m e c o d e F il m T y p e : r e a d / w r i t e t im ec o d e N T S C D r o p F r a m e : b o o le a n : r e a d/ w r i t e t ra n s p a r e n c y G r i d T h um b n a i l s : b o o l e a n : r e a d/ w r i t e = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == Property object - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a ct i v e : b o o l e a n : r e a d O n l y a dd K ey ( fl oa t a tT i m e ) r etu rn s in teg e r c an Se tE n a b l ed : b ool e an : r ead O n l y c an Se tE x p r e s s io n : b o o l e an : r e a dO n l y can Var yOve rTime : bo olea n : re adOnly d u p l i ca te () r e t u r n s P r o p e r ty e l i d e d : b o o le an : r e a dO n l y e n a b l e d : b o o le a n : r e a dO n l y e x p r e ss i o n : s tr in g : r e a d / wr i t e e x pr e ss i o n E n a b le d : b o o l e a n : r e a d / w r i t e e x p r e ss i o n E r r o r : s tr in g : r e ad On l y h as Max : bo olea n : rea d Only h as Mi n : b oo le an : rea dO n l y i s E f f ec t : b o o l e an : r ea d O n l y i s I n te r p o l a t io n T y pe V a li d ( Ke y fr a m e I n te r p o l a t i o n T y p e t y p e ) r e t u r n s b o o l e an i s M a s k : b o o l e an : r ea d O n l y i s M o d i fi e d : b o o l e a n : r e a dO n l y i s Sp a t i a l : b o o l e a n : r e a d On l y i s T im eV a r y i n g : b o o le a n : r e a dO n l y k e y I n I n t e r p o l a t i o n T y p e ( i n t e g e r k e y I n d e x ) r e t ur n s K e y f r a m e I n t er p o l a ti o n T y p e k e y I n S p a t ia l T a n g e n t ( i n t e g e r k e y I n d e x ) r e t ur n s A r r a y O f Fl o a t keyInTe m po ralEa se (int ege r ke yInde x ) re tu rns Arra yOfKeyfram eEase k e y O u t I n t e r po l a t i o n T y pe (i n t eg e r k e y I n de x) r e t u r n s K e y f r a m e I n t er p o l a ti o n T y p e k eyO utS p at ialTan gent (int eger keyIn de x) re tur n s A rra yO f F loat k ey O u t T e m p o r a lE as e ( i n te g e r k ey I n d e x ) r et ur n s A r r ay O f K e y f r a m e E a se keyRov in g(integer ke yI nde x) re tur n s bo olean k eySelect ed(int eger ke yI nde x ) re tu rns bo olea n k eySpa tia l Aut oBe zie r(in tege r k eyIndex) r et urns boolea n k e y S p a t i a l C o n t in u ou s ( i n t e g e r ke yIndex) r etu rns boolea n k ey T em por al Au toB ez i er (i n t eg er k ey I n de x) re tur n s b o ol ean k e y T e m p o r al Co n t i n u o u s ( i n t e g e r k e y I n d e x ) r e t ur n s b o o le an k e y T i m e ( i n t e g e r k e y I n d e x ) r e t ur n s f l o a t k e y T i m e ( s t r i n g m a r k e r N a m e ) r e t ur n s f l o a t k ey Va l u e( i n te g er k ey I n d ex ) r e t u r n s t yp e - s t o r e d - i n - p r o p e r t y k e y V a l u e ( s t r i n g m a r k e r N a m e ) r e t ur n s t y p e - s t or e d - i n - p r o p e r t y m a t c h N a m e : s t r i n g : r ea d O n l y

188

After Effects Object Summary

189

moveTo(integer index) no return name : string : readOnly n e a r e st K e y I n d e x ( f l o a t a t T i m e ) r e t u r n s i n t e g e r n u m K e y s : in t e g e r : r ea d O n l y p ar en tP ro pe rty : Pro pe rty G ro up : re ad On l y proper tyDe pt h : int ege r : re adO n ly p r o p e r t y G r o u p ( [ i n t e g e r c o u n t Up ] ) r e tu r n s Pr o p e r t y Gr o u p p r o p e r ty I n d e x : i n t e g e r : r e a d On l y p r o p e r t y T y p e : P r o p e r t y T y p e : r ea d O n l y proper tyVa lueType : Pro pe rtyV alue T ype : re adOnly re move () no re tu rn re move Ke y(integer ke yI nde x ) no r eturn s elect ed : boole an : r ead /w rite s e l e c t e d K e y s : A r r a y o f in t e g e r : r e a d O n l y s et I n te rp o l at io n T y pe At Ke y (i n t eg er ke yI nde x, Keyframe Inte rpolat io nType inType , [ K e y f r a m e I n t e r p o l a t i o n T y p e o u t T y p e ] ) n o r e t ur n s e t Ro v i n g A t K e y ( i n t e g e r k ey I n d e x , b o o l e a n i s R o v in g ) n o r et ur n set Se l ecte dA tKey(inte g er k eyInd ex, bo olean isSelect ed) no ret urn s et Sp at i al Au toB ez i er AtK e y (i n t eg er k ey I n de x, b o o l ea n i sA uto Bez i e r) n o ret urn s e t Sp a t i a l C o n ti n u o u sA tK e y ( i n te g e r k e y In d e x , bo o l e a n is C o n ti n u o u s) n o r et u r n s e t Sp a t i a l T a n g e n t sA tK e y ( i n t e g e r k e y I n d e x , A r r a y O f F l o a t i n T a n g e n t , [ A r r a y O f F l o a t o u t T a n g en t ] ) no ret urn s e t T e m p o r a l A u t o B e z i e r A t K e y ( i n te g e r k ey I n d e x , b o o l e a n i s A u t oB ez i e r ) n o r e t u r n s e t T e m p o r a l C o n t in u o u s A t K e y ( in t e g e r k e y I n d e x , b o o l e an i s C o n t in u ou s ) n o r e t u r n s e t T e m p o r a l E a s e A t K e y ( i n t e g e r k ey I n d e x , A r r a y O f K e y f r a m e E a s e i n E a s e , [ A r ra y O f Ke y f r a m e E as e o u t E a se ] ) n o r e tur n s e t V al u e ( ty p e - s to r e d - in - p ro pe rty ne wV alue ) no return s e t V a l u e A t K e y (i n t e g e r ke y I n d e x , ty p e - s t o r e d - i n - p r op e r t y n e w V a l u e) n o r e t ur n s e t V a l u eA t T i m e ( f l o a t a tT i m e , ty p e - s to r e d - i n - pr o p er t y n e w V a l u e) n o r e t u r n s e t V a l u es A t T i m e s( A r r a y O f F l o a t a t T i m e s , A r r a y O f - ty p e - s to r e d - i n - pr o p e r t y n e w V a l u es ) n o r e t u r n un it sT ext : st ring : re adOn ly va lue : type-stor ed-in-pro pe rty: rea dO n ly v a l u e A t T i m e ( f l o a t a t T i m e , b o o l p r e E x p r e s si o n ) r e tu r n s ty p e - s tor e d - in - p r o pe r ty = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == Proper tyGrou p o b ject - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - ( i n t e g e r p r o p e r t y I n d e x ) r e t ur n s P r o p e r t y B a s e ( st r i n g p r o p e r ty N am e) r e t ur n s P r o p e r t y B a s e a ct i v e : b o o l e a n : r e a d O n l y a dd P r o p e r t y ( s t r i n g p r o p e r t y N a m e ) r e t u r n s P r o pe rt y B as e c an A d dP r o p e r ty ( st r i n g p r o p ert y N am e) r et urn s b o o l ea n c an Se tE n a b l ed : b ool e an : r ead O n l y d u p l i ca te () r e t ur n s Proper tyGrou p e l i d e d : b o o le an : r e a dO n l y e n a b l e d : b o o le a n : r e a dO n l y i s E f f ec t : b o o l e an : r ea d O n l y i s M a s k : b o o l e an : r ea d O n l y i s M o d i fi e d : b o o l e a n : r e a dO n l y m a t c h N a m e : s t r i n g : r ea d O n l y moveTo(integer index) no return name : string : readOnly

189

After Effects Object Summary

190

nu mPr opert ie s : int ege r : re adO n ly p ar en tP ro pe rty : Pro pe rty G ro up : re ad On l y p r o p e r t y ( i n t e g e r p r o p e r t y I n d e x ) r e tu r n s Pr o p e r t y Bas e p r o p e r ty ( st r i n g p r o p e r t y N am e ) r e tu r n s Pr o p e r t y Bas e proper tyDe pt h : int ege r : re adO n ly p r o p e r t y G r o u p ( [ i n t e g e r c o u n t Up ] ) r e tu r n s Pr o p e r t y Gr o u p p r o p e r ty I n d e x : i n t e g e r : r e a d On l y p r o p e r t y T y p e : P r o p e r t y T y p e : r ea d O n l y re move () no re tu rn s elect ed : boole an : r ead /w rite = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = PropertyType enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - PropertyType.INDEXED_GROUP P r o p e r t y T y p e . N A ME D _ GR OU P P r o p e r ty T y p e .P R O P E R T Y = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = = PropertyValueType enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - PropertyValueType.COLOR P r o p e r t y V a l u e T y p e . C U S T O M_ V A L U E PropertyValueType.LAYER_INDEX PropertyValueType.MARKER PropertyValueType.MASK_INDEX PropertyValueType.NO_VALUE PropertyValueType.OneD Proper tyVa lueType. SH APE PropertyValueType.TEXT_DOCUMENT PropertyValueType.ThreeD PropertyValueType.ThreeD_SPATIAL PropertyValueType.TwoD Proper tyVa lueType. Two D_SPA TIAL = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == P u l l d o w n Ph a s e e n u m - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - P u l l d o w n Ph a s e . O F F P u l l d o w n Ph a s e . S S W W W P u l l d o w n Ph a s e . S W W W S PulldownPhase.SWWWW_24P_ADVANCE P u l l d o w n Ph a s e . W SS W W P u l l d o w n Ph a s e . W SW W W _ 2 4 P _ A D V A N C E P u l l d o w n Ph a s e . W W SS W P u l l d o w n Ph a s e . W W SW W _ 2 4 P _ A D V A N C E P u l l d o w n Ph a s e . W W W S S PulldownPhase.WWWSW_24P_ADVANCE PulldownPhase.WWWWS_24P_ADVANCE = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == PulldownMethod enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - P u l l d o w n M e t h o d . A DV A N C E _ 2 4P PulldownMethod.PULLDOWN_3_2

190

After Effects Object Summary

191

= == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = P urg e T ar g et e n um - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - Purge T ar get. ALL_CA CHE S Purge T ar get. IMA GE _ CACHES Purge T ar get. SNAPSH O T _CACH E S P u r g e T ar g e t. UN D O_ C A C H E S = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = Re nde rQ ueu e obje ct - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - ite m (int ege r item Inde x) re tu rns RenderQ ue ueIt em i t e m s : R Q I t e m C o l l e c t io n : r e a d O n l y nu mIte ms : in tege r : r eadOnly p au se R e n d e r i n g ( b o o l e an d o P au se ) n o r e tu r n re nde r() no ret urn r e n d e ri n g : b o o l e a n : r e a d O n l y s h o w W i n d o w ( b o ol e a n d o S h o w ) n o r et u r n s t o pR e n d e r i n g ( ) n o r e t u r n = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = = Re nde rQ ueu eIte m obje ct - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a pp l y T e m p l at e ( st r i n g t em p l at eN a m e) n o ret ur n c o m p : C om p I t e m : r e a d O n l y du pl i c a te () r e t ur n s R e n d e r Q ue u e I t em e l a ps e d S e c o n d s : f l o at : r e ad On l y l o g T y p e : L o g T y p e : r ea d / w r i t e n u m O u tp u t M o d u l e s : i n t e g e r : r e a d O n l y ou tp ut Mod ule( i n te ger o utp ut Mo du le Ind ex ) r etu rns Ou tp ut Mod ule o u t p u t M o d u l e s : O MC o l l e c t i o n : r e a dO n l y re move () no re tu rn re nde r : boo l ean : rea d/writ e s ave As T em p l at e( st ri n g t em p l at eN am e) n o ret urn s k i pF r a m e s : i n t e g e r : r e a d/ w r i t e s ta rtT ime : f l oat : re ad Only s ta tu s : R QIt emSt at us : rea dO n ly t em p l at es : Arr ay o f st ri n g : read O n l y t im eS pa n Du rat i o n : f l o at : re ad / w ri te t im eS pa n S ta rt : fl oa t : rea d/ w ri t e o n S t a t u s C h a n g e d ( ) n o r et u r n = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == R Q I t e m C o l l e ct i o n o b j e c t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a d d ( C o m p I t e m c o m p T o A d d ) r et u r n s R e n d e r Q u e u e I t e m = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == R Q I t e m S t a tu s e n u m - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - R Q I t e m S t a tu s. DO N E R Q I t e m S t a tu s. E R R _ S T O P P E D R Q I t e m S t a tu s. N E E D S _ O U T P U T R Q I t e m S t a tu s. QU E U E D R Q I t e m S t a tu s. RE N D E R I N G

191

After Effects Object Summary

192

R Q I t e m S t a tu s. UN Q U E U E D R Q I t e m S ta tu s. U S E R _ S T O PP E D R Q I t e m S t a tu s. W I L L _ C O N T I N U E = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = S e t ti n g s o b j e c t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - ge tS et ti ng( st ri n g s ecti o nName , s tr i n g s e c t io n K e y ) r e tu r n s st r i n g h av e S e t t in g (s t r in g s e c t i o n N a m e , s t r in g s e ct i o n K e y ) r e t u r n s b o o le an s a v e S e t t i n g ( s t r i n g s e c t i o n N a m e , s t r i n g sectionKe y, string ne wV alue ) no r eturn = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = S h a pe o b j e ct - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - n e w S h a pe () r e tur n s S h a p e c l o s e d : b o o le an : r e a d/ w r i t e i n T a n g e n t s : A r r a y o f floa t[ 2] : re ad /wr i te ou tTa n gents : Arr ay of floa t[ 2] : r ead /w ri te ve rtices : A rra y o f floa t[2] : rea d /writ e = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = S ol i d So urc e o bj ec t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - a lp h aMo de : A l p h a M o d e : r e ad / w r i te c ol or : Arr ay of f lo at : rea d / wr it e conformFrameRate : float : readOnly d i s p l a y F r a m e R at e : f l o a t : r e a d O n l y f i e l d S e pa ra t i o n T y p e : F i e l d S e p a r a ti o n T y p e : r e a dO n l y guessAlphaMode() no return g u e ss P u l l d o w n (P u l l d o w n M e t h o d p ul l d ow nMet ho d) no re tu rn h as Al ph a : b ool ea n : re ad On l y h igh Qu alityFieldSepara tion : boolea n : re adOn ly inve rtA l ph a : boo l ean : rea d/writ e i s St i l l : b o o l e a n : r e a d On l y loo p : int ege r : re adOn ly na tive Fr ame Rat e : f l oa t : r ead O n ly p rem ul C ol or : Arr ay of fl o at : rea d/ w ri t e r e m o v e Pu l ld o w n : P u l l d o w n P h a s e : r e a dO n l y = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = S y st e m o b j e c t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - c a l l S y s tem (s tr in g cm dL i n e T o E x e c t u te ) r et u r n s o u t p u tO f C om m a n d A sS t r i n g machineName : string : readOnly o s N a m e : s t r in g : r e a d O n l y osVe rsio n : string : rea dO n ly userName : string : readOnly = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = T e xt D o c u m e n t o b j e c t - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - n e w T e xt D o c u m e n t ( s t r i n g t e x t ) r e t u r n s T e x t D o c u m e n t t ext : st ring : re ad/write = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = Timeco de BaseT ype e n um - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - -

192

After Effects Object Summary

193

T i m e c o d e B a s e T y p e . AU T O TimecodeBaseType.FPS100 TimecodeBaseType.FPS24 TimecodeBaseType.FPS25 TimecodeBaseType.FPS30 TimecodeBaseType.FPS48 TimecodeBaseType.FPS50 TimecodeBaseType.FPS60 = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == T i m e c o d e D i s p l a yT yp e e n u m - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - T i m e c o de D i s pl a yT yp e . F E E T _ A N D _ F R A M E S T i m e c o d e D i s p l a yT yp e . F R A M E S T i m e c o d e D i s p l a yT yp e . T I M E C OD E = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = T i m e c o d e F il m T yp e e n u m - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - T i m e c o d e F il m T y p e . M M 1 6 T i m e c o d e F il m T y p e . M M 3 5 = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = TrackM atte Type enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - TrackM atte Type .ALPHA TrackM atte Type .ALPHA _INVER TED TrackM atte Type .LUM A TrackM atte Type .LUM A_INV E RTED TrackMatteType.NO_TRACK_MATTE = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = A u t o O r i e n tT y p e e n u m - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - A u t o O ri e n tT y p e . A L O N G _ P A T H A u t o O r i e n tT y p e . C A ME R A _ O R _ PO I N T _ O F _ I N T E R E S T A u t o O r i e n tT y p e . N O _ A U T O _ O R I E N T = == == == = == == == = == == == == = == == == == = == == == == = == == == == = == == == == = == == == = == = Fra m eB lendin gType enum - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - F r a m e B l e n d in g T y pe . F R A M E _ M I X F r a m e B l e n d in g T y pe . N O _ F R A M E _ B L E N D F r a m e B l e n d in g T y pe . P I X E L _ M O T I O N - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - -

193

Related Documents