What Resolver does
Have you ever lost a Friday afternoon trying to keep an editor's cut, a producer's shot list, and a VFX schedule in lockstep across a fistful of spreadsheets? Excel, Sheets, Numbers — pick your poison; the outcome tends to be the same graveyard of stale tabs, mismatched columns, and “which version of the cut is this EDL from?” emails. Resolver is the first of a small handful of tools built squarely against that problem — keep the editor in the NLE they love, keep the production team's view honest, and let the file system do the talking.
Resolver lets your editor work in their NLE of choice — DaVinci Resolve, Premiere, Final Cut, Avid — and hand cuts back to the production team by simply saving an export into a shared Google Drive folder. The folder is unique to the editor and the project, and any cut dropped in is ingested into the production timeline within minutes.
For the editor, there is nothing to install and no website to log into. For the producer, every revision is automatically tracked against the shot list with no manual import step.
If you're the editor
- Check your inbox for a Google Drive share invite from the
production team. The shared folder will be named like
ProjectName_YourName. - Open the folder in Drive. It's empty at first — that's normal.
- Cut as you normally would in your NLE.
- Export the timeline as FCPXML, AAF, Premiere/FCP XML, or EDL — whatever your software supports best.
- Save (or drag-and-drop) the export file into your shared folder.
That's it. The production team will see your cut reflected against their shot list within a few minutes.
v2.fcpxml) or overwrite the existing one. Both work
— the platform notices the change and re-ingests automatically.
For the cautious editor — what actually lands on your machine
Editors keep their machines tidy for good reason — one bad install can cost a day of troubleshooting. So before you run the installer from your invite link, here's exactly what it touches:
The two files
-
One plain Python file — about 13 KB. The
installer copies it to
~/Applications/lcbe_resolver.py(Mac) or%USERPROFILE%\Applications\lcbe_resolver.py(Windows), and also drops a copy into DaVinci Resolve's ownWorkspace → Scripts → Utilityfolder asLenscowboy Resolver.pyso it appears in your Resolve menu as Lenscowboy Resolver — one click to launch. -
One config file —
~/.lenscowboy-resolver/config.jsonon Mac,%USERPROFILE%\.lenscowboy-resolver\config.jsonon Windows. Holds the path of the folder you're watching, plus an auth token tied to this one project. Nothing global. First time you run the script in Resolve, a setup dialog pops up to collect these values — no JSON editing required.
What it doesn't touch
- No plugin install on DaVinci Resolve itself.
- No DaVinci preferences or settings modified.
- Nothing in
/System,/Library, orC:\Windows. - No
pip install— the script uses only Python's standard library plus DaVinci Resolve's own bundled scripting module. No third-party packages. - No background service registered (unless you opt into the schtasks / launchctl auto-start step at the end — and even that's removable in one command).
What it does when it runs
- Polls the one folder you nominated every 10 seconds.
- If a new
.fcpxml/.aaf/.edl/.xmlappears, it asks the open DaVinci Resolve project to import it as a timeline. - Posts the same file to our cut-tracking endpoint so the production team sees the cut reflected against their shot list.
- That's it. No telemetry, no auto-update, no network calls beyond that single cut push, no listening on any port.
Want to read the script before running it?
Good instinct. It's plain text — open lcbe_resolver.py in
any editor (VS Code, Sublime, even Notepad). All ~330 lines, all in one
file, no obfuscation. The HTTP push uses Python's built-in urllib;
the Resolve hook uses Blackmagic's published scripting API. If anything
looks off to you, paste it into your operator's chat — they'll know.
Uninstalling
Two file deletes. The Applications copy of lcbe_resolver.py,
and the .lenscowboy-resolver folder in your home directory.
If you also set up auto-start, run schtasks /delete /tn "LCBE Resolver"
(Windows) or launchctl unload ~/Library/LaunchAgents/com.lenscowboy.resolver.plist (Mac).
Done. No leftover entries, no registry crud.
Cut export formats
| Format | Extension | Best for |
|---|---|---|
| FCPXML | .fcpxml |
Final Cut Pro, DaVinci Resolve, Premiere Pro. Richest data — full timeline, framerate, clip names. |
| Premiere / FCP XML | .xml |
What Premiere Pro exports as “Final Cut Pro XML”. Same parser as FCPXML. |
| AAF | .aaf |
Avid Media Composer, DaVinci Resolve roundtrip. Rich metadata. |
| EDL | .edl |
Universal fallback. Works with everything but carries no native framerate — the producer needs to set the project framerate first. |
Per-NLE export quick reference
- DaVinci Resolve — File → Export → Timeline... Choose FCPXML or AAF.
- Premiere Pro — File → Export → Final Cut Pro XML... Saves as
.xml. - Final Cut Pro — File → Export XML...
- Avid Media Composer — File → Output → Export to File... → AAF.
How a cut moves through Resolver
- Editor saves the cut into the shared folder.
- The platform notices. A scan runs every few minutes and detects the new (or updated) file.
- Cut data is parsed. Clip names and timecodes are matched against the production shot list.
- The production view updates. Each shot in the shot list now reflects whether it appears in the latest cut, and where in the timeline.
End-to-end is typically a few minutes from save to visible. If you need an immediate refresh, the producer can trigger an on-demand scan from their Resolver panel.
Versioning
You can drop multiple versioned files into the same folder
(cut_v1.fcpxml, cut_v2.fcpxml, …).
Each file is treated as a separate ingest. The most recent file is
the canonical one for production tracking.
Equally, overwriting an existing file with a new export of the same name is fine — the platform sees the modification time change and re-ingests.
Lenscowboy Publish — one click, no file dialog
The Resolver installer drops two menu items into
DaVinci Resolve's Workspace → Scripts menu:
- Lenscowboy Resolver — the watcher you already know. Auto-imports inbound cuts as timelines.
- Lenscowboy Publish — one-shot. Exports your active timeline to the shared folder and pushes it to the production view in one step. Use this when you have a new cut to send back.
Using Publish
- Open the timeline you want to publish in Resolve.
Workspace → Scripts → Lenscowboy Publish.- A small dialog opens. Choose a format (FCPXML is the default and keeps the most metadata; AAF and EDL are available from the dropdown).
- Optional: type a version note — anything you want production to read alongside the cut. Examples: "Director cut round 3 — dropped scene 5, tightened opener", or "Temp music in place, please keep frame timing". 500 chars max.
- Click Publish. The script exports the timeline with a versioned filename, drops it into the shared folder, and pushes the cut to production with your note attached.
What the filename looks like
The script names exports as
{TimelineName}_v{NN}_{YYYYMMDD-HHMMSS}.{ext}. For
example:
Reel1_DirectorCut_v03_20260515-142307.fcpxml
The version number auto-increments by scanning the existing files in the shared folder — you don't track it yourself. The timestamp guarantees no collision with a parallel publish.
Where the version note lands
Your note appears on the LCBE Edit pane's cut chip alongside the cut metadata — production reads it before they review. It's a way to tell them what changed without sending a side-channel message. If you leave the note blank, the chip just shows the standard metadata (clips, shots, timestamp).
What if I don't use the menu item?
Manual export to the shared folder still works exactly as before. The Publish menu item is convenience — it applies the naming convention, increments the version, attaches a note, and saves you the file dialog. Editors on Premiere / Avid / Final Cut continue with manual export per the formats section above.
Inviting and managing editors
Open Settings, find the slot bound to the project, and click the purple ◆ RESOLVER pill. The Resolver panel opens for that project.
Invite an editor
Type a label (the editor's first name is fine) and their email
address, then click + INVITE. The platform creates
a folder named ProjectName_EditorLabel inside the
project's Edit/Cuts/ tree, shares it with the editor by
email, and records them on the project. The editor gets a Drive
share notification immediately.
Set the default cut framerate
Required only if your editor will be sending EDL files (which carry no native framerate). Pick the project framerate from the dropdown and click SAVE. FCPXML and AAF carry framerate internally and ignore this setting.
Scan on demand
The platform scans every few minutes automatically. Click ↻ SCAN CUTS NOW to force an immediate scan if you're waiting on a fresh cut.
Revoke access
Click REVOKE on any editor row. Their Drive access is removed; the folder and any cuts inside stay in your project's Drive untouched, so your production history is preserved.
Common issues
I don't see the shared folder in my Drive
Check the email address the producer used — it must match the Google account you're signed into. If you have multiple Google accounts, switch to the right one. The share invite arrives by email; you can also find shared folders under Shared with me in Drive.
I dropped a file in but nothing happened
Give it a few minutes — scans run on a schedule. If it's been more than 10 minutes, check that:
- The file extension is one of
.fcpxml,.xml,.aaf, or.edl(lowercase preferred). - The file is in the editor's shared folder, not in a subfolder within it.
- The file actually contains a timeline (some XML exports are empty if the source sequence was empty when exported).
The producer can confirm by clicking ↻ SCAN CUTS NOW in the Resolver panel; the result lists how many files were seen and any import errors with reasons.
The cut imports but no shots match
Resolver matches clips by name. If your NLE has renamed clips (e.g. to a master clip name) the match may fail. Where possible, keep the original clip filenames intact when bringing media into the timeline.
EDL ingest reports “framerate required”
EDL files don't carry framerate. Ask the producer to set the project's default cut framerate in the Resolver panel and re-save the EDL into the folder. FCPXML / AAF avoid this entirely.
Do I need to install anything?
No. Drop the export file into the shared Drive folder — that's the entire interaction.
Can I use any NLE?
Yes, as long as it can export one of FCPXML, AAF, Premiere/FCP XML, or EDL. That covers DaVinci Resolve, Premiere Pro, Final Cut Pro, Avid Media Composer, and most other professional NLEs.
Can multiple editors work on the same project?
Yes. Each editor gets their own private folder and the platform tracks per-editor versions. Editors do not see each other's folders.
What happens to old cuts when I save a new one?
Nothing is deleted. Every cut you've saved stays in the folder as a permanent record. The platform tracks the latest revision for production-status purposes but the history is intact.
Are media files (the actual video clips) sent across?
No — only the cut export file (which is small — usually a few KB to a few MB). Resolver works from clip names and timecodes, not the underlying media.
Will the producer see comments or markers I added?
FCPXML and AAF carry markers and notes; EDL does not. If your notes need to travel, prefer FCPXML or AAF.