AcademySoftwareFoundation / AcademySoftwareFoundation/OpenTimelineIO
EDL CMX 3600 Adapter: EDL files with TimeWarp retiming effects do not round trip correctly
- 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
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