Format Module PiPL Properties

These PiPL properties are only applicable to Format plug-in modules. More...

Defines

#define PIPluginLaunchesEditorProperty   'piLe'
 Indicates whether the plug-in launches an editor.

PiPL Format Keys

#define PIFmtFileTypeProperty   0x666d5443 /* 'fmTC' <TypeCreatorPair> Default file type for file format. */
 Default type and creator code used for files newly created with this format plug-in; key value is 'fmTC'.
#define PIReadTypesProperty   0x52645479 /* 'RdTy' <TypeCreatorPair []> File type info for file format plug-ins */
 List of type and creator pairs that the format plug-in can read; key value is 'RdTy'.
#define PIFilteredTypesProperty   0x66667454 /* 'fftT' <TypeCreatorPair []> File types to filter for file format plug-ins */
 List of type and creator pairs for which the file format plug-in should be called to determine if the file can be read; key value is 'fftT'.
#define PIReadExtProperty   0x52644578 /**'RdEx' <OSType []> File type info for file format plug-ins */
 List of extensions which the format plug-in can read; key value is 'RdEx'.
#define PIFilteredExtProperty   0x66667445 /* 'fftE' <OSType []> File types to filter for file format plug-ins */
 List of extensions for which the file format plug-in should be called to determine if the file can be read; key value is 'fftE'.
#define PIFmtFlagsProperty   0x666d7466 /* 'fmtf' <Set> Format flags */
 A set of flags which control the operation of file format plug-ins; key value is 'fmtf'.
#define PIFmtHiddenFlagsProperty   0x666D6869 /* 'fmhi' Hidden read/write flags */
 Hidden read/write flags; key value is 'fmhi'.
#define PIFmtICCFlagsProperty   0x666D6970 /* 'fmip' ICC profile flags. */
 ICC profile flags; key value is 'fmip'.
#define PIFmtICCRequiredFlagsProperty   0x666D6972 /* 'fmir' ICC required profile flags.*/
 ICC required profile flags; key value is 'fmir'.
#define PIFmtMaxSizeProperty   0x6d78737a /* 'mxsz' <Point> Max rows and cols supported by this format. */
 The maximum number of rows and columns that can be in an image saved in this format; key value is 'mxsz'.
#define PIFmtMaxChannelsProperty   0x6d786368 /* 'mxch' <int16 []> Max channels per mode for this format. */
 An array of counts of the maximum number of channels which can/will be saved for a given image mode; key value is 'mxch'.
#define PIFmtFilePropertiesProperty   0x66667073 /* 'ffps' Supports formatSelectorGetFilePropertyValue selector. */
 Supports formatSelectorGetFilePropertyValue selector; key value is 'ffps'.
#define PIFmtLosslessRotateProperty   0x666C6C72 /* 'fllr' Supports formatSelectorLosslessRotate selector. */
 Supports formatSelectorLosslessRotate selector; key value is 'fllr'.
#define PIFmtBulkSettingsProperty   0x66666273 /* 'ffbs' Supports formatSelectorBulkSettings selector.*/
 Supports formatSelectorBulkSettings selector; key value is 'ffbs'.
#define PIFmtPrimaryMetadataProperty   0x6666706d /* 'ffpm' File format is primary metadata source.*/
 File format is primary metadata source; key value is 'ffpm'.
#define PIFmtPrimaryThumbnailProperty   0x66667074 /* 'ffpt' File format is primary thumbnail source. */
 File format is primary thumbnail source; key value is 'ffpt'.
#define PIFmtXMPReadProperty   0x786D7072 /* 'xmpr' Supports formatSelectorXMPRead selector.*/
 Supports formatSelectorXMPRead selector; key value is 'xmpr'.
#define PIFmtXMPWriteProperty   0x786D7077 /* 'xmpw' Supports formatSelectorXMPWrite selector. */
 Supports formatSelectorXMPWrite selector; key value is 'xmpw'.
#define PIFmtQuickThumbExtractProperty   0x7174686D /* 'qthm' Supports extractQuickThumbnail field. */
 Supports extractQuickThumbnail field; key value is 'qthm'.
#define PIFmtBulkOpenProperty   'ffbo' /* 'ffbo' Supports formatSelectorBulkOpen selector. */
 Supports formatSelectorBulkOpen selector; key value is 'ffbo'.
#define PIFmtRawSettingsProperty   'rscp' /* 'rscp' Supports settings copy/paste/etc selectors.*/
 Supports settings copy/paste/etc selector; key value is 'rscp'.
#define PIFmtOpenWriteAccessProperty   'fowa' /* 'fowa' Plug-in prefers write access when opening.*/
 Plug-in prefers write access when opening; key value is 'fowa'.
#define PIFmtWarnIfOverriddenProperty   'fwio' /* 'fwio' Warning if this plug-in is override by another. */
 Warning if this plug-in is override by another; key value is 'fwio'.
#define PIFmtResourceThreadSafeProperty   'frts' /* 'ft' Plug-in is resource fork thread safe. */
 Plug-in is resource fork thread safe; key value is 'frts'.
#define PIFmtSupportsLayersProperty   'fmsl' /* 'fmsl' plug-in supports layers */
#define PIFmtSupportsLayersReadOnlyProperty   'slRO' /* 'slRO' plug-in layer support is read-only */
#define PIFmtSupportsBackgroundSaveProperty   'fbgs' /* 'fbgs' plug-in supports background save */
 Plug-in can save a file out on a separate background thread.
#define PIFmtSupportsPOSIXIOProperty   'fxio' /* 'fxio' plug-in supports POSIX API for read and write */
 Plug-in can read and write files using POSIX API calls.
#define PIFmtFileSizeLimitProperty   0x66736c6d /* 'fslm' <int32 > Max size on disk your format can read and write. In gigabytes. */
 The maximum size on disk the format can read or write.
#define PIFmtSupportsPluginOpeningFile   'fpof' /* 'fpof' plug-in supports open and closing files for itself. */
 Plug-in prefers to open and close files itself.

Detailed Description

These PiPL properties are only applicable to Format plug-in modules.


Define Documentation

#define PIFmtFileTypeProperty   0x666d5443 /* 'fmTC' <TypeCreatorPair> Default file type for file format. */

Default type and creator code used for files newly created with this format plug-in; key value is 'fmTC'.

This property key reflects the FmtFileType property in the PiPL resource file. The data for the property has type TypeCreatorPair. Under Windows, files do not store TypeCreator information, except internally, so this property is not required; they are always interpreted as of type 'BINA' and creator 'mdos'.

All the info regarding what files can be read and written is obtained from the PIReadExtProperty or the PIFilteredExtProperty. Under Windows, PiMI extensions are converted to PIReadExtProperty, so use of PIFilteredExtProperty requires additional coding if you are porting a 16-bit plug-in format module to 32-bit.

#define PIPluginLaunchesEditorProperty   'piLe'

Indicates whether the plug-in launches an editor.

This property key reflects the PluginLaunchesEditor property in the PiPL resource file. The existence of this property key means it is enabled.

If this property is present, then the plug-in is called with a file reference so it can launch an external editor. This property key applies to file formats and smart objects. When this property is present, the Format plug-in is called with selector formatSelectorLaunchExternalEditor.

#define PIReadTypesProperty   0x52645479 /* 'RdTy' <TypeCreatorPair []> File type info for file format plug-ins */

List of type and creator pairs that the format plug-in can read; key value is 'RdTy'.

This property key reflects the ReadTypes property in the PiPL resource file. The data for the property is an array of TypeCreatorPair. Specifying a value of four spaces (0x20202020L) matches any type or creator.

#define PIFilteredTypesProperty   0x66667454 /* 'fftT' <TypeCreatorPair []> File types to filter for file format plug-ins */

List of type and creator pairs for which the file format plug-in should be called to determine if the file can be read; key value is 'fftT'.

This property key reflects the FilteredTypes property in the PiPL resource file. The data for the property is an array of TypeCreatorPair. Specifying a value of four spaces (0x20202020L) matches any type or creator.

#define PIReadExtProperty   0x52644578 /**'RdEx' <OSType []> File type info for file format plug-ins */

List of extensions which the format plug-in can read; key value is 'RdEx'.

This property key reflects the ReadExtensions property in the PiPL resource file. The data for the property has type OSType; the extension is stored in the first three characters of the OSType. The fourth character must be a space.

#define PIFilteredExtProperty   0x66667445 /* 'fftE' <OSType []> File types to filter for file format plug-ins */

List of extensions for which the file format plug-in should be called to determine if the file can be read; key value is 'fftE'.

This property key reflects the FilteredExtensions property in the PiPL resource file. The data for the property has type OSType; the extension is stored in the first three characters of the OSType. The fourth character must be a space.

#define PIFmtFlagsProperty   0x666d7466 /* 'fmtf' <Set> Format flags */

A set of flags which control the operation of file format plug-ins; key value is 'fmtf'.

This property key reflects the FormatFlags property in the PiPL resource file. The data for the property has type FlagSet. The default value for any flag is FALSE. See Format Flags.

#define PIFmtHiddenFlagsProperty   0x666D6869 /* 'fmhi' Hidden read/write flags */

Hidden read/write flags; key value is 'fmhi'.

This property key reflects the FormatHiddenFlags property in the PiPL resource file. The data for the property has type FlagSet. See Format Hidden Flags for PIFmtHiddenFlagsProperty.

#define PIFmtICCFlagsProperty   0x666D6970 /* 'fmip' ICC profile flags. */

ICC profile flags; key value is 'fmip'.

This property key reflects the FormatICCFlags property in the PiPL resource file. The data for the property has type FlagSet. See Format ICC Profile Flags for PIFmtICCFlagsProperty.

#define PIFmtICCRequiredFlagsProperty   0x666D6972 /* 'fmir' ICC required profile flags.*/

ICC required profile flags; key value is 'fmir'.

This property key reflects the FormatICCRequiredFlags property in the PiPL resource file. The data for the property has type FlagSet. See Required Format ICC Profile Flags for PIFmtICCRequiredFlagsProperty.

#define PIFmtMaxSizeProperty   0x6d78737a /* 'mxsz' <Point> Max rows and cols supported by this format. */

The maximum number of rows and columns that can be in an image saved in this format; key value is 'mxsz'.

This property key reflects the FormatMaxSize property in the PiPL resource file. The data for the property has type Point. Photoshop uses this field to screen out ineligible formats.

#define PIFmtMaxChannelsProperty   0x6d786368 /* 'mxch' <int16 []> Max channels per mode for this format. */

An array of counts of the maximum number of channels which can/will be saved for a given image mode; key value is 'mxch'.

This property key reflects the FormatMaxChannels property in the PiPL resource file. This array is indexed by the plug-in mode constants. For example, if your format plug-in supports a single alpha channel in RGB mode, you should set maxChannels[plugInModeRGBColor]=4. A plug-in might be asked to save more channels than it reports it can support. This field exists primarily so that Photoshop can warn the user that alpha channels will be discarded.

#define PIFmtFilePropertiesProperty   0x66667073 /* 'ffps' Supports formatSelectorGetFilePropertyValue selector. */

Supports formatSelectorGetFilePropertyValue selector; key value is 'ffps'.

This property key reflects the FileProperties property in the PiPL resource file.

#define PIFmtLosslessRotateProperty   0x666C6C72 /* 'fllr' Supports formatSelectorLosslessRotate selector. */

Supports formatSelectorLosslessRotate selector; key value is 'fllr'.

This property key reflects the LosslessRotate property in the PiPL resource file.

#define PIFmtBulkSettingsProperty   0x66666273 /* 'ffbs' Supports formatSelectorBulkSettings selector.*/

Supports formatSelectorBulkSettings selector; key value is 'ffbs'.

This property key reflects the BulkSettings property in the PiPL resource file.

#define PIFmtPrimaryMetadataProperty   0x6666706d /* 'ffpm' File format is primary metadata source.*/

File format is primary metadata source; key value is 'ffpm'.

This property key reflects the PrimaryMetadataSource property in the PiPL resource file.

#define PIFmtPrimaryThumbnailProperty   0x66667074 /* 'ffpt' File format is primary thumbnail source. */

File format is primary thumbnail source; key value is 'ffpt'.

This property key reflects the PrimaryThumbnailSource property in the PiPL resource file.

#define PIFmtXMPReadProperty   0x786D7072 /* 'xmpr' Supports formatSelectorXMPRead selector.*/

Supports formatSelectorXMPRead selector; key value is 'xmpr'.

This property key reflects the XMPRead property in the PiPL resource file.

#define PIFmtXMPWriteProperty   0x786D7077 /* 'xmpw' Supports formatSelectorXMPWrite selector. */

Supports formatSelectorXMPWrite selector; key value is 'xmpw'.

This property key reflects the XMPWrite property in the PiPL resource file.

#define PIFmtQuickThumbExtractProperty   0x7174686D /* 'qthm' Supports extractQuickThumbnail field. */

Supports extractQuickThumbnail field; key value is 'qthm'.

This property key reflects the QuickExtractThumbnail property in the PiPL resource file.

#define PIFmtBulkOpenProperty   'ffbo' /* 'ffbo' Supports formatSelectorBulkOpen selector. */

Supports formatSelectorBulkOpen selector; key value is 'ffbo'.

This property key reflects the BulkOpen property in the PiPL resource file.

#define PIFmtRawSettingsProperty   'rscp' /* 'rscp' Supports settings copy/paste/etc selectors.*/

Supports settings copy/paste/etc selector; key value is 'rscp'.

This property key reflects the RawSettings property in the PiPL resource file.

#define PIFmtOpenWriteAccessProperty   'fowa' /* 'fowa' Plug-in prefers write access when opening.*/

Plug-in prefers write access when opening; key value is 'fowa'.

This property key reflects the OpenWriteAccess property in the PiPL resource file.

#define PIFmtWarnIfOverriddenProperty   'fwio' /* 'fwio' Warning if this plug-in is override by another. */

Warning if this plug-in is override by another; key value is 'fwio'.

This property key reflects the WarnIfOverridden property in the PiPL resource file.

#define PIFmtResourceThreadSafeProperty   'frts' /* 'ft' Plug-in is resource fork thread safe. */

Plug-in is resource fork thread safe; key value is 'frts'.

This property key reflects the ResourceThreadSafe property in the PiPL resource file.

#define PIFmtSupportsLayersProperty   'fmsl' /* 'fmsl' plug-in supports layers */
#define PIFmtSupportsLayersReadOnlyProperty   'slRO' /* 'slRO' plug-in layer support is read-only */
#define PIFmtSupportsBackgroundSaveProperty   'fbgs' /* 'fbgs' plug-in supports background save */

Plug-in can save a file out on a separate background thread.

This property key reflects the SupportsBackgroundSave property in the PiPL resource file. Formats that rely on Globals, Mac resource manager, or show UI after the formatSelectorWriteStart entry should not allow background save. A format plugin could be called to read a file on main thread while a file is being saved in the background thread.

#define PIFmtSupportsPOSIXIOProperty   'fxio' /* 'fxio' plug-in supports POSIX API for read and write */

Plug-in can read and write files using POSIX API calls.

This property key reflects the SupportsPOSIXIO property in the PiPL resource file. The FSRef API is deprecated and Photoshop will require plug-ins to have this key present if and when the FSRef API is missing from the OS. See hostSupportsPOSIXIO, pluginUsingPOSIXIO and posixFileDescriptor in the FilterRecord for more information.

#define PIFmtFileSizeLimitProperty   0x66736c6d /* 'fslm' <int32 > Max size on disk your format can read and write. In gigabytes. */

The maximum size on disk the format can read or write.

Photoshop defaults to 2 gigabytes. If your format can read and write files larger then set this property accordingly. key value is 'fslm'. This property key reflects the FormatFileSizeLimit property in the PiPL resource file. The data for the property has type int32 and is number of gigabytes. Photoshop uses this field to allow file sizes larger than 2 gigabytes.

#define PIFmtSupportsPluginOpeningFile   'fpof' /* 'fpof' plug-in supports open and closing files for itself. */

Plug-in prefers to open and close files itself.

The host should not open file. This property key reflects the SupportsPluginOpeningFile property in the PiPL resource file. See hostSupportsPluginOpeningFile