Skip to content
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

Catch CXX branch up to latest master #528

Merged
merged 98 commits into from
Jul 17, 2019

Conversation

ssteinbach
Copy link
Collaborator

@ssteinbach ssteinbach commented Jun 20, 2019

This merges the work that has been going into the master branch into the CXX branch to catch it up.

The commit history looks a little funky in github, so to clarify, the process was to rebase the changes from master onto cxx, then do a git merge -s ours master from the cxx branch. This has the effect of merging the two branches.

This change also:

  • Changes the permissiveness of some of the deserialization (name for example is read if present and defaults to "")
  • Collapses the configuration that was in the tox.ini file into the setup.cfg file so there are fewer configuration files floating around
  • Fixes the linter to run on everything in the CXX branch, and fixes a number of linter bugs
  • fixes some bugs in otioview that linting turned up
  • Moves configuration for flake8 and coverage into the setup.cfg file
  • Update the auto schema documentation generation to work with the C++ code setup

apetrynet and others added 30 commits April 12, 2019 14:58
…ation#488)

* Added a test to make sure only dropframe timecodes get treated like such
* added test for passing NDF timecode to  as described in AcademySoftwareFoundation#476
…tion#477)

* Add global_start_time as a serializable_field.
* The default value for global_start_time is None
* Adding "True" NSTC rates to the list of allowable timecode rates
* Added more accurate 59.94 fraction to both drop and non-drop timecode allow lists.
This value is shown as track name in the Media Composer.

pyaaf2 gave default name as `"Track-%03d" % slot_id`. Here we just pass whatever name a track has to mobslot.

If the name is None, the Media Composer does not show the name (after `/`), but still labels the track as V1, V2 for video tracks and A1, A2 for audio tracks.
…twareFoundation#472)

* Remove console and test_utils from the default import.
* Contrib test_utils imports.
* Remove `import opentimelineio as otio` lines from core.
* Update rv baseline.
…tion#506)

* Fix missing source clip start offset

Without this, the resulting AAF always use the full available media of a clip even the start_time in source_range has different value than that of availabe_range.

Fixed private method `_target_url_fixup`.
It didn’t really use the `timeline` passed in. It just happened to pick up the`otio_timeline` when the method was called due to Python scoping.
When writing AAF Sequences, make sure each one is nested inside a Submaster OperationGroup.
* Added OTIO logo

* Logo replaces title.
It was a link to the file, now its a link to opentimeline.io.
…ndation#511)

* Add module_from_name to schemadef

- An easy way to force loading a schemadef plugin
- returns the module object from the plugin
- Also clarifies that from_name returns the plugin
	object itself

* Add documentation for loading schemadefs.

* Add unit tests for explicitly loading schemadef

- Add testing for both the module_from_name() path and implicit loading
  by reading a file containing the schemadef.
- Clarify the existing tests by manually loading the plugin.
)

* Adds better error messages for when the AAF Writer's precheck fails
* Adding precheck failer negative test
…oftwareFoundation#494)

* initial refactor of FCPXML adapter import
* Added generator and effect parsing to FCP XML Adapter
* Updated FCP XML adapter export code to work with reader updates, support generators and effects, and roundtrip fcp_xml metadata dicts
* fcp xml adapter now populates available range on missing references when duration is available.
* Fixed issue where rate would be double added to some items, and make it into the metadata dict
* Make fcp xml link elements a one-way trip
* FCP XML preserves timeline name under sequence element rather than the tracks stack name. fixes AcademySoftwareFoundation#485
* FCP XML properly generates dropframe or non-dropframe timecode values based on metadata
…wareFoundation#515)

* Add support for XMLs that do not have a library element
* Add support for drag and drop with just clips and compound clips
* Add metadata, keyword, and notes support
…irst "clip". (AcademySoftwareFoundation#518)

* To get the edit rate, look at the first child, not the first clip. This is necessary for tracks with all gaps
* Adding a test for just gaps.otio file
… of SourceClip (AcademySoftwareFoundation#517)

* _transcribe() now stores the chain of parents instead of just one
* Reimplementation of source_range and available_range logic when transcribing aaf -> otio
* Adding comments to explain whats going on
…ation#488)

* Added a test to make sure only dropframe timecodes get treated like such
* added test for passing NDF timecode to  as described in AcademySoftwareFoundation#476
…tion#477)

* Add global_start_time as a serializable_field.
* The default value for global_start_time is None
* Adding "True" NSTC rates to the list of allowable timecode rates
* Added more accurate 59.94 fraction to both drop and non-drop timecode allow lists.
This value is shown as track name in the Media Composer.

pyaaf2 gave default name as `"Track-%03d" % slot_id`. Here we just pass whatever name a track has to mobslot.

If the name is None, the Media Composer does not show the name (after `/`), but still labels the track as V1, V2 for video tracks and A1, A2 for audio tracks.
- Was previously in the tox.ini, but flake8 was finding the setup.cfg
  and stopping.  Theoretically, tox should layer the files.
- Reducing the number of configuration files and places to switch stuff.
- Also adds flake8 and coverage configuration into this file.
- This line isn't relevant anymore in the contrib makefile.
- In python3, unicode and xrange have been removed.  Code was guarded by
  an if statement, so it wasn't hitting this during testing, but flake8
  was still detecting and erroring out on this in python3.  Just marking
  them as noqa for now so that flake8 ignores them.
@ssteinbach ssteinbach marked this pull request as ready for review July 16, 2019 21:49
ssteinbach and others added 8 commits July 16, 2019 15:00
* Add test mode that runs console scripts on the shell.
…areFoundation#521)

* Add autogen_serialized_datamodel script.
* Add unit test 
* Add the serialized schema docs to the manual.
* Add in docstrings and label versions.
* Add link to autogenerated file specification.
* Update path in Makefile.
* Also get properties for opentime classes.
* Remove old schema documentation
* Add second doc that doesn't have docstrings

- second doc isn't linked by the documentation, and only has lists of
  the fields

* Add copyright notice.
@ssteinbach ssteinbach requested review from jminor and removed request for davidbaraff July 17, 2019 17:28
Copy link
Collaborator

@jminor jminor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on discussions, this seems ready to land into cxx.

@ssteinbach ssteinbach merged commit ccc9b4e into AcademySoftwareFoundation:cxx Jul 17, 2019
C++ API automation moved this from To Do to Done Jul 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
C++ API
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

10 participants