Commits on Oct 23, 2018
  1. More examples & documentation (#344)

    jminor committed Oct 23, 2018
    * Improving documentation for time ranges.
    * Adding examples for flattening & summarizing timing.
    * Adding the 2017 SIGGRAPH slides PDF, which fell off in the doc refactor.
  2. Revert "New plugin type: HookScripts (#330)" (#350)

    jminor committed Oct 23, 2018
    This reverts commit 81b1a9e.
Commits on Oct 10, 2018
  1. Wiki removal (#340)

    jminor committed Oct 10, 2018
    * Replacing links to the wiki in favor of readthedocs.
Commits on Oct 9, 2018
  1. Docs are no longer on wiki

    jminor committed Oct 9, 2018
    Added a docs badge.
    Replaced wiki links with links to
Commits on Jul 31, 2018
Commits on Jul 24, 2018
Commits on Jun 30, 2018
  1. AAF effects and composition fixes (#260)

    jminor authored and ssteinbach committed Jun 30, 2018
    * Added support for Motion Effects which are either FreezeFrame or LinearTimeWarp.
    Unsupported effects will get effect name and parameters as AAF metadata.
    Use correct length for OperationGroups.
    * otioview's --adapter_arg can now handle Python literals, so you can pass True, False, etc. as real values, instead of everything coming in as a string.
    * Now that schema objects are compared by reference, not by value, we don't need to make unique names for objects in the AAF adapter.
    * + Miscellaneous AAF adapter fixes
Commits on Jun 26, 2018
Commits on May 16, 2018
  1. otioview's --adapter_arg can now handle Python literals, (#261)

    jminor committed May 16, 2018
    * otioview's --adapter_arg can now handle Python literals, so you can pass True, False, etc. as real values, instead of everything coming in as a string.
Commits on May 14, 2018
  1. otioview UI improvements (#254)

    jminor authored and ssteinbach committed May 14, 2018
    * Moved the details widget to the right side.
    * Added syntax highlighting to the OTIO details.
    * Switched to a different style (still not great).
    * Window is bigger and centered.
Commits on May 12, 2018
  1. Corrected handling of AAF composition nesting. (#250)

    jminor committed May 12, 2018
    * Corrected handling of top-level Mobs in AAF compositions.
    * Fixed parsing of nested compositions in AAF.
    * Fixed Track.kind detection from AAF media_kind.
    * We now get audio tracks!
Commits on Apr 30, 2018
Commits on Feb 22, 2018
Commits on Feb 20, 2018
  1. Fix iteration of dupes (#223)

    jminor authored and ssteinbach committed Feb 20, 2018
    * Added index_of_child() method to Composition which compares by `is` instead of `==`.
    Fixed Composition range_of_child() and others to work properly when identical child clips are present.
    * NOTE: we will want to rethink this once we address #228, that will likely change how this works.
Commits on Feb 16, 2018
  1. Added minimal support for EDL speed effects. (#233)

    jminor committed Feb 16, 2018
    * Added minimal support for EDL speed effects (freeze frame and M2).
    * EDL motion effects and freeze frame infomation is stashed into cmx_3600 metadata so we don't lose it.
    * Clarified that RationalTime and TimeRange are value types (copy == deepcopy)
    * Optimized copy() and deepcopy() on RationalTime and TimeRange.
    * Avoid O(n^2) performance issue in the EDL reader by not calling available_range() after adding each clip.
    * Optimized the implementation of available_range()
Commits on Feb 13, 2018
  1. AAF adapter (#230)

    jminor committed Feb 13, 2018
    * Reads essential AAF structure of tracks, clips, transitions, etc. into a simplified OTIO structure. 
    * Supports a wide variety of user metadata from AAF source clip metadata.
    * Test cases for the AAF adapter.
    * Introduced OTIO_AAF_PYTHON_LIB for locating PyAAF.
    * A multitrack AAF flattens down to a single track that is identical to how Avid Media Composer flattens.
    * Added PyAAF wheels to Travis so the contrib AAF adapter tests run in CI.
Commits on Jan 29, 2018
  1. Convenience methods for tracks, visible_range, etc. (#212)

    jminor authored and ssteinbach committed Jan 29, 2018
    * Added video_tracks() and audio_tracks() convenience methods to Timeline.
    * trimmed_range() and duration() should return copies.
    * Added visible_range() to Item, so you can find the range of media used including any adjacent transitions.
    * Flatten now works on a simple list of Tracks in addition to a Stack.
    * Added example code for flatten and sample OTIO files to illustrate flattening.
    * Switch track.neighbors_of to return (prev, next)
    - now returns a collections.namedtuple, so result.previous is always the previous item, and next is always the next one
    - if set to not expand around transitions or if the item is not a transition, will return None as the next/previous item
    * Added example OTIO and test.
    * Added handles_of_child() method
Commits on Jan 12, 2018
  1. Flatten Algorithm (#205)

    jminor committed Jan 12, 2018
    * Added flatten_stack to algorithms, with unit test.
    * Added track_trimmed_to_range in track_algo.
    * Renamed test_sequence_algo to test_track_algo
    * Moved responsibility for removing a Composable from its former parent into Composition, instead of Composable's _set_parent().
    * Lets be careful to use assertIs vs assertEqual when testing compositions and nesting.
    * Added a test to ensure that TimeRange.extend_by works when the ranges have a gap between them.
    * Fixed TimeRange.extend_by so it is symmetric: A.extended_by(B) == B.extended_by(A)
    * Use "is" instead of "=="
Commits on Jan 4, 2018
  1. Handle gaps and offsets in EDL record timecode (#188)

    jminor committed Jan 4, 2018
    * Gaps in record timecode now become Gap items in the track.
    * EDL record timecodes round-trip to source_range offsets on the Track level
    * We now check that source and record durations match and that they don't overlap. You can toggle this off via ignore_timecode_mismatch=True
Commits on Jan 3, 2018
  1. Fixed a bug in Timeline's each_child. (#197)

    jminor committed Jan 3, 2018
    Fixed a bug in Timeline's each_child method.
    Added unit tests for the recursion behaviour of each_child.
Commits on Dec 21, 2017
  1. Small ALE improvements (#195)

    jminor committed Dec 21, 2017
    * ALE "Source File" now round-trips to each Clip's media_reference.target_url.
    * ALE export now gracefully handles items with no source_range.
  2. Parenting bug fix + small cleanup (#196)

    jminor committed Dec 21, 2017
    * When setting a Composable's parent, check to see if it is already in that parent, so we don't remove and re-add to the same parent.
    This changes one test related to instancing (which we decided not to support) but may need further discussion.
    * Fixed some import paths so we can run unit tests properly from PyCharm.
    * Minor clean up.
Commits on Nov 17, 2017
  1. Update version to Beta 7.

    jminor committed Nov 17, 2017
Commits on Nov 16, 2017
  1. Range in parent for transitions (#184)

    jminor committed Nov 16, 2017
    * Fixed Transition support in otioview.
    - Added range_in_parent and trimmed_range_in_parent to Transition.
    - Added trim_child_range to Composition.
    - Added range_in_parent to Item.
Commits on Oct 26, 2017
  1. Fixed "E722 do not use bare except" lint issue. (#175)

    jminor authored and ssteinbach committed Oct 26, 2017
    * Fixed "E722 do not use bare except" lint issue.
    * Let's be more specific about which exceptions we're expecting.
    * Use metadata.pop(key) instead of get and del.
    * Added explanation about why we're using pop() and get().
    * Handle missing or blank Name and Start better.
    * Fixed error checking.
Commits on Oct 5, 2017
Commits on Sep 22, 2017
  1. Time fixes (#159)

    jminor committed Sep 22, 2017
    * Removed default of 24 fps in from_timecode.
    * Clarified how to work with adjacent TimeRanges with 1.0 rate.
Commits on Sep 13, 2017
  1. ALE adapter (#158)

    jminor committed Sep 13, 2017
    Added a contrib adapter for Avid Log Exchange (ALE) files.
    An ALE file it read into a SerializableCollection of Clips with metadata from the ALE columns.
    The ALE columns Name, Start, End, and Duration columns are turned into the clip name and source_range. The rest are just metadata.
  2. Added CDL support to the EDL adapter. (#143)

    jminor committed Sep 13, 2017
    Added CDL read and write support to the EDL adapter.
Commits on Jul 28, 2017
  1. Update

    jminor committed Jul 28, 2017
    Fixed line breaks.
  2. Bumping version number to Beta 0.6 (#141)

    jminor committed Jul 28, 2017
    Fixed the default target in the Makefile
  3. Public beta (#140)

    jminor committed Jul 28, 2017
    * Getting LICENSE.txt, etc. ready for public beta.
    * Added reference to EDL SMPTE spec in README.
    * Adding CLA PDFs
    * Updated CLA PDFs.
    * Added license header to all .py source files.
    * Small fixes so you can use different versions of Qt.
    * Fix to otioview when a timeline is empty.
    * Show the OTIO JSON in the details pane.
    * Try to guard against missing media_reference.available_range.
    * Lots of cleanup, pep8, doc strings, etc.
    * Add has_feature to adapter
Commits on Jun 29, 2017
  1. Fixing lint errors.

    jminor committed Jun 29, 2017