Filter Factory - "FLTD" resource

Go back to resource overview

Attention: This page only addresses Filter/Transition Factory for Premiere.

The FLTD resource is present in Filter Factory for Premiere.

It is defined in PIGeneral.h as follows:

#define PIFilterFlate 'fltD' /* default parameters */

It is defined in PIUtilities.r as follows:

//-------------------------------------------------------------------------------
//
// 'FltD' resource. Dynamic resource for Adobe Premiere.
//
// Descriptor for allowing filters to animate over time. A
// structure of this type can be added to a 'VFlt', an 'AFlt',
// or a Photoshop filter to describe the data structure of its
// data blob. Specify pdOpaque for any non-scalar data in the
// record, or data that you don't want Premiere to interpolate
// for you. Make the FltD describe all the bytes in the data
// blob. Use ID 1000D
//
//-------------------------------------------------------------------------------

type 'FltD' {
  array {
    integer // Specifies the type of the data
      pdOpaque = 0, // Opaque - don't interpolate this
      pdChar = 1, // Interpolate as signed byte
      pdShort = 2, // Interpolate as signed short
      pdLong = 3, // Interpolate as signed long
      pdUnsignedChar = 4, // Interpolate as unsigned byte
      pdUnsignedShort = 5, // Interpolate as unsigned short
      pdUnsignedLong = 6, // Interpolate as unsigned long
      pdExtended = 7, // Interpolate as an extended
      pdDouble = 8, // Interpolate as a double
      pdFloat = 9; // Interpolate as a float
    integer; // Count of bytes to skip with pdOpaque, 0 otherwise.
  };
};

Notes:
(1) In resource scripts, the type "integer" is 16-bit.
(2) PIGeneral.h writes "fltD" and PIUtilies.r writes "FltD". That is weird, since these should actually be case sensitive.

In Filter Factory for Premiere, the value is (always?) as follows:

00 00 00 00 BE 65 00 00 04 00 00 00 04 00 00 00
04 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00
00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00
00 00 

I don't understand why there are two null bytes at the front, but somehow, all resources have them; so this is the interpretation of the data:

00 00         ???
00 00 BE 65   pdOpaque, 26046
00 00 04 00   pdOpaque, 4
00 00 04 00   pdOpaque, 4
00 00 04 00   pdOpaque, 4
03 00 00 00   pdLong, 0
03 00 00 00   pdLong, 0
03 00 00 00   pdLong, 0
03 00 00 00   pdLong, 0
03 00 00 00   pdLong, 0
03 00 00 00   pdLong, 0
03 00 00 00   pdLong, 0
03 00 00 00   pdLong, 0
resource 'FltD' (ResourceID, plugInName " Premiere FltD", purgeable)
{
  {
    pdOpaque, 26046,
    pdOpaque, 4,
    pdOpaque, 4,
    pdOpaque, 4,
    pdLong, 0,
    pdLong, 0,
    pdLong, 0,
    pdLong, 0,
    pdLong, 0,
    pdLong, 0,
    pdLong, 0,
    pdLong, 0,
  };
};