O
OpenTimelineIO 0.19 schemas

Editorial timelines, in every language you ship in.

A pure-Rust OpenTimelineIO — the data model, the time math, and the adapters for EDL, ALE, Final Cut and AAF — with 10 bindings generated from one C interface of 338 calls.

Reading a cut and asking what is in it — pick your language, and the whole site follows.

import opentimelineio as otio

# An EDL never says what rate its timecode is at, so this has to be right: a
# file read at the wrong rate puts every event in the wrong place rather than
# failing. The adapter is picked from the suffix, as upstream picks it.
timeline = otio.adapters.read_from_file("cut.edl", rate=24)

for clip in timeline.find_clips():
    print(clip.name)

A port, not a rewrite

The arithmetic, the rounding and the timecode behaviour follow upstream exactly, measured against upstream’s own test suites.

No C++, no Python underneath

The core is Rust the whole way down. A binding loads one Rust library and nothing else.

Every SDK is generated

One description of the C ABI, read out of its own source, becomes the SDK for each language. Drift fails the build.