Handing off to post
The show is over and someone has to cut it. HotPunch exports what it knows — where every shot started, which camera it was, what the director wrote about it — in two formats: a CMX 3600 EDL for the edit suite, and a CSV for spreadsheets and for round-tripping back into HotPunch.
This page is about what actually comes out of those files and where they stop being useful. The PDF cue sheet for the crew is a different job and lives in Cue sheets.
What you need
- A timeline with cues. Nothing else — no mixer, no licence tier for the File menu route.
- For post, an NLE that reads CMX 3600. Where the format leaves a choice, HotPunch follows the conventions Premiere Pro's own exporter uses, which Resolve also reads.
Two routes out, and they do not do the same thing
File > Export > EDL... (Cmd+E) exports the active timeline and only M/E 1. It
forces the .edl extension and warns you past 999 events.
Right-click a timeline in the timelines sidebar > Export EDL... exports that
timeline, writes the M/E 2 twin file, and asks for a licence. It does not force the
extension: type show and you get a file literally named show.
The Show Manager's own Export EDL is a third route, with neither the 999 warning nor the licence check.
If you are on a dual M/E show, use the sidebar route. The obvious one from the File menu drops the second bus without saying so.
The EDL
The header
TITLE: <your project name>
FCM: DROP FRAME
FCM: DROP FRAME is written when the timeline is designated drop-frame and the frame
rate is 29.97 or 59.94. At any other rate the drop-frame designation is ignored and the file
says FCM: NON-DROP FRAME, even if the checkbox in Settings is ticked — because drop-frame
does not exist at those rates. What drop-frame is, and why the separator changes to ;, is
in Drop-frame.
The events
One event per cue, numbered from 001, video channel only. There is no audio in a HotPunch
EDL — this is a cut list, not a conform.
The reel name is synthetic and derived from the source, not from the camera name you typed in Settings:
| Source | Reel |
|---|---|
| Camera n | CAM1, CAM3, CAM12 |
| Black | BL |
| White | WHT |
| Media player n | MP1 |
| Anything else | UNK |
Note
Your camera labels do not travel. If the edit needs to know that CAM3 was the jib, that information has to reach post some other way — the PDF cue sheet, or the notes below.
Source and record timecode are identical on every event. A vision-mixer EDL has no source tapes to reference, so both pairs are the timeline position offset by the timeline's start TC (01:00:00:00 by default). See Start TC.
Transitions come out as wipes
A cut is edit type C. A transition is W000 nnn — Premiere's own convention for a
cross dissolve, encoded as wipe pattern 000 with a duration of nnn frames. Resolve accepts
it too.
Two things follow:
- The edit type
Dis never emitted. If you are checking someone's parser against HotPunch output, this is why you are not seeing dissolves where you expect them. - Every transition type collapses to the same thing. Mix, dip, wipe, DVE, sting and clip
all export as
W000 nnnwith the commentEFFECTS NAME IS CROSS DISSOLVE. The EDL carries the duration of the transition faithfully and the kind of it not at all. If the kind matters downstream, export the CSV alongside — itsTransitioncolumn keeps it.
A transition also writes two lines under one event number: a tail declaration for the outgoing shot, then the incoming one, and the previous event's out point is trimmed back to the start of the dissolve. That is normal CMX and your NLE expects it.
Notes and markers ride along as comments
- The cue's shot description becomes
* COMMENT:and a red* LOC:locator. - Entries on the notes track that overlap the cue
become
* NOTE:lines. - Private notes are not exported. They stay private in the EDL as they do in the camera views.
- Markers become
* LOC:locators with their timecode, colour name and text. Their colour is snapped to the nearest of the nine colour names CMX understands, so a custom hex lands on whichever of RED / GREEN / BLUE / YELLOW / ORANGE / CYAN / MAGENTA / WHITE / BLACK is closest.
Markers are attached to whichever event covers their time, because a locator floating outside
an event block is silently discarded by both Premiere and Resolve. A timeline with markers
but no cues therefore exports a single one-frame BL event at the start, purely to give the
locators somewhere to live. That file is not a mistake — it is a marker list in EDL clothing.
The 999-event wall
CMX 3600 event numbers are three digits. Past 999 events HotPunch warns you:
EDL exceeds CMX 3600 limit — This timeline has more than 999 events: CMX 3600 event numbers are 3 digits and many conform tools reject the file. Consider splitting the timeline.
The export goes ahead anyway. There is no cancel. Event 1000 is written as 1000, which
shifts the fixed-width columns and is exactly what strict parsers reject. If you see this
warning, split the show into two timelines before you hand anything over — do not assume the
file is fine because it wrote successfully.
Note
The count that trips the warning is the sum of both M/E buses, while each file only contains one bus. A dual M/E show with 600 cues on each side warns even though neither file is anywhere near the limit.
Dual M/E: the twin file
When dual M/E is on and M/E 2 actually has cues, the export writes a second file next to
the first with _me2 appended to the base name: show.edl and show_me2.edl. Its TITLE
line carries " M/E 2" so you can tell them apart after they have been renamed.
Only the sidebar and Show Manager routes do this. See the warning at the top of this page.
Markers are repeated in both files
Markers belong to the timeline, not to a bus, so both files carry the complete marker list. Harmless in an NLE; not harmless if you import both CSVs back into HotPunch with Append, which will duplicate every marker.
The CSV
One route: File > Export > CSV..., which exports the active timeline and writes the
_me2 twin under the same rule as the EDL. This route requires an Editor or Runner licence.
Ten columns, in this order:
TC In, TC Out, Duration, Source, Transition, Mix Duration (ms),
Shot Description, Private Notes, Color, M/E
Things worth knowing before you build a spreadsheet on top of it:
M/Eis the tenth column and is 1-based:1or2.- Private notes are in here. Unlike the EDL and unlike the crew's PDF, the CSV exports everything, including the things you wrote for yourself. Check before you send it on.
Sourceis spelled differently from the EDL. The CSV saysCAM 1with a space,BLACK,WHITE,MP 1; the EDL saysCAM1,BL,WHT,MP1. If you are matching the two files up programmatically, normalise.Transitionkeeps the real type —CUT,MIX,DIP,WIPE,DVE,STING,CLIP— which is the information the EDL throws away.- Markers are appended after the cues, with
MARKERin theSourcecolumn, the marker text inShot Description, its colour inColor, and the timecode-dependent columns left empty. TheirM/Eis always1. - Status blocks are never exported. There is an import for a status track and no export of one — a genuine one-way street. Keep the source of that data somewhere else.
Semicolons in a comma-separated file
The field separator is a comma. In drop-frame, the timecode separator is a semicolon:
01:00:04;12. Those semicolons are not quoted, because they do not need to be — but a
spreadsheet set to semicolon-delimited CSV, which is the default in several European
locales, will split those fields down the middle. If your timecodes arrive in Excel as
two columns, that is why.
Bringing a CSV back in
File > Import > CSV... reads the same shape back. The dialog asks three things — replace or append, timecodes aligned to the timeline start or absolute, and, only on a dual M/E project, which bus to import into. The import route itself belongs to Importing a rundown; what follows is what survives a round trip.
A drop-frame CSV re-imports correctly. The ; is not decoration: it declares that the
timecode is drop-frame, and at 29.97 and 59.94 the importer converts the digits accordingly.
Getting that conversion wrong is the failure mode nobody catches, because every row imports
successfully and every cue lands in the wrong place — by around 3.6 seconds per hour. At
any other frame rate a ; is treated as an exotic separator and the digits are taken at face
value, which is correct, because drop-frame does not exist there.
What does not survive:
- Cue colour. The
Colorcolumn is written but ignored for cues on the way back in: a cue's colour encodes its source, so it is re-derived rather than read. Marker colours are read — those are a real annotation the user chose. - The
M/Ecolumn. It is advisory. Every cue lands in the bus you picked in the dialog, regardless of what the file says. Importshow_me2.csvwith M/E 1 selected and the second bus's cues land on the first, with no complaint. - The notes track and status blocks, which were never in the file to begin with.
Two more things that bite:
- There is no frame rate in the file. The importer uses the destination timeline's rate. Bring a 25 fps CSV into a 24 fps project and every row with a frame number of 24 or more is rejected as an invalid timecode, while the rest land at the wrong seconds.
- Camera numbers above the project's Camera Count are rejected, one skipped row each.
A CSV from a twenty-camera show imported into a project still set to eight loses twelve
cameras' worth of cues. Media player sources stop at
MP 4. - Rejected rows are counted and listed. The summary reports how many were imported and how many skipped, and then lists every warning with its line number — untruncated. A badly mismatched file produces an alert you cannot read. Treat a long warning list as "this file is wrong", not as something to scroll through.
Note
The summary says "Imported N cues", but N includes imported markers. If the number looks higher than your cue count, count the marker rows.
Import is blocked while you are on air. Export is not.