-
Notifications
You must be signed in to change notification settings - Fork 288
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
time-varying data support in OpenTimelineIO (originally: "Implement Curve Schema") #331
Comments
Huh, good link. This is something we might potentially want to add to OTIO, but is not on our current internal (pixar) roadmap. If someone wanted to do this work, however, we would love to chat with them with some thoughts about how to approach this. Thanks for linking that! Do you know how closely this matches the curve format found in AAF or in EDL (for non linear speed ramps)? |
Also see: #39 (comment) |
There is also this library: https://github.com/Autodesk/animx |
In pyaaf2 here is the code that does curve interpolation for AAF, including Bezier and Cubic |
If someone where to try their hand at this, is there a good skeleton to follow as an outline that fits in well with OTIO’s development patterns? |
Hi @sobotka, depends on how you want to extend the library. Couple options:
Of these options, I think I would prefer #1 or #2. Is there a clear schema from curves that you want to use? Is this a case where we could inject a blob of USDA to encode the curve? |
I should note, if you need an example of the USD curve schema:
You could put that blob into a string attribute and then in an adapter use the USD API to evaluate values on that curve. |
Is it currently possible to have a unique "in house" schema for curves for OTIO, while at the same time, defining some glue to get in and out of other schemas? For example, the in-houseCurve <-> USDcurve? |
I believe so. If you build a schemadef plugin, that is a complete python class, which could have methods like |
Of the strategies that @ssteinbach listed, I recommend using the SchemaDef plugin mechanism. That will give you the ability to define the schema, a class that represents it, a versioning mechanism, and whatever methods you want on it. It also gives us flexibility to merge it into the official schema easily later. |
Where are you planning on getting the curve data? Is it from one of the existing adapters? |
Implement curve schema for Bezier, linear, and others?
See Appendix C of the FCPXML document, 2004 as an example implementation.
The text was updated successfully, but these errors were encountered: