跳到正文
GitHub · AcademySoftwareFoundation/OpenTimelineIO· AcademySoftwareFoundation/OpenTimelineIO·· 2022-09-27

AcademySoftwareFoundation/OpenTimelineIO 发布 Beta 15 - September 2022

AI 导读

## Summary This release introduces Media-multi references (by @rogernelson), spatial coordinates parameters (also by @rogernelson), `otiotool` command line utility, a schema downgrading system (for writing OTIO files that are compatible with older versions of OTIO), as well as a number of other smaller bug fixes and enhancements across the core and adapters. This is the last version of OTIO that will support python 2.7. Thank you to the many community members who contributed to this release! ## Important Note About OTIO File Backwards Compatibility This version of OTIO introduces a new version of the Clip schema, Clip.2 (with multiple media reference support). If you need to write out OTIO files that are compatible with older versions of the OTIO library, then you can use the new downgrade feature to save out OTIO files with Clip.1 schema. Example using `otioconvert` on the commandline: ```bash ❯ otioconvert -i tests/sample_data/nested_example.otio -o /var/tmp/v14_compat.otio -A target_schema_versions="{'Clip':1}" && grep "OTIO_SCHEMA.*Clip" /var/tmp/v14_compat.otio 26: "OTIO_SCHEMA": "Clip.1", 75: "OTIO_SCHEMA": "Clip.1", 105: "OTIO_SCHEMA": "Clip.1", 162: "OTIO_SCHEMA": "Clip.1", 192: "OTIO_SCHEMA": "Clip.1", 249: "OTIO_SCHEMA": "Clip.1", 280: "OTIO_SCHEMA": "Clip.1", ``` C++: ```c++ #include <iostream> #include "opentimelineio/timeline.h" namespace otio = opentimelineio::OPENTIMELINEIO_VERSION; void main() { otio::ErrorStatus err; otio::SerializableObject::Retainer<otio::Timeline> timeline( dynamic_cast<otio::Timeline*>( otio::Timeline::from_json_file( "tests/sample_data/nested_example.otio", &err ) ) ); otio::schema_version_map downgrade_manifest = { {"Clip", 1}, }; timeline->to_json_file("/var/tmp/v14_compat.otio", &err, &downgrade_manifest); } ``` python: ```python import opentimelineio as otio tl = otio.adapters.read_from_file("tests/sample_data/nested_example.otio") otio.adapters.write_to_file( tl, "/var/tmp/v14_compat.otio", target_schema_versions={"Clip": 1} ) ``` ## Big Changes * The OpenTimelineIO project was moved over to the ASWF organization, and a number of changes were made as part of the ASWF graduation process in: * Technical Steering Committee Charter, GOVERNANCE, etc. by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1057 * Prep for ASWF transfer by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/932 * More ASWF transition prep by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1167 * Replaced @pixar email addresses with @aswf email addresses. by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1170 * OpenTimelineIO License & CLA Change by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1285 * Updated verify_license.py to support more languages by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1288 * Update links in readme to point to new ASWF url by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1302 * Updated URLs to new AcademySofwareFoundation GitHub org. by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1303 * AAF Adapter: * AAF Adapter: support for reading markers by @timlehr in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1019 * AAF adapter: added support for keyframed properties by @timlehr in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1151 * Merge spatial_coordinates to main by @rogernelson in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1219 * Media Multi-Reference Feature by @rogernelson in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1241 * Schema Downgrading System by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1387 * otiotool command line utility by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1375 ## Breaking Changes * Fixes #1188 BREAKING CHANGE: change "effect" argument to Gap constructor to "effects" by @visajshah in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1292 * Clip.2 schema as noted above ## Other Changes * R0.15.set dev version by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1128 * CI: switch platform versions back to -latest by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1129 * Fix RV plugin test timing by @rogernelson in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1147 * Fix RV plugin test for Mac by @rogernelson in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1149 * Update sdist to include submodules by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1152 * Improve the developer quickstart documentation by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1144 * Use platform specific command to find path by @ThomasWilshaw in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1143 * Fix code coverage report uploads by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1189 * Add nearest_valid_timecode_rate function by @splidje in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1181 * Replace deprecated Pybind11 get_type() usages by py::type::of() by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1194 * SVG adapter fixes by @KarthikRIyer in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1195 * Remove extra useless parameter from RationalTime.__copy__ method by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1198 * Update AAF Documentation Link by @camkerr in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1202 * Add enabled flag to Item by @ThomasWilshaw in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1175 * Add missing memo keyword argument to TimeTransform.__deepcopy__ method by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1203 * Kdenlive adapter: process recent project format by @vpinon in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1191 * On macOS build universal arm64 and x86_64 by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1214 * Port to PySide6 by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1221 * C++ tests by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1161 * Don't skip asserts in unit test release builds by @rogernelson in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1236 * Keep markers at the track if `child_at_time()` found something that does not hold markers by @jchen9 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1239 * otioview track and window fit improvements by @michdolan in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1237 * Install full OTIO Python env with CMake by @michdolan in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1238 * clang notices that constexpr can't be used on a mutating function by @meshula in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1242 * AAF Adapter: Mob transcription heuristics by @jchen9 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1249 * Add ALE adapter argument `ale_name_column_key` by @jchen9 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1248 * Support OTIO_PLUGIN_MANIFEST_PATH being set to an empty string by @avrata in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1253 * Fix missing init metadata by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1251 * Add Python 3.10 to CI by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1256 * Fix #1257 missing each_clip on Clip by @meshula in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1258 * Detect & use Imath from vfxplatform CY2019-2022 by @meshula in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1255 * Adapt changes between PySide2 and PySide6 by @jchen9 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1262 * Copy core sample data used by contrib tests into the contrib area to better isolate contrib tests by @avrata in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1266 * Add a test case and fix for transcribing markers over a single audio AAF file by @jchen9 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1259 * Support python 3 in the "rv_session" adapter. by @avrata in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1267 * Change angle include Imath to quote include, remove multiMediaReference prototype by @meshula in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1276 * Update test_v2d to support multiple exception types by @avrata in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1279 * Fix for external Imath, must set USE_DEPS_IMATH OFF by @meshula in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1273 * AAF Clip Enabled/Muting Update by @andrewmoore-nz in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1277 * fix #839 - FCP XML outputs not recognized by Resolve by @pedrolabonia in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1287 * Removed a vestigial "Foo" schema by @reinecke in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1306 * CII Best Practices badge by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1304 * Update Pybind11 to 2.9.2 by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1312 * Use py::module_local() for Imath bindings by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1323 * Update feature matrix to mention that the AAF adapter now supports markers by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1309 * Python bindings: raise proper exceptions for IO operations by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1313 * Improve Python reference documentation by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1209 * Use marker colors in otioview by @markreidvfx in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1340 * Prevent divide by zero and print warning if width is zero by @markreidvfx in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1346 * Cancel in-progress CI jobs for the same branch by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1329 * Fix setuptools deprecation warnings by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1317 * Revisited how transitions are handled by the cmx 3600 adapter. by @gplsteph in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1341 * Add unit tests in preparation for moving the aaf adapter by @m

来源:GitHub · AcademySoftwareFoundation/OpenTimelineIO · github.com