AFTEREFFECTS

News, Information & Workflows from Users & the Adobe Ae Team

scripting changes in After Effects CS6, plus new scripting guide

Here’s the updated After Effects CS6 scripting guide.

Jeff Almasol did the vast majority of the work to update this document. Thanks, Jeff!

(To those of you who have been waiting for an overly long time for this: Heap your scorn on me, since I took too long to hand this over to Jeff when I realized that I wasn’t able to get to it.)

We’ll get this document up on the After Effects Developer Center soon.


summary of After Effects scripting changes between After Effects CS5.5 and After Effects CS6

This is just a summary. See the After Effects CS6 scripting guide for details and examples.

  • Added Viewer object. It represents a Composition, Layer, or Footage panel (viewer).
  • The canSetExpression attribute for the Property object now returns true for arbitrary data properties (like the Level effect’s Histogram property or the Curves effect’s Curves property) that could already accept expressions.
  • Added activeViewer attribute to the Application object. It gets the Viewer object for the currently focused or last-focused viewer. Returns null if no viewers are open.
  • Added environmentLayer attribute to the AVLayer object. It represents the environment layer status for a layer based on video footage or still image in a ray-traced 3D composition. You can set and get this Boolean value. Setting it to true automatically makes the layer 3D (threeDLayer becomes true).
  • Added openInViewer method to AVLayer object. It opens the AV layer in a Layer viewer, and moves the viewer to front and gives it focus. This method takes no parameters and returns a Viewer object, or null if it failed to open the viewer for some reason (e.g., for text or shape layers, which cannot open in the Layer viewer).
  • Added openInViewer method to the CompItem object. It opens the composition in a Composition viewer and moves the viewer to front and gives it focus. This method takes no paramters and returns a Viewer object, or null if it failed to open the viewer for some reason.
  • Added openInViewer method to the FootageItem object. It opens the footage item in a Footage viewer and moves the viewer to front and gives it focus. Note that missing and placeholder footage can be opened using this method, but cannot manually (i.e., double-clicking missing or placeholder footage asks the user to select a replacement footage file). This method takes no parameters and returns a Viewer object, or null if it failed to open the viewer for some reason.
  • Added maskFeatherFalloff attribute to the MaskPropertyGroup object. It represents the Layer > Mask > Feather Falloff setting. You can set and get this enumerated value:

    MaskFeatherFalloff.FFO_LINEAR
    MaskFeatherFalloff.FFO_SMOOTH

  • Added featherSegLocs attribute to the Shape object. It represents the mask path segments (sections of a mask path between vertices). You can set and get this array of segment numbers, 0-based.

  • Added featherRelSegLocs attribute to the Shape object. It represents the relative position of a feather point (0 to 1) on a mask path segment. You can set and get this array of values.
  • Added featherRadii attribute to the Shape object. It represents the feather amount; inner feather points are negative values. You can set and get this array of values.
  • Added featherInterps attribute to the Shape object. It represents the feather radius interpolation type for a feather point (0 for non-Hold, 1 for Hold). You can set and get this array of values. Note: Values are stored in the array in the order that feather points were created.
  • Added featherTensions attribute to the Shape property. It represents the feather point tension amount (0 to 1). You can set and get this array of values.
  • Added featherTypes attribute to the Shape property. It represents the feather point direction (0 for outer feather point, 1 for inner feather point). You can set and get this array of values. You cannot change the direction of a feather point after it has been created.
  • Added featherRelCornerAngles attribute to the Shape property. It represents the relative angle between the two normals on either side of a curved outer feather boundary at a corner on a mask path. Values are 0 for feather points not at corners. You can set and get this array of values.

summary of ScriptUI changes

  • dropdownlist controls can now extend beyond the window bounds.
  • multiline edittext controls now allow the Enter/Return key to insert a new line. Previously, it was unclear how to add a new line in a multiline edittext control. Now, with a new wantReturn property set to true, this control can get the new behavior. Existing behavior is unchanged.

    myTextBox: EditText { text:'Enter & Return welcome here', properties:{ multiline:true, wantReturn:true }, preferredSize:[-1,80] },

    Note: The onChange callback will be called when the control loses focus (e.g., when you click outside of the edittext control).

  • Columns in multicolumn listbox controls can now be hidden or shown using the new visible array for the listbox’s columns attribute. Ex.

    myListBox.columns.visible[1] = false; // hide the 2nd column

  • Appearance brightness setting now affects nonembedded window (palette, dialog, window) types, in addition to the existing support for embedded panels, for a more integrated look. Similar support is now available for the focus ring around controls in both embedded and nonembedded windows.
  • The appearance of controls should more closely match those in the main application. There will still be some differences, but they should be fewer than in previous versions.
  • Version 6 of ScriptUI has some minor updated visuals for buttons and scrollbars.

TAGGED AS:

Was hoping they would add more scripting control for text layers. Bummer… any rumors of this coming at any point in the future?

Sorry, the comment form is closed at this time.

Join The Discussion