Using AAF Everything

Everything you need to move timelines between editors, quick start, per-editor notes, media handling and the fine print.

Install & first run

AAF Everything is a batch converter for timelines between four interchange formats, not an editor, not a player. It reads a timeline, builds a neutral model of it, and writes it fresh in the target format:

ReadsWrites
.aaf.aaf
.xml (Premiere Pro) .xml (Premiere Pro)
.fcpxml.fcpxml
.fcpxmld (bundle) .fcpxmld (bundle)

Every combination is available. The one format your loaded files already have is locked in the target menu, .fcpxml and .fcpxmld count as different formats there.

System requirements

Installing

Questions, problems, or a timeline that converts wrong: support@aafeverything.app, real timelines that break the converter are exactly what we want to see.

Quick start

General note for Final Cut: in deeply nested timelines, compounds inside compounds, multicam inside a compound, the converter cannot reliably work out a clip’s timeline position. For a fully clean conversion, select the affected clips (or the whole timeline) in Final Cut and choose Clip → Break Apart Clip Items before exporting, then every clip sits directly in the timeline and converts exactly.

Under Include, nine switches decide what travels: Crossfades, Fades, Clip gain, Volume automation, Pan, Markers, Colors and Video, all on, plus Extract video audio, off by default. Whatever you switch off is removed before converting, and the report notes it as “excluded by choice”. The selection applies to the whole batch, not per file.

The output is named <source name> (converted).<ext> and never overwrites anything, if the name is taken, it counts up. After the run, Show in Finder and Show report sit under the mini-report; with several files, each output gets its own report and the Finder opens at the last one.

Two things worth knowing: clicking Check and convert again converts every file in the list again, including the finished ones. And the app deliberately remembers nothing between starts, target, frame rate, folder and every switch are back on their defaults next time. There are no presets.

How a run works

Between reading and writing, the media steps run in a fixed order: relink moved files first, unpack audio embedded in the AAF, join channel files that belong to one clip, pull the sound out of video files (if switched on), convert MXF to WAV, then write per-channel files (if switched on), then collect. Two consequences worth knowing: converted MXF audio and extracted video sound are picked up by the channel split too, and the combining of split track pairs happens before all of this, so a combined pair behaves like any other stereo clip from there on.

Every file the converter writes itself also names the clip in the target: _2ch (channels joined), _C1-2 (channel selection), _audio (sound from a video file). Clip names from the source timeline don’t travel in any of the four formats, the report says so.

Common routes

Each route has its own step-by-step page:

Choosing a format

Channels & stereo

Stereo is not stored the same way twice. There are three forms:

FormWhat sits on diskTypical writer
1, interleaved one file with two channels Resolve (default), Avid, Nuendo
2, one file per channel two mono files, but one stereo track in the timeline Resolve “render one track per channel”
3, two mono tracks two mono files on two separate tracks Nuendo/Cubase/Pro Tools splits, Premiere “exploded” stereo

Applications differ in which of these they put back together as stereo on import, which is why a conversion can be technically correct and still look wrong when it opens.

The most important rule of all: form 3, two mono tracks side by side, is recombined by no program. Not Pro Tools, not Nuendo, not Resolve. “I’ll just make two mono tracks of it” is not a solution; it is the most common mistake.

Which switch for which job

Two switches under Channels, on the first page of the Check and convert dialog. They appear only when the target is .aaf, in every other format a clip points at exactly one file, so neither switch has any meaning there.

Separate combined channels is on by default, because the common AAF delivery goes to a mix:

TargetSeparate combined channels Why
Pro ToolsON Pro Tools rebuilds a stereo track only from form 2, one mono file per channel
Nuendo / CubaseON deliver one mono file per channel here as well
DaVinci Resolveoff same
Avid Media Composeroff same
any non-AAF target the row is not shown at all; the option applies to AAF only

And the other direction: if the source timeline carries a stereo pair as two mono tracks (a Nuendo, Cubase or Pro Tools split, Premiere’s _L/_R pair), switch Combine split stereo tracks on, otherwise they stay two mono tracks in the target, and no program will merge them there.

Handing the AAF to another NLE? Switch it off. The default is set for the common case, a delivery to a mix: Pro Tools and Nuendo need every channel as its own mono file, and they build nothing at all from a track wider than two channels. But if the AAF goes to Resolve or Media Composer instead, switch Separate combined channels off, the AAF then points into your original multichannel recordings rather than into freshly written mono files.

Combine split stereo tracks

What is recognized, two directly adjacent mono tracks:

Both patterns are built from real Premiere and Nuendo exports. The pair must match in structure: same clip count, same positions and lengths, both sides mono, both sources present and different, no video involved. What is deliberately not checked: sample rate, bit depth and file length, if those don’t fit and the render fails, the clip shows offline with the reason in the report.

The review window opens as soon as you tick the box. The analysis runs right away and shows, file by file, every audio track in order: recognized pairs as a double row with L/R chips, single tracks marked M or ST. Every pair can be unticked, the combined track renamed. The footer counts “N audio tracks instead of M”; the buttons are Keep all separate and Combine N pairs. Escape or a click outside cancels the whole conversion, nothing is written. If the analysis finds nothing, the window stays away; the Check… link explains instead what was looked for.

Pairing by hand: Pair tracks manually… walks through it in two steps, click the track that carries the left channel, then the track below it. Only the directly adjacent track can be chosen; tracks that can’t pair are dimmed and say why (already stereo, not combinable, not the next track down, layout differs, sources overlap).

What survives the merge, and what doesn’t:

A track double is not stereo: two same-name tracks whose clips point at the same source file are a duplicate, not a split pair, they are deliberately left alone, and the report names them.

Even in Link mode, combining creates a media folder. A combined pair is rendered into a new stereo file in <output name> Media, and the output references that file, without the folder, the clip is offline in the target. For a delivery, Collect next to output is the safe way.

Separate combined channels

What it does: every channel gets its own mono WAV, the tracks stay stereo. It does not create mono track pairs; the track layout is unchanged. Files are named <stem>_L.wav / _R.wav (or _C1…_CN beyond two channels); the clip in the session keeps the original name without a channel suffix.

AAF target only. For any other target the row is not shown. One consequence: with an AAF as the source the switch cannot be reached, because the app never converts a format into itself, the practical route is Final Cut or Premiere to AAF. A finished AAF (say, from Resolve) cannot be repacked into one-file-per-channel here; that needs a fresh export from the editor.

Both switches together, the classic “Nuendo split stereo to Pro Tools”, is fine: the two mono tracks are first joined into one stereo file, then split again per channel. The clip shows up in the session as <stem>_2ch.

Handles

Directly under Separate combined channels, and only active together with it: Handles decides how much extra material each written channel file keeps before and after the clip, so the mixer can still pull an edge.

Handles cost disk space, and they cost it per channel. That is the trade this switch is: longer handles mean a larger turnover folder, and no handles at all means every fix has to go back to the picture department.

Without Separate combined channels, Handles do nothing. No new files are written in that case, the AAF points into the original recordings, which are complete anyway.

What Pro Tools needs

What a stable Pro Tools import needs is written automatically: stereo markings only on tracks that really carry two channels, a neutral wrapper around every stereo clip, and clean standard headers in every file the converter writes.

What Nuendo needs

Switch Separate combined channels on here too, one mono file per channel is the delivery form for Nuendo and Cubase as well. Everything else Nuendo needs is written automatically. The reliable combination is WAV source material with Transcode MXF audio left on (the default). AIFF, FLAC, MP3 and untranscoded MXF fall onto a weaker file description that Nuendo can read as mono-left; and a file whose channel count cannot be read is written with a stereo assumption, the report names it. With WAV sources, neither can happen.

What arrives in the session

What doesn’t arrive: fade curve shapes (everything is linear or the standard dissolve), clip names from the source timeline, track mute and lock, and effects, plugins or mixer settings, the formats carry the edit, not the mix.

Media is always linked, never embedded, the form Pro Tools requires. An AAF without its media is empty; for a handover to another machine, use Collect next to output.

Roles & tracks

Final Cut does not have tracks, it has roles. AAF has tracks and no roles. Something has to decide which becomes which, and page 2 of the Check and convert dialog is where you see that decision before it happens.

The roles are grouped the way Final Cut groups them: main role first, then its subroles. Each line shows the track numbers it will occupy, A1–A2, A5, and whether those tracks are mono or stereo. The numbers are the answer a bare track count leaves open: not how many, but which.

What you can doEffect
drag a role or a whole group changes the order of the tracks in the target session
rename the track carries your name instead of the role name
untick the role is left out entirely; its tracks are not written
Merge roles manually two steps: first the role that keeps its track, then the one that moves into it
Merge sub roles automatically every subrole goes to its main role, Dialogue BOOM and Dialogue LAV1 become one Dialogue
Reset to automatic back to the grouping the file itself suggests

A layout stays set until you reset it or the file list changes, so a series of reels can go through with the same track plan. It is not remembered between starts, like every other setting in the app.

Preview track layout

The button on page 2 opens a separate window with the session as a drawing: every track as a row, every region in place, a time ruler above and the totals in the title, 9 tracks · 69 regions · 00:02:30:00. Colour follows the role, the same colour as in the list, so a role can be recognised across both views.

It is the last chance to notice that something is where it should not be, and it costs nothing, because nothing has been written yet.

An AAF source has no roles. Coming from AAF, page 2 does not exist and the dialog has a single page; the tracks keep the names they already have.

What transfers, the full matrix

No converter can move what the target format cannot hold. This is the matrix we work from, derived from the format specifications and our own round-trips through each format, it’s the same information the conversion report prints per file. AAF dialects differ between applications, so the report next to your own file is the last word, not this table.

Timeline elementAAFPremiere XML FCPXML / FCPXMLD
Clip positions & source offsets sample-accurate frame-accurate¹ sample-accurate
Fadesyes yes (as transitions) yes
Crossfadesyes (real dissolves) yes (as transitions) yes (true overlaps)
Clip gainyes yes (constant level) yes
Markersyes yesyes
Track namesyes no, no name field (A1, A2, …) yes (as audio roles)
Video tracks (also multiple)yes yes yes (storyline + lanes)
Channel counts yes, all channels stereo pairs only yes
Pan (static & automation)yes, real curves no, not in the format no, not in the format
Volume automationyes, real curves no, left out, never averaged (constant clip gain stays) yes, as Final Cut volume keyframes
Track / clip colorsyes (round trip)³ no, not in the format no, not in the format
Empty (named) tracksyes yes no, clip-based format
Effects / EQ / pluginsno nono
Speed changes / retimesno² no²no²

¹ Premiere XML counts time in frames, the format itself is frame-quantized. ² Render or consolidate retimed material in the source editor first; the report flags it rather than converting it wrong. ³ Colors ride in a private comment inside the AAF and survive a round trip through this converter; other applications ignore that comment.

Two caveats even within AAF: DaVinci Resolve doesn’t write pan or volume automation into its AAF exports, the data never leaves Resolve, so no tool can recover it (and Resolve ignores pan on AAF import too; Avid, Pro Tools and Nuendo read it). And no interchange format carries plugins or MIDI; print stems for anything that must be heard as mixed.

Media handling

Some options render new files, combined pairs, per-channel splits, converted MXF, extracted video sound. Those land in a Media folder next to the output even in Link mode, and the output points at them. Keep that folder with the file, or use Collect for anything that leaves your machine.

Frame rates

as source (default, keeps each file’s own rate) · 23.976 · 24 · 25 · 29.97 DF · 30 · 50 · 59.94 · 60 · 120, plus none (no timecode track) for audio-only AAF deliveries. NTSC rates are written exactly, drop-frame flag included. If the source names no rate, 25 fps is assumed and disclosed in the report. Two substitutions are made openly rather than silently: none applies to AAF only (elsewhere 24 fps), and 120 is not a Final Cut preset (written at 60 there), both come with a report line. The frame rate affects the timecode track and how the editor snaps picture edits; audio placement is sample-accurate at every rate.

The conversion report

Every conversion writes a text file next to the result. It is the part of the program worth reading before a handover, and it follows one rule: a silent change is a defect, not a feature. Reported is every place where the converter left something out, changed a value you set, could not carry something, made a decision you might have made differently, or repaired something that would otherwise look like an error. Every line names what happened, how many elements were affected, and, where one exists, the action that remains.

The mini-report in the app shows the important lines; the file next to the output has everything, including the purely descriptive notes. If there was truly nothing: “No notes, nothing had to be changed or left out.”

Demo & license

Limits worth knowing

No effects of any kind transfer. Plugins, EQ, reverb, inserts, MIDI, mixer settings, none of the four interchange formats has a place for them; that is the nature of these formats, not a converter setting. They carry clips and edits. Print stems for anything that must be heard as mixed.

Troubleshooting

macOS: “App from an unidentified developer”

That’s Gatekeeper being cautious because we haven’t finished the code-signing yet (see Install & first run for how to open it the first time via System Settings → Privacy & Security → Open Anyway). We’re a small independent studio, the signing is on the way. The app is completely safe, keeps your work offline, and your timelines never leave your machine.

Pro Tools shows mono where I expected stereo

Pro Tools rebuilds stereo only from the one-file-per-channel form, the switch was turned off somewhere. Convert again with Separate combined channels switched on, see Channels & stereo. If the source itself carried the pair as two mono tracks, additionally switch Combine split stereo tracks on.

Pro Tools: “Error reading AAF WAVE Data”

A linked original WAV carries a header variant Pro Tools’ AAF import doesn’t read (typical for some 24-bit files from other tools). Convert again with Separate combined channels on, that rewrites every audio file in a form Pro Tools accepts.

Nuendo plays stereo only on the left

The source audio wasn’t WAV, or MXF went in untranscoded. Keep Transcode MXF audio on (the default) and prefer WAV source material for Nuendo deliveries, then this cannot happen.

“N file(s) could not be collected”

The source timeline references media that no longer exists at the recorded location. The output still works and references the original paths, relink in the target editor, or restore the files and convert again.

Premiere won’t import the file / “unsupported format”

You are probably handing Premiere an AAF, Premiere imports no third-party AAFs. Convert to .xml instead and import via File → Import…; that is the dialect Premiere reads.

Final Cut rejects the XML

Make sure you import via File → Import → XML… and that your Final Cut version matches the file: .fcpxmld bundles need FCP 10.6 or newer, for older versions convert to plain .fcpxml.

Clips show offline after import

Three usual causes. The target app can’t see the media at the recorded paths (different machine or drive), relink in the target, or convert again with Collect so the output travels as one package. The Media folder next to the output stayed behind, it must travel with the file, even in Link mode. Or a channel render failed, then the report names the file and the reason instead of silently substituting something else.

The demo output has tracks but no sound

Every clip in that timeline starts past the 120-second demo line, so the hard cut removed them all, the report warns about it. The full version converts the whole length.

Something is missing in the target

Open the conversion report next to the output first, it lists per file what could not travel and why (for example pan into an XML target, moving automation into Premiere XML, or a flattened multicam). That is usually faster than comparing timelines by ear.