-
Notifications
You must be signed in to change notification settings - Fork 307
Add core C++ support for otioz and otiod #1901
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add core C++ support for otioz and otiod #1901
Conversation
Codecov Report❌ Patch coverage is ❌ Your changes status has failed because you have indirect coverage changes. Learn more about Unexpected Coverage Changes and reasons for indirect coverage changes. Additional details and impacted files@@ Coverage Diff @@
## main #1901 +/- ##
==========================================
- Coverage 84.11% 83.82% -0.30%
==========================================
Files 198 185 -13
Lines 22241 13320 -8921
Branches 4687 1208 -3479
==========================================
- Hits 18709 11166 -7543
+ Misses 2610 1981 -629
+ Partials 922 173 -749
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 128 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
35b2b03
to
f662359
Compare
Signed-off-by: Darby Johnston <[email protected]>
Signed-off-by: Darby Johnston <[email protected]>
Signed-off-by: Darby Johnston <[email protected]>
Signed-off-by: Darby Johnston <[email protected]>
Signed-off-by: Darby Johnston <[email protected]>
Signed-off-by: Darby Johnston <[email protected]>
Signed-off-by: Darby Johnston <[email protected]>
Signed-off-by: Darby Johnston <[email protected]>
Signed-off-by: Darby Johnston <[email protected]>
Fixes #1869
This PR adds support for otioz and otiod bundles to the C++ API.
The code follows the original Python so the logic and error handling should be similar. The Python otioz and otiod adapters have been ported to use the new C++ functionality and the Python tests pass.
Differences from the Python implementation:
timeline_for_bundle_and_manifest()
handles the media relinking since it was the same for otioz and otiod. In the Python code the adapters handled the relinking.Other notable changes:
fileUtils.h
andurlUtils.h
.OTIO_DEPENDENCIES_INSTALL
. I think if you are building the dependencies, they also need to be installed, there should not be an option to disable it.Questions:
file://
URLs, and do lossy conversions between file paths, so for now I implemented just the necessary functionality. All of the tests pass, but I'm not sure how comprehensive they are.otio._otio.bundle.from_otiod()
, it seems like the._otio
shouldn't be necessary.Any suggestions on the naming, style, and usage of the changes are very welcome.