Installation You can install UniVRM using the UnityPackage or the UPM Package. The UniVRM supports Unity 2022.3 LTS or later. UnityPackage Download the unitypackage, and drag and drop it to import the package into your project. VRM 1.0: Download VRM 0.x: Download UPM Packages click to expand You can install these UPM packages via Package Manager in UnityEditor. Open the package manager window: Window -> Package Manager Click + at the top-right of the package manager window, then select Add package from git URL... Specify UPM packages using URLs below. UPM package git URL com.vrmc.gltf https://github.com/vrm-c/UniVRM.git?path=/Assets/UniGLTF#v0.129.1 com.vrmc.univrm (VRM 0.x) https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#v0.129.1 com.vrmc.vrm (VRM 1.0) https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM10#v0.129.1 You can also install via editing Packages/manifest.json directly. // Packages/manifest.json { "dependencies" : { // ... "com.vrmc.gltf" : "https://github.com/vrm-c/UniVRM.git?path=/Assets/UniGLTF#v0.129.1" , "com.vrmc.univrm" : "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#v0.129.1" , "com.vrmc.vrm" : "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM10#v0.129.1" , // ... } } Development Samples click to expand via UnityPackage VRM 1.0 Development Samples: Download VRM 0.x Development Samples: Download via UPM Package You can find Samples in the Package Manager and then submit Import button. Window -> Package Manager -> Packages: In Project -> VRM-1.0 or VRM Release Notes 日本語 English Warning from v0.125.0 . com.vrmc.vrmshaders is removed. com.vrmc.vrmshaders is no longer required in manifest.json. 官方 Release:v0.129.1。请查看 Release notes、依赖和许可证变化。
What's Changed fix(draw): fix vector line hit and rectangle hit #WIK-15983 by @MissLixf in #956 fix(graph-viz): adjust large number of node data overlaps #WIK-16116 by @Xwatson in #957 fix(mind): fix defects in dblclick and moving #WIK-16158 by @huanhuanwa in #959 feat(graph-viz): simulated demo request data node is centered by @Xwatson in #958 Full Changelog : v0.64.0...v0.64.6 官方 Release:v0.64.6。请查看 Release notes、依赖和许可证变化。
What's Changed feat(core): support board movement control by @Xwatson in #951 feat(core): add moveToCenter utility functions by @Xwatson in #953 fix(graph-viz): centering of selected node, node title ellipses and target self edge by @Xwatson in #952 refactor(demo): simulate double click event and prevent default action fo… by @pubuzhixing8 in #955 feat(draw): support vector pen #WIK-15919 by @MissLixf in #943 fix(graph-viz): optimize node and edge styles by @Xwatson in #954 Full Changelog : v0.62.0...v0.64.0 官方 Release:v0.64.0。请查看 Release notes、依赖和许可证变化。
What's Changed feat: framework agnostic refactor by @pubuzhixing8 in #914 xx by @pubuzhixing8 in #915 fix(flow): hide edge label when moving node element by @pubuzhixing8 in #917 feat(draw): support set border style for table border #WIK-15798 by @huanhuanwa in #918 feat(demo): update symbol title by @pubuzhixing8 in #916 fix(table): fix set text property error when select table by @huanhuanwa in #921 fix(draw): memorize line text property #WIK-15737 by @huanhuanwa in #920 fix(draw): fix create swimlane error by drawing #WIK-15860 by @huanhuanwa in #924 fix(draw): fix note-curly-left,note-curly-right,and note-square has s… by @MissLixf in #925 fix(draw): support set table fill #WIK-15891 by @huanhuanwa in #926 fix(draw): refactor getHitElementByPoint return value #WIK-15721 by @huanhuanwa in #922 refactor: rename interface PlaitLine to PlaitArrowLine, add PlaitVect… by @MissLixf in #923 Fix flow issues by @pubuzhixing8 in #929 fix(core): fix interface geometry paste error #WIK-15877 by @MissLixf in #928 feat(draw): support set cell text property by @huanhuanwa in #930 fix(flow): fix node-render error when node is custom node by @pubuzhixing8 in #933 fix(draw): fix resize geometry without text error #WIK-15876 by @MissLixf in #934 Graph viz 2 by @pubuzhixing8 in #937 feat(common): handle enter event when editing text #WIK-15872 by @huanhuanwa in #935 feat(draw): unclosed element can not set fill color #WIK-15921 by @MissLixf in #939 fix(draw): adjust line dash value for dotted #WIK-15965 by @huanhuanwa in #941 fix(draw): fix link swimlane error by autocomplete #WIK-15966 by @huanhuanwa in #940 fix(draw): throw new Error when get cell points by @huanhuanwa in #942 fix(text-manage): add debounce for onChange in text-manage #WIK-15968 by @pubuzhixing8 in #945 feat(graph-viz): support icon component rendering #WIK-15956 by @Xwatson in #946 feat(list-render): add try-catch for element-flavour initialization a… by @pubuzhixing8 in #947 React support doc by @pubuzhixing8 in #948 Full Changelog : v0.61.0...v0.62.0 官方 Release:v0.62.0。请查看 Release notes、依赖和许可证变化。
## Summary This release is focussed on moving adapters from the OTIO core codebase and the contrib area into independently versioned and installable PyPI packages. (#1386) **If you rely on these adapters, please use the `OpenTimelineIO-Plugins` PyPI package to ensure you continue to receive them after this release.** The OpenTimelineIO native file format adapters will still be present in the `opentimelineio` python package. These adapters are: - otio_json - otiod - otioz To get the full set of OTIO adapters, use the [OpenTimelineIO-Plugins ](https://pypi.org/project/OpenTimelineIO-Plugins/) python package. In addition to the OpenTimelineIO native adapters, you'll also get: - AAF - ale - burnins - cmx_3600 - fcp_xml - fcpx_xml - hls_playlist - maya_sequencer - svg - xges The following are not included in the OTIO-maintained top-level packages: - kdenlive - Now hosted and supported under the [KDE repository](https://invent.kde.org/multimedia/kdenlive-opentimelineio) - rv_session - This adapter was made obsolete by first-party support of OpenTimelineIO in [Shotgrid RV](https://www.shotgridsoftware.com/rv/) and [OpenRV](https://github.com/AcademySoftwareFoundation/OpenRV) This effort took a lot of help from the community and in particular the following contributors: * @apetrynet * @JeanChristopheMorinPerso * @markreidvfx * @rosborne132 * @ssteinbach * @timlehr ## Big Change/Breaking Change * Remove non-core adapters by @reinecke in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1725 ## Other Changes * Add implementation of to_nearest_timecode by @vade in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1717 * Add macos-14 arm64 runners by @markreidvfx in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1739 * Fix examples for C++ 17 by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1723 * added `default_value` fallback to `serializable_field` property by @timlehr in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1658 * constexpr updates by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1721 * Remove some DeprecationWarnings by @EvanBldy in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1688 * Version update to 0.17.0 by @reinecke in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1724 * Bump codecov/codecov-action from 3.1.1 to 3.1.4 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1603 * Update codecov to run on python 3.10 builds by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1727 * Pass the codecov token in CI to the uploader by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1737 * do not break the build if codecov fails by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1741 * Bump src/deps/Imath from `5b8627a` to `b90cc01` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1729 * Set minimum OS X deployment version to 10.14 by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1719 * Fix sign-compare warning when compiling with GCC 14 by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1749 * Added fix for pip._vendor.distlib issue on windows msys2 by @reinecke in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1762 * Add Doxygen comments to RationalTime #2 by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1765 * Added notes about versioning OpenTimelineIO-Plugins by @reinecke in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1769 * First pass at CI and release process improvements by @jhodges10 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1689 * Resolve CI issues and bump actions/checkout from v3->v4 by @jhodges10 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1770 * Fixed freeze script github yaml parsing and unfroze the ci versions by @reinecke in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1726 * Release v0.17.0 by @reinecke in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1772 ## New Contributors * @vade made their first contribution in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1717 * @jhodges10 made their first contribution in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1689 **Full Changelog**: https://github.com/AcademySoftwareFoundation/OpenTimelineIO/compare/v0.16.0...v0.17.0
What's Changed feat(draw): add updateSwimlaneCount function #WIK-15677 by @huanhuanwa in #901 feat(draw): adjust swimlane and uml interface、class type by @huanhuanwa in #900 feat(draw): support set cell fill #WIK-15684 by @huanhuanwa in #903 fix(draw): clear previous selected cells #WIK-15684 by @huanhuanwa in #904 feat(draw): support table theme #WIK-15701 by @huanhuanwa in #907 fix(draw): fixed the problem of table-bound lines paste failure #WIK-15700 by @huanhuanwa in #909 feat(draw): support swimlane without header #WIK-15674 by @huanhuanwa in #908 feat(draw): add component componentBox and template shape for uml #WI… by @MissLixf in #910 fix(draw): fix get options undefined error #WIK-15695 by @huanhuanwa in #911 feat(draw): add assembly requiredInterface and providedInterface shap… by @MissLixf in #906 Full Changelog : v0.60.0...v0.61.0 官方 Release:v0.61.0。请查看 Release notes、依赖和许可证变化。
What's Changed feat(draw): add genericity to draw and getTextRectangle by @huanhuanwa in #869 feat(draw): init table render by @huanhuanwa in #864 feat(draw): GeometryComponent support multi text #WIK-15441 by @MissLixf in #870 feat(draw): support text edit in cell by @huanhuanwa in #872 feat(draw): add UML actor 、useCase and container shape #WIK-15438 by @MissLixf in #873 fix(draw): fix text edit error #WIK-15474 by @huanhuanwa in #877 fix(draw): clear temporaryElement in plugin withGeometryCreateByDrag … by @pubuzhixing8 in #874 feat(text): support render vertical text by @huanhuanwa in #871 feat(core): support element-flavour by @pubuzhixing8 in #880 feat(draw): add package and combinedFragment shape for UML #WIK-15462 by @MissLixf in #876 fix(draw): reset points when entering text into element with autoSize… by @MissLixf in #878 feat(draw): init swimlane by @huanhuanwa in #879 fix(draw): fix hit logic and memorize for multiple text geometry #WIK… by @MissLixf in #881 feat(core): add angle to PlaitElement #WIK-15292 by @huanhuanwa in #885 feat(draw): support table copy and paste #WIK-15347 by @huanhuanwa in #884 feat(draw): support table and cell resize #WIK-15356 by @huanhuanwa in #886 feat(core): add isHitElement and isHitSelectedRectangle function by @huanhuanwa in #887 feat(draw): add isDrawElementsIncludeText function and support table linking #WIK-15419 by @huanhuanwa in #888 feat(draw): support create swimlane #WIK-15543 by @huanhuanwa in #889 feat: add generators export #WIK-15546 by @cmm-va in #890 build: release 0.58.0 by @huanhuanwa in #892 feat(draw): support set partial text property for multiple text nodes #WIK-15509 by @huanhuanwa in #891 fix(common): fix get gap snap line error #WIK-15446 by @huanhuanwa in #893 fix(core): restore before judge #WIK-15446 by @huanhuanwa in #894 feat(draw): add activation,object and deletion shape for uml #WIK-15593 by @MissLixf in #896 feat(draw): add note,activityClass,simpleClass,port and branchMerge s… by @MissLixf in #898 fix(draw): fix remove column and row error by @huanhuanwa in #899 feat(draw): add class and interface shape for uml #WIK-15494 by @MissLixf in #895 fix(text): set user-select to text paragraph instead of event.preventDefault #WIK-15691 by @huanhuanwa in #902 New Contributors @cmm-va made their first contribution in #890 Full Changelog : v0.57.0...v0.60.0 官方 Release:v0.60.0。请查看 Release notes、依赖和许可证变化。
What's Changed fix(core): add operation type for setFragment #WIK-15279 by @huanhuanwa in #853 fix(draw): set property for some basic shapes #WIK-15298 by @huanhuanwa in #854 Refactor flow by @pubuzhixing8 in #857 fix(draw): delete text memory property when remove this property #WIK… by @huanhuanwa in #859 fix(draw): update points when keyup #WIK-15334 by @huanhuanwa in #860 feat(core): init table and swimlane by @huanhuanwa in #858 fix(draw): adjust start text position by @huanhuanwa in #861 feat(core): add getBoundingRectangleByElements function #WIK-15311 by @MissLixf in #862 refactor(core): remove get component bridge officially by @pubuzhixing8 in #863 feat(draw): add display shape for flowchart #WIK-15411 by @MissLixf in #865 fix(geometry): correct active and cursor state when editing text by @pubuzhixing8 in #866 fix: adjusting the execution order of plugins #WIK-15413 by @huanhuanwa in #867 Full Changelog : v0.56.0...v0.57.0 官方 Release:v0.57.0。请查看 Release notes、依赖和许可证变化。
## Summary This release moves from the third party any and optional to C++17 `std::any` and `std::optional` (by @darbyjohnston) as well as a collection of enhancements in how the python bindings handle type conversion with C++ (by @JeanChristopheMorinPerso) and the addition of `comment` to the `Marker` schema (by @nickblt). This release also includes an [experimental set of editing commands](https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1654) (by @ggarra13) in C++. These are a new set of APIs intended to implement some common editing commands (insert, overwrite, roll, etc.) backed by the OpenTimelineIO data model. These APIs are meant to provide an opportunity to try the concepts and form a base to iterate on, however there may be breaking changes as they evolve. ## Important Note About Adapters **This will be the last release to include the full set of adapters.** In the next release, most of the adapters [will move out into their own PyPI packages](https://github.com/AcademySoftwareFoundation/OpenTimelineIO/issues/1386) as optional plugins. **tl;dr - if you rely on the adapters, please use the `OpenTimelineIO-Plugins` PyPI package to ensure you continue to receive them after this release.** The OpenTimelineIO native file format adapters will still be present in the `opentimelineio` python package. These adapters are: - otio_json - otiod - otioz To get the full set of OTIO adapters, use the [OpenTimelineIO-Plugins ](https://pypi.org/project/OpenTimelineIO-Plugins/) python package. In addition to the OpenTimelineIO native adapters, you'll also get: - AAF - ale - burnins - cmx_3600 - fcp_xml - fcpx_xml - hls_playlist - maya_sequencer - svg - xges The following are not included in the OTIO-maintained top-level packages: - kdenlive - Now hosted and supported under the [KDE repository](https://invent.kde.org/multimedia/kdenlive-opentimelineio) - rv_session - This adapter was made obsolete by first-party support of OpenTimelineIO in [Shotgrid RV](https://www.shotgridsoftware.com/rv/) and [OpenRV](https://github.com/AcademySoftwareFoundation/OpenRV) To experiment with what this looks at, check out the [0.17.0 Pre-Release](https://github.com/AcademySoftwareFoundation/OpenTimelineIO/releases/tag/v0.17.0.dev1) - packages are provided on PyPI to try out. ## Big Changes * Remove python2.7 support by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1423 * Remove Kdenlive adapter for split out by @jlskuz in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1438 * Add support for editable installs by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1460 * Add Python 3.11 to CI matrix by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1465 * Add support for Premiere styled EDLs to the CMX 3600 adapter by @douglascomet in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1199 * Added --downgrade option to otiotool. by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1485 * Added otiotool --remove-metadata-key option by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1642 * Experimental Editing Commands by @ggarra13 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1654 * Add optional comment field to Marker by @nickblt in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1698 * Added support to filepath_from_url for UNC paths and tests for UNC and posix paths by @douglascomet in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1674 * Support for C++17 Part 2 by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1713 ## Breaking Changes * [Breaking change] Remove support for passing a None value as the name argument by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1453 * Remove deprecated each_child and each_clip functions by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1437 ## Other Changes * Script-assisted release process by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1421 * Initialize v0.16 by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1424 * Bump codecov/codecov-action from 2.1.0 to 3.1.1 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1399 * Bump actions/upload-artifact from 2 to 3 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1269 * Remove Travis traces by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1412 * Add documentation for new schema development/proposal process by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1429 * Bump myst-parser from 0.17.2 to 0.18.1 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1431 * Bump actions/setup-python from 3 to 4.1.0 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1351 * remove cp27 builds from CI by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1435 * Bump pypa/cibuildwheel from 1.12.0 to 2.10.2 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1420 * Bump sphinx from 4.5.0 to 5.2.2 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1434 * Remove Plugin schema `execution_scope` parameter by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1428 * Bump src/deps/pybind11 from `914c06f` to `da8c730` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1439 * Improve test coverage by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1436 * remove more python2/3 shim code: next -> __next__ by @ssteinbach in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1432 * Bump actions/setup-python from 4.1.0 to 4.2.0 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1441 * Improve type of function callbacks in register_upgrade_function and register_downgrade_function by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1445 * README: Fix typo (pypy->pypi) by @dgw in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1447 * Replace py::object type by optional<std::string> for name parameters by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1446 * Use glossary terms for environment variables references in the docs by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1442 * fcp_xml: serialize marker out value instead of -1 by @jhorrocks-tl in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1411 * Bump sphinx from 5.2.2 to 5.2.3 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1440 * Don't override __iter__ methods by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1444 * Improve typing of the drop_frame parameter on the RationalTime.to_timecode method by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1443 * Improve types of childen, tracks, effects and markers parameters in function signatures by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1448 * Bump actions/setup-python from 4.2.0 to 4.3.0 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1450 * Bump src/deps/pybind11 from `da8c730` to `7c6f2f8` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1449 * Bump pypa/cibuildwheel from 2.10.2 to 2.11.1 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1451 * Bump src/deps/Imath from `3ad5d4d` to `6add873` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1455 * Bump src/deps/optional-lite from `5e4b776` to `be720eb` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1456 * Bump sphinx from 5.2.3 to 5.3.0 by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1457 * Bump src/deps/pybind11 from `7c6f2f8` to `964c499` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1454 * Bump src/deps/pybind11 from `964c499` to `5bc0943` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1471 * Bump src/deps/Imath from `6add873` to `443b7f0` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1472 * Bump src/deps/pybind11 from `5bc0943` to `ee2b522` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1476 * Switch to using `importlib` from `pkg_resources` by @mikemahony in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1469 * Reworded error message by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1482 * Remove RV adapter and example plugin by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1480 * Bump src/deps/Imath from `443b7f0` to `0436624` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1484 * Added --relink-by-name feature to otiotool by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1475 * Bump src/deps/pybind11 from `ee2b522` to `9727dcd` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1498 * Bump src/deps/Imath from `0436624` to `fcb8a32` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1509 * Bump src/deps/pybind11 from `9727dcd` to `0694ec6` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1508 * Use duration() as a virtual function by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1514 * Docs: Line wrap long lines of text for a display by @ThomasWilshaw in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1140 * Added new TSC members and new Committers by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1531 * Replaced clip_if() with find_clips() in sample code in README.md by @jminor in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1541 * Use the C++ override keyword by @darbyjohnston in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1543 * Bump src/deps/Imath from `fcb8a32` to `e52b07d` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1552 * Bump src/deps/Imath from `e52b07d` to `5b8627a` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1556 * Fix exception when __doc__ is None with portable Python by @robbiesz in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1550 * Bump src/deps/pybind11 from `0694ec6` to `4ce0517` by @dependabot in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1573 * Make serialize_json_to_string output compact when indent is less than 1 by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1578 * Support compiling with GCC 13 by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1605 * Fix rendering of otioz file bundle structure in the docs by @JeanChristopheMorinPerso in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1606 * Adjust license for package uploaded to PyPI by @JeanChristopheMorinPerso
## Summary This is a preview release for extracting the "batteries included" file format adapters and moving them to their own repositories and python packages. If you still require the adapters, you should use the `opentimelineio-plugins` [python package](https://pypi.org/project/OpenTimelineIO-Plugins/) which will have a version correlating to each OpenTimelineIO core release. The release is a [Developmental release](https://peps.python.org/pep-0440/#developmental-releases) to give users a chance to try out how the new `opentimelineio` and `opentimelineio-plugins` package setups work in their environments. Because this release is an early cut, there are still [a collection of tasks to complete](https://github.com/AcademySoftwareFoundation/OpenTimelineIO/issues/1386) before the final release. There are also additional 0.16.0 changes that will be integrated with this release when it is finalized, so please treat it very much as a work-in-progress. Please provide feedback about your experience in the GitHub issue for adapter break-out - #1386. ## How To Install By default pip won't pick up developmental releases. To try this release, use one of the following: - Setting `opentimelineio==0.17.0.dev1` as a dependency - `python -m pip install opentimelineio==0.17.0.dev1` - `python -m pip install --pre opentimelineio` To opt-in to the "batteries-included" package, use any of these variants with the `opentimelineio-plugins` package. ## Important Note About Adapters Since we've removed the adapters from OpenTimelineIO core, only the OpenTimelineIO native file format adapters are present in the `opentimelineio` python package. These adapters are: - otio_json - otiod - otioz To get the full set of OTIO adapters, use the [OpenTimelineIO-Plugins ](https://pypi.org/project/OpenTimelineIO-Plugins/) python package. In addition to the OpenTimelineIO native adapters, you'll also get: - AAF - ale - burnins - cmx_3600 - fcp_xml - fcpx_xml - hls_playlist - maya_sequencer - svg - xges The following are not included in the OTIO-maintained top-level packages: - kdenlive - Now hosted and supported under the [KDE repository](https://invent.kde.org/multimedia/kdenlive-opentimelineio) - rv_session - This adapter was made obsolete by first-party support of OpenTimelineIO in [Shotgrid RV](https://www.shotgridsoftware.com/rv/) and [OpenRV](https://github.com/AcademySoftwareFoundation/OpenRV) ## What's Changed * Prepare plugin detection for removal of the cmx_3600 adapter by @apetrynet in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1488 * Extracted CMX3600 adapter and related sample data and tests by @apetrynet in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1487 * Extract AAF Adapter from OTIO core and establish separate git repo by @markreidvfx in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1348 * Remove fcp adapter by @apetrynet in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1501 * Remove svg adapter by @apetrynet in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1502 * Remove maya sequencer adapter related files by @rosborne132 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1520 * Remove fcp x xml adapter related files by @rosborne132 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1529 * remove hls adapter related files by @rosborne132 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1535 * remove ale adapter related files by @rosborne132 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1536 * Remove burnins adapter related files by @rosborne132 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1537 * extract xges adapter files by @rosborne132 in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1538 * Remove the remains of "contrib" by @apetrynet * fixed doc-plugins-update when custom hooks are in environment by @timlehr in https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1644 **Full Changelog**: https://github.com/AcademySoftwareFoundation/OpenTimelineIO/compare/v0.15...v0.17.0.dev1
## 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
## Summary This release fixes an issue where installation from the sdist (source) package on PyPI would fail. This mostly impacted users with a platform for which we don't provide a prebuilt wheel. ## Changes * Update sdist to include submodules by @JeanChristopheMorinPerso in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1156
## Summary This release has a number of features, including _many_ backend features that upgrade the CI, build, and release process. Big thanks especially to @KarthikRIyer, @darbyjohnston and @JeanChristopheMorinPerso for their contributions in this and other areas. ## Big Things * Drop 36 support for 38, following the VFX platform by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/787 * add windows and mac builds to ci by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/873 * Add filebundle (otioz and otiod) adapters by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/561 * Cxx examples by @darbyjohnston in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/918 * Add doxygen to document cpp code by @hisergiorojas in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/878 * Build wheels as a github action by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/957 * Implement OTIO to SVG adapter by @KarthikRIyer in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1038 * Create wheels on Windows by @JeanChristopheMorinPerso in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1015 * Support Python 3.9 by @JeanChristopheMorinPerso in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1080 * PyPI publish on release by @JeanChristopheMorinPerso in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1110 * Add .clang-format file by @KarthikRIyer in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/707 ## Other Changes * Create GitHub Actions Workflow by @KarthikRIyer in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/752 * xges: Add support for image sequences by @thiblahute in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/792 * FIxed invalid timecode frame number error message by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/795 * Update doc string for otio.algorithms.track_with_expanded_transitions() by @apetrynet in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/794 * Fix a link in documentation (to serialized schema tutorial) by @Simran-B in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/808 * Added a note about CLA requirement to PR template. by @jminor in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/810 * Update flatten_video_tracks.py to use deepcopy. by @jminor in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/812 * Retire Travis, in favor of GitHub Actions by @jminor in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/817 * CMake: Set "ARCHIVE DESTINATION" in install section by @itsmattkc in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/803 * Fcp 7 xml better generator support by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/802 * Prefix `_TypeRecord` constructor params to avoid shadow warnings by @Simran-B in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/825 * Python 3 deprecation fixes (including Preparing for Python 3.9) by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/820 * Fix compilation of Swift bindings by @meshula in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/834 * Cmake cleanup by @meshula in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/837 * Document Metadata structure by @jminor in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/861 * Added docstrings to python bindings for interval algebra methods in TimeRange by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/789 * Check rate and value are not invalid by @hisergiorojas in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/867 * Kdenlive linear timewarp by @splidje in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/869 * from_start_end_time_inclusive by @splidje in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/868 * detect cycles by @davidbaraff in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/848 * remove swift bindings and legacy macosx-build directory by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/871 * Revert the location of shared libraries by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/883 * Remove tox dependency by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/882 * Support --prefix correctly in new cmake system by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/886 * CMake: Fix message() types by @Simran-B in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/879 * FCP 7 XML: Fixed resolution of start timecode for certain NTSC rate clips by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/843 * Fix Issue #881 by @meshula in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/887 * Fix ImageSequenceReference implicit cast by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/889 * ImageSequenceReference: Added handling for empty target_url_base by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/891 * Enable xges unit tests on all platform/python versions by @thiblahute in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/894 * quiet the aaf adapter test to clean up test output by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/893 * Fix escaping for ORIGIN in rpath settings by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/899 * Update build status badge to use GitHub Actions instead of Travis by @jminor in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/898 * CMakeTexts fix: stop using the modname variable by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/900 * Don't override user supplied C++ preferences by @nporcino-pixar in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/902 * Create cmake alias targets for the OTIO namespace by @nporcino-pixar in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/901 * Address big integers bug by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/892 * add a --version flag to otiopluginfo + otioconvert by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/880 * Change cmx_3600 adapter to use transition duration frames (Issue #895) by @JoshBurnell in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/896 * Add include directories for OpenTimeConfig.cmake/OpenTimelineIOConfig… by @darbyjohnston in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/916 * Documentation fixes by @darbyjohnston in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/914 * Avoid exporting build tree libraries by @rogernelson in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/911 * Issue 912: cmx_3600 adapter incorrectly processing three-clip transitions by @JoshBurnell in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/919 * Add pybind11 subdirectory only if building python bindings by @KarthikRIyer in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/927 * Add an env var to disable pkg_resources by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/928 * Specify pyaaf2 requirement as a minimum version by @AWhetter in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/906 * Add dependabot by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/931 * add interval field to dependabot yaml by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/933 * Removed inadvertent unicode char by @avrata in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/939 * RV adapter fix: don't require having access to OTIO from python interpreter in rv by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/941 * Ascii doc fix by @avrata in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/947 * Add environment variable to skip doc tes by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/944 * Localize test otiod/z test data to sample_data directory by @avrata in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/942 * Use Pybind11's find python tool to correctly locate python install information by @Tilix4 in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/950 * Add Try/Except around imporlib.reload for unit test to run in python2.7 as well as 3.4+ by @avrata in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/949 * install mock on CI builds for python 2.7 by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/951 * Refactor setup.py to build and stage into temp area for setup.py to install from by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/956 * uncomment github actions dependabot config by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/958 * Only load a manifest if it has not been loaded by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/945 * make Timeline::set_tracks(null_ptr) create a new Stack to fix crash by @meshula in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/961 * Fix typo in setup.py that prevents conda skeleton from parsing setup.py by @vvzen in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/962 * Add support for multiple timecode objects in an AAF by @stefanschulze in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/966 * Add C++ convenience wrapper for .value on the retainer class by @darbyjohnston in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/923 * do not upload code coverage statistics if the PR is opened by dependabot by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/971 * Force pybind to use same python as otio by @rogernelson in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/986 * C++ binding Docstring Update by @Viraj-Rana008 in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/983 * Add C++ implementation of each_child()/each_clip() by @darbyjohnston in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/926 * Cxx conform example by @darbyjohnston in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/995 * add example timeline builder by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/993 * Remove CXX sdk in Python site-packages by @rogernelson in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1004 * Python build: Use CMake FindPython by @JeanChristopheMorinPerso in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1000 * Replace description-file setuptools metadata key with description_file in setup.cfg by @JeanChristopheMorinPerso in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1017 * Add Makefile target "make format" by @KarthikRIyer in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1023 * Use const references when catching exceptions by @darbyjohnston in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1034 * Remove unused source file "main.cpp" by @darbyjohnston in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1036 * Added linguist override to detect .otio files for JSON highlighting by @reinecke in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1032 * update outdated python module paths in docs by @ssteinbach in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull/1052 * Upgrade to C++14 by @darbyjohnston in https://github.com/PixarAnimationStudios/OpenTimelineIO/pull
This release introduces the ImageSequenceReference schema to OTIO. It adds support for media references that point at sets of files on disk, for example, the rendered EXR frames for a shot. This work was contributed by @apetrynet and @reinecke. It includes RV adapter support. Additionally, we're starting a restructure of some of the core math libraries built around a more consistent mathematical framework. The first of these changes is shifting to predicates based on Allen's Interval Algebra [https://en.wikipedia.org/wiki/Allen%27s_interval_algebra] . Big things: - ImageSequenceReference (@apetrynet and @reinecke) main: #602 #722 w/ #783 #751 - Allen Interval Algebra predicates (@KarthikRIyer) #697 - AAF Reader metadata support #739 - Post adapter write hook added (@apetrynet) #730 - RV native plugin (so that you can read OTIO files from inside RV rather than convert via an adapter to .rvsession files) @avrata and @apetrynet #637 Small things: - Reverse and dissolve fixes, Wipe transition support was added to the CMX EDL adapter #763 #757 #687 - Fixing up some bugs and algorithms in `rationalTime.cpp` #755 #721 #692 (@reinecke and @KarthikRIyer) - Tox changed and our setup.cfg was altered to conform with the new standard - otioview enhancement: double click to see full track name (@KarthikRIyer) #690 - conform.py example now prints support file suffixes (@thebigsasha) #676 - FCP7 adapter bug fixes #674 - xges adapter markers and effects support (@hwilkes-igalia) #609 - Fix bugs in the kdenlive adapter (@vpinon) #714 - bumped pin of PyAAF2 version to 1.4.0 #738 - bug fixes in Markers #740 and #592 (@elabrosseRodeofx) Project related things: - added issue templates to the github repo #768 - cleaned up developer quickstart documentation #717 - documentation was broken on read the docs, this was fixed #715
Includes PR #669, which fixes issues in the cmake build system reported on windows machines. As always, please let us know if you see any further issues and alert us! Thanks!