View Issue Details

IDProjectCategoryView StatusLast Update
0000334Cinelerra-GG[All Projects] Bugpublic2019-10-30 23:00
ReporterAndrew-R Assigned To 
Status newResolutionopen 
Product Version2019-09 
Target VersionFixed in Version 
Summary0000334: Export EDL to CMX3600 format produces broken file
DescriptionProbably since mid-2017?

Copying my email / finds here

ah, found this in release notes:

5.1 Release Notes for changes from 07/01/2017 to 07/31/2017 for these builds
Removed Reel Name, Reel Number, Time Code Start from Asset Info in Resources & Preferences.

so, I can conclude this commit broke CMX3600 support, if there was any ....

Hm, time to load CinCV :}

Ok, CinCV doesn't load xml from CinGG correctly, but at least creates something .....

cat '/dev/shm/DOG.edl'
TITLE: Cinproj FORMAT: CMX 3600 4-Ch
001 cin0000 V C 00:00:00:00 00:01:10:06 00:00:00:00 00:01:10:06
002 BL V C 00:00:00:00 18518:31:06:00:01:10:06 00:01:10:06 18518:32:17:01

So, reel_name was important for this feature to work.

I'll open feature request (low prio)

---------- Пересланное сообщение ----------

Тема: UPD: Interesting info about EDL I found ....
Дата: Четверг 31 октября 2019
Отправитель: Andrew Randrianasulu <[email protected]>
Получатель: "Cinelerra.GG" <[email protected]>

I actually tried this 'EDL export function, with simple one track dog file.

Hm ...

I can't see any info about file used?

cat '/dev/shm/dog/dog/dog.edl'
TITLE: Cinproj FORMAT: CMX 3600 4-Ch
001 BL V C 00:00:00:00 00:00:17:09 00:00:00:00 00:00:17:09
002 BL V C 00:00:00:00 00:00:11:13 00:00:17:09 00:00:29:07

according to

this file format at least initially included reel_name (is this info still around in CinGG?)
but late tools used other way to identify source files ...


In 2.79 The file path parsing gives an error. Open an EDL file, hit 'Refresh Reels' - gives the error: "File not found". However, this bug isn't in 2.77.
Cross dissolve transitions are added to the entire following clip and not just the transition duration.
'Import EDL" script will give a non-descriptive error if there are space characters in the reel name. The in EDLs the reel name column is always 8 characters wide and can contain spaces.

"* From clip name:" should(also) be used to id filenames. All Pro NLEs(Ex. Avid, Premiere, Final Cut and Davinci Resolve) are using this comment to locate source files(full file name with extension, but no path). Once mentioned here: Only archaic EDL importers like the one in Lightworks only uses the reel name for file id, however in Lightworks the time code and reel name must be embedded in the source files (ffmpeg can read/write this). But as mentioned most other pro EDL importers have the option to ignore embedded time codes and use the comments to id filenames(instead of reel name).

Ex. EDL file from Premiere:
TITLE: 4tin2tin

001 AX AA/V C 00:07:16:20 00:07:21:12 00:00:00:00 00:00:04:17
* FROM CLIP NAME: 4tin2tin.mp4

002 AX V C 00:07:16:20 00:07:20:12 00:00:00:00 00:00:03:17
* FROM CLIP NAME: 4tin2tin.mp4

003 AX V C 00:07:20:12 00:07:20:12 00:00:03:17 00:00:03:17
003 AX V D 025 00:37:45:21 00:37:47:12 00:00:03:17 00:00:05:08
* FROM CLIP NAME: 4tin2tin.mp4
* TO CLIP NAME: 4tin2tin.mp4

004 AX V C 00:37:46:21 00:37:48:12 00:00:04:17 00:00:06:08
* FROM CLIP NAME: 4tin2tin.mp4

005 AX V C 00:37:46:21 00:37:47:12 00:00:04:17 00:00:05:08
* FROM CLIP NAME: 4tin2tin.mp4

------copypasta ends-----

Apparently this summer interesting framework OpenTimelineIO was opened, with (buggy?) CMX 3600 module:


The pycmx package provides a basic interface for parsing a CMX 3600 EDL and its most most common variations.
The major variations of the CMX 3600: the standard, "File32" and "File128" formats are automatically detected and properly read.

---------- Пересланное сообщение ----------

Тема: Interesting info about EDL I found ....
Дата: Среда 30 октября 2019
Отправитель: Andrew Randrianasulu <[email protected]>
Получатель: "Cinelerra.GG" <[email protected]>

While translating (attempting to translate few still untranslated things) CinGG
I found interesting note about EDL export. Intially I assumed it only works with
some long-obsoleted device/soft, but today I found this page (while looking at timecode feature):

NB. Since Shotcut version 16.06 this script is not needed anymore. Shotcut can export EDL files natively:
Mlt2edl is a python script for converting Shotcut mlt files into ex. Blender (v. 2.72 beta or higher) friendly CMX 3600 EDL files. The converted EDL files will also work in Lightworks and Resolve. Mlt2edl is based on the Kdenparse python script by Will Riley.

Because CinGG (and original Cin) should be able to output exactly this EDL (???) format ... This mean she automatically compatible with "Lightworks and Resolve" and Blender, too??

Anyone can test this?

additional link:

It basically reiterates what was said before

[NB. in older import parsers like the one in Lwks, reel names and time codes are only read from file embedded reel-names and time codes. So that might give some odd results if the parsers can't be forced to use file name from comments and starting time codes at file start. Alternatively a parcer like OTIO would have to read and use file embedded reel names and timecodes. FFmpeg can used for that. However as far as I know, only Lwks is limited to using file-embedded values]

Guess in old Cin(-CV) libquicktime was used for this embedding, now ffmpeg/libavformat can be used in their place in CinGG.. I think ....

Steps To ReproduceOpen one video file, try to use "Export EDL' menu option.

Resulting EDL will have no reel names, no file names, nothing but timecodes :/

BL is apparently blank placeholder set in cinelerra-5.1/cinelerra/exportedl.C

<code c>
int ExportEDLAsset::edit_to_timecodes(Edit *edit,
        char *sourceinpoint, char *sourceoutpoint,
        char *destinpoint, char *destoutpoint,
        char *reel_name)
        Track *track = edit->track;
        double frame_rate = edit->track->edl->session->frame_rate;

        double edit_sourcestart;
        double edit_sourceend;
        double edit_deststart;
        double edit_destend;

        strcpy(reel_name, " BL ");
        edit_sourcestart = 0;
        edit_sourceend = track->from_units(edit->length);

        edit_deststart = track->from_units(edit->startproject);
        edit_destend = track->from_units(edit->startproject + edit->length);

        double_to_CMX3600(edit_sourcestart, frame_rate, sourceinpoint);
        double_to_CMX3600(edit_sourceend, frame_rate, sourceoutpoint);
        double_to_CMX3600(edit_deststart, frame_rate, destinpoint);
        double_to_CMX3600(edit_destend, frame_rate, destoutpoint);

        return 0;
<code c>




2019-10-30 23:00

reporter   ~0002362

DOG.edl is from CinelerraCV
dog.edl is from CinGG.

DOG.edl (204 bytes)
dog-2.edl (189 bytes)

Issue History

Date Modified Username Field Change
2019-10-30 22:57 Andrew-R New Issue
2019-10-30 22:57 Andrew-R Tag Attached: EDL
2019-10-30 23:00 Andrew-R File Added: DOG.edl
2019-10-30 23:00 Andrew-R File Added: dog-2.edl
2019-10-30 23:00 Andrew-R Note Added: 0002362