← Malibu Conform
Malibu Conform Help

Getting started

What Malibu Conform does

Malibu Conform takes a Final Cut Pro project that you exported as FCPXML and prepares it for DaVinci Resolve Studio. It writes an FCPXML that Resolve can use, a manifest and a conform report. Optionally it then imports the timeline into Resolve and applies the transforms there. The conform covers picture only; audio is out of scope.

Before you start

You need macOS 14.0 or later and a project exported from Final Cut Pro.

The automatic Resolve step needs DaVinci Resolve Studio; the app warns that the free edition does not include the Python scripting API. Without Resolve you still get the conformed files and can import them yourself (see the guide on manual import).

The Resolve step runs on Python 3.10 or 3.11. The app uses a Python 3.11 bundled in the app when the build contains one and otherwise looks for an installed 3.10 or 3.11. On first launch the app can ask for your email address so that support can find and extend your trial access.

Export from Final Cut Pro

In Final Cut Pro, select the project (the assembled timeline, not an event or the library) and export it with File ▸ Export XML. Malibu Conform reads FCPXML versions 1.10 to 1.14, either as a .fcpxml file or as a .fcpxmld bundle. A file without a project timeline, such as an event export, is blocked by the preflight check or reported as "nothing conformed".

Conform the file

Start Malibu Conform and drag the file onto the drop zone Drop FCPXML or .fcpxmld here, or click the zone and pick the file.

Leave the options at their defaults and click Conform for Resolve.

If the preflight check has anything to report, even informational, a sheet lists it first. Click Conform Anyway to continue; if there is only information, the button reads Conform. A hard block means the file cannot be conformed; export the project again and retry.

Read the result

When the run finishes the window shows the duration, a summary line (clips, multicams, compounds inlined, transforms, effects removed), the output files and any warnings. The buttons are Open Output Folder, View Report, Import into Resolve and New Conform.

The files land in the output folder, by default Movies/MalibuConform in your home folder: <input name>_Conform.fcpxml, manifest.json, ConformReport.md and ConformReport.pdf, plus a reference movie if you added one.

What happens in Resolve

With Drive Resolve after export switched on and Resolve Studio set up, Malibu Conform starts Resolve if it is not running. It imports the FCPXML as a timeline named after your file with the suffix _Conform into the project that is open in Resolve, applies the transforms and reads the values back to check them. Clips with several keyframes are left as Resolve imported them and only get a marker.

With the option switched off, a sheet with import instructions opens instead.

Set up DaVinci Resolve

Check the setup

Open the app's Settings (the gear icon in the header), choose the tab Resolve and click Check Resolve Setup. The list shows Installed, Studio Edition, Scripting Available and Python.

On the very first launch a setup window opens. Click Check Setup to run the checks; the button then reads Re-check. Skip closes the window and Done appears once everything is ready. Its list is worded differently from the Settings list, for example "Studio edition detected". If a later launch finds something missing, a banner offers Check Setup.

Use the Studio edition

Automatic mode needs DaVinci Resolve Studio; the app's hint says the free edition does not include the Python scripting API. The check looks for Resolve and its scripting library in the default location in the Applications folder, so a copy installed elsewhere is reported as not installed. It tests for those files, not for a license.

Enable external scripting

In DaVinci Resolve open the Preferences and set External scripting using to Local. The app's setup hint names the path Preferences → System → External Scripting Using → Local; the Resolve step's own message names Preferences > General. Without the setting Resolve may be running but does not answer, and the Resolve step stops with a message that tells you to enable it.

Open a project in Resolve

Malibu Conform imports into the project that is currently open in Resolve and never creates one. If no project is open within 20 seconds, the Resolve step stops with "No project is open in Resolve. Open (or create) a project, then run again." The files and the report are still written; the failure appears as a warning "Resolve driver failed".

Let Malibu Conform start Resolve

If Resolve is not running, Malibu Conform starts it and waits up to 180 seconds for it to answer. A Resolve that is already running but does not answer is not restarted.

Switch the Resolve step on or off

Use Drive Resolve after export, either in the options of the main window (visible once a file is chosen) or in Settings under Resolve. It is on by default. If the setup check fails when the app starts, the checkbox in the main window starts out off for that session while Settings still shows your stored choice.

The checkbox in the main window and the one in Settings are the same setting: a change in either place applies at once and is saved.

Import the conformed file into Resolve yourself

When you need this

Use the manual import when Drive Resolve after export is off, or when the Resolve step reported an error. If the option was off, the instructions open on their own after the run; otherwise click Import into Resolve in the result window.

Import the timeline

In DaVinci Resolve Studio choose File → Import → Timeline… and pick the file named <input name>_Conform.fcpxml that the sheet shows. Show FCPXML in Finder reveals it.

Switch on three import options

In the import dialog enable Use color information, Mixed frame rate format: Final Cut Pro X and Automatically import source clips into media pool. The app's instructions state that without these three options the conform looks correct in the Inspector but drifts visually, and that the media pool option links the clips to your media.

What a manual import does not include

The red "Effect Removed" and "Transform Check" markers, the yellow "Keyframed Transform" marker and the reading back of transform values come from the Resolve step. A manual import has none of them. Markers for adjustment layers and your original Final Cut Pro markers are written into the FCPXML and arrive either way. Removed filters are listed in the conform report and in manifest.json.

Read the conform report and markers

Open the report

Click View Report in the result window. It opens ConformReport.pdf from the output folder. The same report is also there as Markdown, ConformReport.md; View Report opens that file when the PDF could not be written.

What the report lists

The report has a summary and sections such as "Critical — Manual Review Required", "Warnings", "Removed Effects", "Multicam Resolutions", "Transforms Applied", "Source Media Rasters", "Source Media", "Cross-Clip Adjustment Layers", "Custom LUTs Detected" and "Reference Movie". It closes with notes for the colorist.

Removed effects

Video filters on clips are removed, including color filters, because none is translated to Resolve. A filter removed from a clip on the main storyline is listed under Removed Effects with a suggestion for how to rebuild it in Resolve. A filter removed from a connected clip appears under Warnings instead and gets no marker in Resolve. Custom LUT filters are removed too and are also listed under Custom LUTs Detected.

Markers in Resolve

Markers on clips come from two places. The conform writes a marker "Adjustment Layer: <name>" on the first clip an adjustment layer covers. The Resolve step sets the others. A red marker named "Effect Removed" followed by the filter name shows a removed filter. A red marker named "Malibu Conform: Transform Check" lists transform values that did not arrive as intended. A yellow marker named "Keyframed Transform" means the clip has more than one transform keyframe and was left as Resolve imported it; check the animation against your reference.

Warnings in the result window

The result window shows the first ten warnings in the order they were recorded; the rest are in the report. The report lists errors under "Critical — Manual Review Required" and warnings under "Warnings"; information entries are only counted in its summary. A red dot marks an error, orange a warning and grey information.

Handle compound clips, multicams and sync clips

What happens by default

In the normal case multicam clips are replaced by their active angle and sync clips are unwrapped to their primary video clip, so Resolve receives plain clips. A few cases stay as they are and get a warning, for example a retimed wrapper that carries connected video. A compound clip is flattened when it reduces to a single clip. A compound with several clips stays a compound clip and the conform records the information "Compound contains N elements — kept as compound". A compound whose only content is a title is not flattened and is reported with "Inner element is not inlinable".

Flatten compounds with several clips

Switch on Aggressive compound inlining in the options before you click Conform for Resolve, or in Settings under General. Malibu Conform then takes the first inner clip of such a compound when it is an asset clip and drops the rest; if the first item is something else, the compound stays as it is. Nested clip arrangements can be lost, so use it only when the compounds in your edit are wrappers and nothing more. The option is off by default.

Find what stayed unconformed

If clips with picture remain sync, compound or multicam clips, the conform adds a warning with their number: they import into Resolve as Compound Clips that cannot be graded per clip. The warnings for each clip give the reason.

Connected clips

Clips on lanes and secondary storylines are conformed in the FCPXML, but their transforms are not applied in Resolve: the Resolve step only addresses clips on video track 1. A note in the warnings shows how many connected clips were conformed.

Conform dailies proxies with bars burned in

When you need this

Use this when your edit was cut on dailies proxies with extra rows burned in that the camera originals do not have. The conform then calculates clips whose source raster matches a proxy raster you entered for the camera originals; clips with other rasters are not changed.

Add a proxy raster

Open Settings, choose the tab Proxies and click Add Proxy Raster. A new row starts with the placeholder sizes 1920 × 1080 for the proxy and 3840 × 2160 for the original; replace both with your sizes. Enter Proxy size and Original size. The bars are worked out from the two sizes: the picture area is the largest part of the proxy with the original's aspect ratio, centered, and an odd leftover pixel goes to the bottom or right. A row with edited bars no longer follows the sizes.

Set uneven bars

Edit any bar under Bars (px) (Top, Bottom, Left, Right) to enter your own values. The row then shows "Custom bars."; click Work out from sizes to return to the automatic values. Use the trash button to remove a row.

Run the conform

The rows are read fresh at every conform run. The conform report lists the raster sizes of your project under Source Media Rasters. Relink to the camera originals in Resolve before you check the picture; until then the proxies look too small.

Known limits

Clips with keyframes are not recalculated for the camera original; the conform warns for each of them, and you check size and position after relinking.

Reference

Requirements and versions

  • macOS 14.0 or later.
  • Input: FCPXML versions 1.10 to 1.14 as .fcpxml file or .fcpxmld bundle, exported from a Final Cut Pro project.
  • Resolve step: DaVinci Resolve Studio with external scripting set to Local and Python 3.11. The app uses a Python 3.11 bundled with the build when there is one, and otherwise falls back to a python.org 3.11, a Homebrew 3.10 or 3.11, or /usr/bin/python3 if that is 3.10 or 3.11.
  • Verified against DaVinci Resolve Studio 21.1.0.17 only; other Resolve versions are untested.

Main window

  • Drop FCPXML or .fcpxmld here: the drop zone; click it to choose a file instead.
  • Drive Resolve after export: default on; the checkbox in the main window starts out off for the session if the Resolve setup check fails when the app launches. Runs the Resolve step after the files are written.
  • Aggressive compound inlining: default off. Flattens compounds with several clips by keeping only the first.
  • Include reference movie: default on. Takes the movie chosen under Reference Movie into the output.
  • Burn in timecode if missing: default on. Adds the timeline start timecode as a text overlay on the reference movie unless its file name suggests it already has timecode.
  • Select...: chooses a reference movie. Change...: chooses the output directory.
  • Conform for Resolve: starts the preflight check and the conform.

The options appear once a file is chosen.

Settings

  • General: Aggressive compound inlining (off), Include reference movie (on), Burn in timecode if missing (on, available only while a reference movie is included) and the output folder with Choose.... The default output folder is Movies/MalibuConform in your home folder.
  • Resolve: Drive Resolve after export (on), the status list and Check Resolve Setup.
  • Proxies: proxy rasters with bars burned in; see the guide on proxies.
  • License: shows status, email and device ID; Redeem License Key... and Deactivate This Device....
  • Diagnostics: Verbose logging (off), Open Log Directory and Send Feedback….

The options in the main window and the matching options here are the same settings: a change in either place applies at once and is saved. The Proxies tab is read at every run.

Menus and shortcuts

  • Malibu Conform ▸ Check for Updates… looks for a new version.
  • Help ▸ Send Feedback… opens the feedback window; the shortcut is ⌘?.

Output files

  • <input name>_Conform.fcpxml: the FCPXML for Resolve. It keeps the version of the input.
  • manifest.json: the transforms and removed filters that the Resolve step reads.
  • ConformReport.md: the conform report in Markdown.
  • ConformReport.pdf: the same report as an A4 PDF. If it cannot be written, the conform records an information message and the Markdown report is still there.
  • reference_<file name>: a copy of the reference movie; <name>_TC.mp4 when timecode was burned in.

Reference movie

A reference movie must have a video track. It is validated, copied into the output folder and listed in the report. Whether it already has timecode burned in is guessed from the file name: names containing "_tc", "timecode" or "burnin" count as having it.

Warning severities

A message is a hard block, an error, a warning or information. A hard block stops the conform before it starts. Only the preflight findings appear before the run; with errors or warnings the continue button reads Conform Anyway, with only information it reads Conform. Warnings from the conform and from the Resolve step appear afterwards in the result window and the report.

Limits

  • Picture only. Audio is out of scope; connected audio of a flattened wrapper is dropped.
  • Transforms are applied to clips on video track 1 only. Connected clips are conformed in the FCPXML but not touched in Resolve.
  • Video filters on clips are removed and reported; none is translated to Resolve. On connected clips they are reported as a warning only and get no marker in Resolve.
  • Clips with more than one transform keyframe keep what Resolve imported and get a yellow marker; the Resolve step cannot write keyframes. Connected keyframed clips get no marker.
  • Adjustment layers are not applied to the clips they cover. A title that is an adjustment layer with a transform, sitting on the main storyline, is removed from the output, marked on the first clip it covers and listed in the report; adjustment layers elsewhere are not detected.
  • For audition clips only the active pick reaches Resolve.
  • Pan and Tilt units were measured for Resolve's Crop and Fit scaling modes only.
  • The Studio check tests for a file in the default Resolve location, not for a license.

Troubleshooting

The file is rejected before the conform

"This appears to be an Event XML (clip-only) export": you exported an event or library without a project. Select the project in Final Cut Pro and export it again. "No timeline sequence found in FCPXML" means the file holds no project and no timeline at all; export the project again. "FCPXML … is not supported. Need 1.10–1.14": the file has a different FCPXML version; the message names Final Cut Pro 10.6.5 or newer as the source.

The conform finished but nothing changed

The report says that no multicam or compound clips were in a conformable project timeline. The file is most likely an event or library export, or the exported project is empty. Select the project in Final Cut Pro and export it again.

Clips stay compound clips in Resolve

Compounds with several clips are kept as compounds by default. Switch on Aggressive compound inlining if you accept that only the first clip is kept. See the guide on compound clips.

Resolve does not answer

"Cannot connect to Resolve. It is running, but scripting does not answer": set External scripting using to Local in Resolve's Preferences and run the conform again. "It was started but did not answer within 180 s": wait until Resolve has finished starting, check the same setting and retry.

No project is open in Resolve

Open or create a project in Resolve and run the conform again. Malibu Conform never creates a project itself.

Resolve cannot import the file

"Resolve failed to import the FCPXML": check that all source media is accessible. The FCPXML in the output folder can also be imported by hand; see the guide on manual import.

No compatible Python found

"No compatible Python 3.10 or 3.11 found": the bundled Python could not be used and no installed 3.10 or 3.11 was found. Install Python 3.11 from python.org or with Homebrew. Python 3.12 and later does not work with Resolve's scripting library.

A "Transform Check" marker appears

Resolve can clip values silently, so Malibu Conform reads each value back after setting it. When a value ends up different from what was set (small differences are ignored), or could not be set or read, the clip gets a red marker named "Malibu Conform: Transform Check" and the report lists it.

The picture looks too small

If you conformed dailies proxies with bars burned in, relink to the camera originals in Resolve; until then the proxies look too small. Also check the sizes on the Proxies tab.

Clips are offline after a manual import

Import again with Automatically import source clips into media pool enabled.

Cuts land on the wrong source frame

The preflight check warns about assets with names of the kind Sony uses that start at 0: Final Cut Pro may have failed to read the camera timecode, and cuts may land on the wrong source frame in Resolve. Relink the media in Final Cut Pro before you export.

The app asks for a license

When the license check blocks the app, for example after the trial, a screen offers Check Again, I already have a license, Lost your license key?, Buy Malibu Conform and Quit Malibu Conform; the device ID shown there is what support needs for a renewal. On the first launch a screen asks for your email address before you can continue. A key can be entered later under License in Settings with Redeem License Key....

Written for version 0.1.11.