-
Notifications
You must be signed in to change notification settings - Fork 309
Open
Labels
bugA problem, flaw, or broken functionality.A problem, flaw, or broken functionality.time calculations
Description
Hey, guys,
The cmx_3600.py adapter appears to use a duration for Transitions that doesn't conform to the CMX 3600 spec.
According to this spec (Page 30), the duration is stored in a "RATE" field.
This guide makes it a little easier to read:
75 frame dissolve from reel 123 to reel 123B on video and A1:
Edit # Reel Name Channel Trans Dur Source IN Source OUT Record IN Record OUT
105 123 B C 03:05:57:17 03:05:57:17 01:00:21:20 01:00:21:20
105 123B B D 075 03:15:33:09 03:15:35:24 01:00:21:20 01:00:24:05
However, the cmx_3600.py
adapter appears to use the length of the previous clip:
https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/84c8245c070b12d7e627c145435a5db9add0d2de/src/py-opentimelineio/opentimelineio/adapters/cmx_3600.py#L668
Test EDL:
cmx_3600_transition.edl.zip
Recreation Steps:
In [13]: cat cmx_3600_transition.edl
TITLE: 0800_Cut_v3_ToLayout_021121_EDL
FCM: NON-DROP FRAME
001 ABC0100. V C 01:00:12:15 01:00:17:01 01:00:48:20 01:00:53:06
002 ABC0200. V C 01:00:11:07 01:00:14:09 01:00:53:06 01:00:56:08
003 ABC0200. V C 01:00:14:09 01:00:14:09 01:00:56:08 01:00:56:08
003 ABC0300. V D 026 01:00:10:08 01:00:13:09 01:00:56:08 01:00:59:09
* BLEND, DISSOLVE
004 ABC0400. V C 01:00:11:09 01:00:17:20 01:00:59:09 01:01:05:20
In [14]: import opentimelineio as otio
In [15]: timeline = otio.adapters.read_from_file("cmx_3600_transition.edl")
In [16]: timeline.tracks[0][2].duration()
Out[16]: otio.opentime.RationalTime(value=73, rate=24)
Metadata
Metadata
Assignees
Labels
bugA problem, flaw, or broken functionality.A problem, flaw, or broken functionality.time calculations