PF_OutData¶
Communicate changes made by your plug-in to After Effects using PF_OutData
. Valid times for altering these fields are noted.
PF_OutData Members¶
Field |
Description |
---|---|
|
Set this flag (using the PF_VERSION macro) to the version of your plug-in code. |
|
Unused. |
|
Handle which will be returned to you in PF_InData with every call. |
|
After Effects checks this field against the number of calls made to |
|
Allocatable upon receiving PF_Cmd_SEQUENCE_SETUP, this handle will be passed back to you in PF_InData during all subsequent calls. |
|
Unused (After Effects knows the size, because you used its allocation functions to get the memory in the first place). |
|
Handle you (might have) allocated during PF_Cmd_FRAME_SETUP. |
|
Set during PF_Cmd_FRAME_SETUP if the output image size differs from the input. |
Send messages to After Effects. OR together multiple values. |
|
|
After Effects displays any C string you put here (checked and cleared after every command selector). |
|
Used only for Audio commands |
Send messages to After Effects. OR together multiple values. |
PF_OutFlags¶
These flags communicate capability and status information to After Effects. In previous versions they were also used to send rudimentary messages, e.g. refresh the UI, send an error message.
These capabilities have been supplanted by function suites, and all new messaging functions will come in that format. However, capability flags are still contained in the PiPL.
Update both the PiPL and your source code when you make a change. Many of these flags can be changed during an After Effects session.
Flag |
Indicates |
---|---|
|
The plug-in's resources must be available during all commands. Note We recommend the plug-in load and store the necessary resources in global data, rather than keeping the file's resources open. |
|
The effect checks out a parameter at a time other than |
|
With this flag set, After Effects will not cache output when the effect is applied to a still. |
|
Unused. Formerly |
|
Both After Effects and Premiere Pro assume this flag is set. |
|
Effect displays a dialog in response to PF_Cmd_DO_DIALOG. Note The effect's response to |
|
Effect honors the output Note Obsolete for SmartFX. |
|
Effect must show dialog to function (added for compatibility with Photoshop plug-ins). |
|
Display the contents of |
|
Effect expands the output buffer. Note Only set this flag if you need to; it drastically reduces caching efficiency. Note Obsolete for SmartFX. |
|
A given pixel is independent of the pixels around it. Note If your effect doesn't use the color values of one pixel to affect those of adjacent pixels, set this outflag! It can provide dramatic performance improvements. |
|
The effect writes into the input buffer. |
|
The effect shrinks its buffer based on the Note Obsolete for SmartFX. |
|
Unused. |
|
Unused. |
|
The effect has a custom user interface and requires PF_Cmd_EVENT messages. |
|
Unused. |
|
Refresh the entire effect controls, composition, and layer windows. |
|
Set this flag during PF_Cmd_FRAME_SETUP to invalidate the current render. |
|
Indicates rendered images depend upon the value of |
|
Effect's parameters depend on audio data, obtained using PF_CHECKOUT_LAYER_AUDIO. |
|
Effect is available for use when working with an old project in which it was originally applied, but doesn't appear in the effect menu. |
|
Effect made a change that requires a re-render. PF_ChangeFlag_CHANGED_VALUE also forces a re-render. |
|
After Effects will use PiPL outflags, and ignore those set during PF_Cmd_GLOBAL_SETUP. |
|
Effect depends on an external file (or external font). |
|
The effect handles 16-bpc color. |
|
Set this flag during PF_Cmd_GLOBAL_SETUP to receive PF_Cmd_UPDATE_PARAMS_UI. |
|
Effect requires audio data in PF_SIGNED_FLOAT format. |
|
Set during PF_Cmd_GLOBAL_SETUP if the (audio) effect is an Infinite Impulse Response filter. |
|
Set during PF_Cmd_GLOBAL_SETUP time if the effect generates audio, even when passed silence. |
|
Set during PF_Cmd_GLOBAL_SETUP if the effect alters audio. |
|
Set during PF_Cmd_GLOBAL_SETUP if the effect alters only audio output. |
PF_OutFlags2¶
We added a second set of outflags in After Effects 5.0; partly for room to expand in the future, and partly to break ourselves of the bad habit of repurposing existing flags.
As with PF_OutFlags
, many of these flags can be changed during an After Effects session.
And don't forget to update both the PiPL and your source code when you make a change.
Flag |
Indicates |
---|---|
|
Nothing. |
|
The effect responds to PF_Cmd_QUERY_DYNAMIC_FLAGS. Must be set in the PiPL and during PF_Cmd_GLOBAL_SETUP. |
|
The effect accesses 3D camera information. |
|
The effect accesses 3D lighting information. |
|
This flag in itself doesn't control the state of the param group twirlies. |
|
Currently this does nothing. If this sounds interesting to you, you may be interested in |
|
Originally added for Premiere usage, but no longer used. |
|
Added for render optimizations; shrinks the input buffer passed to the effect to exclude any empty pixels (where empty means "zero alpha" unless Note this flag can cause the size of the output buffer to change. Note Obsolete for SmartFX. |
|
This is the one flag implementors need to pay most attention to since it represents a change in the default behavior. |
|
Preserve those pixels! |
|
The effect uses the SmartFX API. |
|
The effect supports 32-bpc floating point color representation. Note
|
|
This is for effects which optimized for different color spaces in Premiere Pro. See the Premiere Pro SDK for more details. |
|
Setting this during PF_Cmd_GLOBAL_SETUP puts the effect in the localized "Obsolete" folder in the Effects panel. |
|
Supported in Premiere Pro, and not in After Effects. |
|
Set during PF_Cmd_GLOBAL_SETUP. |
|
Set during PF_Cmd_GLOBAL_SETUP. |
|
New in CS6. Set this if you are going to look at paths that aren't directly referenced by a path param, e.g. if you are going to draw a stroke on all masks. |
|
New in CS6. Set this during PF_Cmd_GLOBAL_SETUP if your output is going to be watermarked in some way that makes it unsuitable for final use, probably because the user is using an unlicensed demo version. |
|
New in 16.0 Set during PF_Cmd_GLOBAL_SETUP, this indicates GPU support. |
|
Available in After Effects Beta builds starting June 2020, After Effects 2022. Note This flag should only be set on plugins that have been tested to be thread-safe with multi-frame rendering enabled in AE. For more information on how to use this flag, please see Multi-Frame Rendering in AE under Effect Details. |
|
Available in After Effects Beta builds starting March 2021, After Effects 2022. Note This flag should only be set on plugins that have been tested to be thread-safe with multi-frame rendering enabled in AE. For more information on how to use this flag, please see Multi-Frame Rendering in AE under Effect Details. |