Versions of XMEML and Final Cut

This appendix provides information about versions of the Final Cut Pro XML Interchange Format, as well as information about changes in versions of the Final Cut Pro application itself that are relevant to XMEML.

Versions of XMEML

Version 1

Version 1 of the interchange format was released with Final Cut Pro 4.0.

The elements of version 1 of the interchange format are specified in “DTD for Version 1 of the Interchange Format” All of the elements of version 1 are valid in subsequent versions except for trackcount, which is deprecated in version 2 and later.

Version 2

Version 2 of the interchange format was released with Final Cut Pro 5.0

Version 2 of the interchange format introduced these new elements:

  • filmdata and its subelements appspecificdata, filmslate, cameraroll, labroll, keycode, dailyroll, inknumber, filmstandard, telecinespeed.

  • filmslate and its subelements scene, take, slate.

  • multiclip and its subelements name, angle, collapsed, synctype.

  • angle and its subelements clip, activevideoangle, activeaudioangle.

  • audiochannel and its subelements channellabel, sourcechannel.

  • mediadelay

  • channelcount

  • layout

  • takenote

  • shotnote

  • scenenote

  • feetframes

  • perfoffset

  • reversed

  • channellabel

  • UUID

Version 3

Version 3 of the interchange format was released with Final Cut Pro 5.1.2.

Version 3 introduces support for these new capabilities:

The new elements in version 3 of the interchange format are:

  • uuid

  • updatebehavior

  • metadata and its subelements storage, key, updatebehavior, size, type, value.

  • effectclass

  • gamma

Version 4

The new elements in version 4 of the interchange format (released with Final Cut Pro version 6.0) are:

Version 5

Version 5 of the interchange format was released with Final Cut Pro 7.0.

Version 5 of the interchange format includes these new elements:

Versions of Final Cut Pro

Changes in Final Cut Pro 6.0.2

  • The end-of-line delimiter in an exported XML file is now the LF (line feed) character, rather than the CR (carriage return) character. This facilitates editing with standard text editors.

  • An empty element instance (such as <value></value>, or <value/>) is now treated as an empty string rather than 0. But an instance that references another instance with an id (for example, <file id = "FooBar"/>), is processed as if it were a duplicate of referenced instance.

  • Only the filters specified are added when an XML document is imported into Final Cut Pro. For example, no Shift Field filter is added automatically when an imported clip is brought into a sequence with a different field dominance setting.

  • The element importoptions lets you control options for importing an XML document into Final Cut Pro. Specifying the subelements createnewproject and defsequencepresetname suppresses the Import XML dialog. You no longer need to specify the subelement targetprojectname to do this. (This means you can import the XML into the default project and still suppress the dialog.)

  • The anamorphic setting in the imported XML document is now respected even if a media file has a different property. If necessary, the user must change the anamorphic setting in the sequence by hand to conform to the actual property of the media.

Changes in Final Cut Pro 7.0

  • Importing XML with timecode information retains the timecode information, even if the clips created are reconnected to media later, as long as the specified timecode data in the XML does not conflict with the specified tracks in the media file. (If the media file specifies a source timecode, XML should specify an Aux1 to avoid conflict). Any specified sound timecode is now exported.

  • The behavior of addifnotfound has changed. Specifically, you can now update the contents of a bin without having to specify every object in the bin—see “updatebehavior.”

  • Speed handling is improved to be more accurate—see “The anchoroffset Element.” FCP now pins bezier handles so that they cannot cause random, unexpected spikes in the wrong direction.

  • A clipitem with a speed effect and an overlapping transition now imports properly.

  • Using an audio unit effect across localized systems no longer loses parameter settings, provided the new element parameterspecifier is used.

  • Importing a text string that starts with "true” or "false” now properly imports the string as text, while retaining TRUE and FALSE as Boolean values in other places.

  • Audio only angles of multiclips now round-trip (export and import) correctly.

  • The multiclip round-trip process is improved in terms of acuracy of edits as well as effects, transition, and marker handling.

  • Mishandling of link - itemindex now logs an error.

  • Improved memory management and other fixes increase the stability of XML export and import.

  • FCP import is more strict about the UUID element. The element must have the proper format or it is rejected and an error logged.

  • FCP escapes most illegal characters on XML export. Since the FCP Export engine is now completely revised, FCP may escape some of these characters differently.