When a plug-in is currently selected in the plug-in editing window, clicking the "Output" tab button displays the following options:

9



The Read "output is ready" signal from popup menu lets you select one of the boolean outputs published by the Quartz composition. The value read from the selected output tells FxFactory when the plug-in's output is ready to be displayed, or whether the composition is still waiting for some assets to be loaded. While waiting for this output port to become true, FxFactory will continuously re-render the composition to give enough time to its patches to load and process the required assets.
The Timeout after ... seconds value lets you specify a maximum number of seconds that the plug-in will be given to load assets, before its assets are considered to be missing or unavailable (in which case, the render operation will fail). If the Warn user when assets fail to load option is on, FxFactory will notify the user when this error occurs.
Timing Information.

The Feed "output is 3D" to popup menu lets you select one of the boolean inputs published by the Quartz composition. Currently, the value fed to the composition will always be true when the plug-in is applied inside Motion 3 (the only FxPlug host capable of 3D). This value will always be false when applying the effect inside Final Cut Pro and Final Cut Express.

The Feed focal length to popup menu lets you select one of the numeric inputs published by the Quartz composition. The value fed to the composition will equal the focal length used by the current 3D environment of Motion 3.

Feed camera transform matrix to and Feed layer transform matrix to options let you each select one of the structure inputs published by the Quartz composition. When applying the plug-in inside Motion 3, these structures will contain a 16-element array of numeric values, each corresponding to an element in the corresponding 4x4 matrix.

The Feed output info structure to popup menu lets you select one of the structure inputs published by the Quartz composition. The value fed to the selected input is a dictionary with the following keys and values which express properties of the plug-in's output:

  • pixelsWide and pixelsHigh contain the image dimensions (in pixels)
  • pixelAspect contains the pixel aspect of the image (e.g. 0.9 for a full frame of NTSC DV footage shot at 4:3; 0.44 for a single field of NTSC DV footage shot at 4:3)
  • displayAspect the aspect ratio at which the image is ultimately displayed to the viewer (usually 4:3, 19:9).
  • fieldOrder a numeric value which is equal to 0 if the image source is progressive, 1 if the image source is interlaced and the upper field comes first, 2 if the image source is interlaced and the lower field comes first.
  • field a value which is equal to 0 if the image contains progressive data, 1 if the image represents the upper field, 2 if the image represents the lower field.
  • pixelFormat a value which represents the pixel format of the image: 0 for RGB + alpha images, 1 for YUV + alpha (Y'CbCr) images. (Please note that the plug-in must be YUV-capable for the pixel format to be YUV + alpha.)
  • startFrame a value which represents the start time (in frames) of the image source.
  • endFrame a value which represents the end time (in frame) of the image source
  • duration a value which represents the total duration (in frames) of the image source

The startFrame, endFrame and duration properties are represented by an integer value if the image source is progressive (1, 2, 3, etc.) or by a fractional value if the image source is interlaced (0.5, 1.0, 1.5, etc.). The fractional component, if present, is always equal to 0.5 and it represents the first field in a given frame (e.g. 2.5 represents the first field in the 3 frame).

IMPORTANT: This structure is guaranteed to contain meaningful values only when running plug-ins inside Final Cut Studio 2 applications, and Final Cut Express.

Determining the Size of the Output

When working on filter or transitions, extra output options are available:

10


When working on a Filter plug-in, the Match output frame size to popup menu gives you only one choice: "Source clip". When working with a Transition plug-in, this popup menu lists two choices: "Source clip" and "Destination clip". This option determines the size of the output frame generated by the plug-in when applied to a clip (Filter) or in between clips (Transition). Due to the current implementation details of Final Cut Pro and Final Cut Express, the size of the source and destination clips is always the same even in a multi-format timeline, and as such the choice you make for this option is currently unused.

The "Add a margin to the output frame option" lets the plug-in add an certain number of pixels around the input frame, and it is only available for Filter plug-ins running inside Motion or After Effects. The amount (in pixels) that you specify inside FxFactory will be customizable inside the host via a slider parameter if the Add a parameter to control the frame margin option is also turned on. Adding a margin to the frame may be useful when the effect renders pixels outside the original boundaries of the frame (for example, a glow filter).

More Info on Input Mappings

Many options in FxFactory require you to map a certain value or parameter to one of the input ports published by the Quartz composition. If this mapping is not established, the plug-in will not function correctly inside the FxPlug host. Once a Quartz composition published input has been mapped, it may not be used for any other purpose by the plug-in. The "Unmap" button lets you undo this mapping to free up the composition input, which may then be used for other purposes.