What an FCPXML is, and what it is not
An FCPXML is a plain-text description of a Final Cut project. It lists clips and their positions, the volume keyframes and fade handles an editor drew, the roles and lanes each clip sits on, markers, and an absolute path to every asset. It is backward-compatible, and fcp2aaf is tested against the versions Final Cut Pro 10.8 and later write.
What it does not contain is a single sample of audio. It points at your rushes; it does not carry them. Anything that reads an FCPXML still needs the media on a disk it can reach.
What an AAF is
An AAF is an audio session in a single file: tracks, every clip placed to the sample, fades and crossfades, volume automation, clip gain, markers, and source timecode. The audio itself is either written inside the AAF or referenced as WAVs beside it.
It is the format audio post has agreed on, and for two decades it has been how a feature or a series goes from picture to sound. An AAF written to the standard opens in Pro Tools, Nuendo, Cubase, DaVinci Resolve's Fairlight page and Premiere Pro.
Final Cut Pro and OMF
OMF is the interchange format that came before AAF. The last Final Cut with an OMF export was Final Cut Pro 7; Final Cut Pro X and Final Cut Pro 11 export FCPXML, and neither OMF nor AAF.
When the sound team asks for an OMF, send the AAF fcp2aaf writes. Pro Tools imports it from the same menu, File ▸ Import ▸ Session Data, and it carries clip gain, volume automation, pan, fades and markers along with the audio.
How fcp2aaf builds one
Three stages, with a format-neutral model in the middle so a Final Cut quirk never reaches the AAF and vice versa. The FCPXML is parsed into a timeline; the timeline is conformed against your media; the AAF is written from the result.
fcp2aaf does not pass audio through. It reads the paths Final Cut wrote into the FCPXML, opens your original recordings, and cuts from them exactly the regions the edit uses, with as much or as little handle around each clip as you ask for. WAV, BWF, RF64, AIFF, CAF, FLAC, MP3, MP4, MOV and MXF are read straight from the drive, at any size.
Time is computed exactly. Positions are rational values, never floating-point sums of rounded numbers, so a cut forty minutes into a feature lands where Final Cut has it and adjacent clips abut with no gap.
Where it sits in post
A locked cut goes to sound editorial first — dialogue, ADR, effects and music — and then to the re-recording mix, which prints the stems the DCP and the final masters are built from. The AAF is the turnover at the start of that chain: the file the sound department opens to rebuild the editor's timeline and begin.
That file is what fcp2aaf is built for. Every microphone of a multicam, a sync clip or a field recording arrives on a track of its own, the recorder's timecode travels so any clip can be traced back to its original, and a report accounts for anything the format could not carry — so the work that starts from this AAF starts with all of the material.
Exact where it can be, honest where it cannot
Some things an AAF simply cannot carry — the shape of a curved fade, a track colour, a Final Cut audio effect. fcp2aaf never drops one of them in silence. Every delivery ships with a plain-text report of what travelled, what could not, and what was carried a particular way on purpose, and the same list is shown in the window before you convert, while it can still change what you do.