Adsk Contrib - Add Support for SMPTE ST 2036-1 compliant CLF files #2265
+37,362
−529
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adding reading and writing support for SMPTE ST 2036-1 compliant CLF files
Added "Id" element support per the spec.
Extended the CTFVersion class to handle non-numeric formats per the spec (which uses xmlns as the version)
CLF xml parser now strips the namespaces from the elements by default. This makes it possible to parse files with simple name spaces but complex name-spaced clf files may still fail. There is an internal switch to turn on/off the name space stripping. This way elements which need to retain the name spaces (such as the Info element) can still get the un-stripped names.
Extended the Input and Output Descriptor collection to hold multiple entries (similar to Description field)
CLF writer now writes the SMPTE xmlns version as well as the CompCLFVersion attribute. The resulting files can be read both by the Academy CLF parsers and SMPTE CLF parsers.
Generated cache hash IDs are now in the 8-4-4-4-12 UUID format to help complying with SMPTE id requirements
ociomakeclf tool now takes "--generateid" switch for inserting newly added "Id element" into the target clf file.
TODO:
Description and Descriptor elements need to collect the language attribute.
non-default namespace attributes (e.g. xmlns:foo) need to be collected as root level attributes.
Those two TODO items need some re-factoring in the data collection code.