AcademySoftwareFoundation / AcademySoftwareFoundation/OpenTimelineIO

EDL CMX 3600 Adapter: EDL files with TimeWarp retiming effects do not round trip correctly

Open
#1,458 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
2k
Forks
351
Avg merge
1d 12h
Merged PRs (30d)
1

Description

## Bug Report

### Incorrect Functionality and General Questions

Reading and writing an EDL file with a TimeWarp retime effect causes differences between the source timecodes.

## To Reproduce

Source Out timecode should be `00:32:06:19`. But we get `00:32:06:00`.

```
import opentimelineio as otio

edl = "TITLE: TEST_EDL\n" \
"FCM: NON-DROP FRAME\n" \
"000001 B113RPTW V C 00:32:02:06 00:32:06:19 01:34:53:09 01:34:57:13\n" \
"M2 B113RPTW 026.4 00:32:02:06"

in_timeline = otio.adapters.read_from_string(edl,
rate=24.0,
adapter_name="cmx_3600")

out_timeline = otio.adapters.write_to_string(in_timeline,
rate=24.0,
adapter_name="cmx_3600")
print(otio.__version__)
print(out_timeline)

# 0.14.1
# TITLE: TEST_EDL
#
# 001 B113RPTW V C 00:32:02:06 00:32:06:00 01:34:53:09 01:34:57:13
# M2 000001 26.4 00:32:02:06
# * FROM CLIP NAME: 000001
```

## Expected Behavior

We should be getting the same source timecodes. Since we did not make any timeline modifications.

Contributor guide

Open the contributing guide

Research direction

Start with the cmx_3600 adapter paths used by adapters.read_from_string and adapters.write_to_string, then reproduce the provided TimeWarp EDL example at rate 24.0. Done means reading and writing the EDL preserves the source out timecode 00:32:06:19 and the other source timecodes remain unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
data
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.