Platforms to show: All Mac Windows Linux Cross-Platform

Back to XMPFilesMBS class.

XMPFilesMBS.CheckFileFormat(path as string) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
CheckFileFormat() tries to determine the format of a file.

CheckFileFormat tries to determine the format of a file, returning an format value. It uses the same logic as OpenFile will use to select a smart handler.

path: The path for the file, appropriate for the local operating system. Passed as a UTF-8 string. The path is the same as would be passed to OpenFile.

Returns the file's format if a smart handler would be selected, otherwise kUnknownFile.

XMPFilesMBS.CheckPackageFormat(path as string) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
CheckPackageFormat() tries to determine the format of a "package" folder.

CheckPackageFormat tries to determine the format of a "package" given the name of the top level folder, returning an XMP_FileFormat value. Examples of recognized packages include the video formats P2, XDCAM, or Sony HDV. These packages contain collections of "clips", stored as multiple files in specific subfolders.

Path: The path for the top level folder, appropriate for the local operating
system. Passed as an UTF-8 string. The path is not the same as would be passed to OpenFile. For example the path passed to CheckPackageFormat might be ".../MyMovie", while the path passed to OpenFile would be ".../MyMovie/SomeClip".

Returns the package's format if a smart handler would be selected, otherwise kUnknownFile.

XMPFilesMBS.GetFormatInfo(format as Integer, byref handlerFlags as UInt32) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
GetFormatInfo() reports what features are supported for a specific file format.
Example
dim flags as UInt32
if XMPFilesMBS.GetFormatInfo(XMPFilesMBS.kJPEGFile, flags) then

if BitwiseAnd(flags, XMPFilesMBS.kCanInjectXMP) <> 0 then
MsgBox "Can inject first-time XMP into an existing file."
end if

if BitwiseAnd(flags, XMPFilesMBS.kCanExpand) <> 0 then
MsgBox "Can expand XMP or other metadata in an existing file."
end if

if BitwiseAnd(flags, XMPFilesMBS.kCanRewrite) <> 0 then
MsgBox "Can copy one file to another, writing new metadata (as in SaveAs)."
end if

if BitwiseAnd(flags, XMPFilesMBS.kCanReconcile) <> 0 then
MsgBox "Supports reconciliation between XMP and other forms."
end if

if BitwiseAnd(flags, XMPFilesMBS.kAllowsOnlyXMP) <> 0 then
MsgBox "Allows access to just the XMP, ignoring other forms."
end if

if BitwiseAnd(flags, XMPFilesMBS.kReturnsTNail) <> 0 then
MsgBox "File handler returns native thumbnail information."
end if

if BitwiseAnd(flags, XMPFilesMBS.kReturnsRawPacket) <> 0 then
MsgBox "File handler returns raw XMP packet information and string."
end if

end if

The file handlers for different file formats vary considerably in what features they support. Support depends on both the general capabilities of the format and the implementation of the handler for that format.

format: The file format whose support flags are desired.
handlerFlags: A variable in which to return a logical OR of option bit flags.
The following constants are defined:

  • kCanInjectXMP - Can inject first-time XMP into an existing file.
  • kCanExpand - Can expand XMP or other metadata in an existing file.
  • kCanRewrite - Can copy one file to another, writing new metadata (as in SaveAs)
  • kCanReconcile - Supports reconciliation between XMP and other forms.
  • kAllowsOnlyXMP - Allows access to just the XMP, ignoring other forms.
This is only meaningful if kCanReconcile is set.
  • kReturnsTNail - File handler returns native thumbnail information.
  • kReturnsRawPacket - File handler returns raw XMP packet information and string.

Even if kReturnsRawPacket is set, the returned packet information might have an
offset of -1 to indicate an unknown offset. While all file handlers should be able to return the raw packet, some might not know the offset of the packet within the file. This is typical in cases where external libraries are used. These cases might not even allow return of the raw packet.

Returns true if the format has explicit "smart" support, false if the format is handled by the default packet scanning plus heuristics.

XMPFilesMBS.GetVersionInfo as XMPVersionInfoMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
GetVersionInfo() retrieves version information for the XMPFiles component.

The items on this page are in the following plugins: MBS XMP Plugin.


The biggest plugin in space...