Skip to content

Conversation

ggarra13
Copy link
Contributor

@ggarra13 ggarra13 commented Aug 20, 2023

This commit is for:

Implements #1649.
Makes PR #1518, PR #1650 and PR #1651 obsolete.

It implements edit commands in the otio::algo:: namespace. The commands implemented are those discussed in #711.

They are further explained more clearly in:
https://github.com/mccartnm/OpenTimelineIO/blob/openedit_design/docs/design/editorial_design.md

Summarize your change.

It implements the needed base commands for editing with otio, building on top of @darbyjohnston's PR.

@darbyjohnston 's PR #1518 was the base for it, but I debugged two subtle precision bugs in his code and moved it all to the algo:: namespace.

Implementation also modifies errorStatus.h/cpp to add NOT_A_GAP enum.

Implementation, as @darbyjohnston's, makes Composition's protected _index_of_child a now public member of the API as index_of_child and updates track.cpp accordingly.

Reference associated tests.

test_editAlgorithm.cpp is added as in @darbyjohnston, but with tests for all commands.

I have now tested the commands on an actual application. The commands overwrite, insert, slice have been tested on mrv2.

Signed-off-by: Gonzalo Garramuño [email protected]

@codecov-commenter
Copy link

codecov-commenter commented Aug 21, 2023

Codecov Report

Merging #1654 (9952412) into main (eaf8569) will decrease coverage by 0.08%.
Report is 3 commits behind head on main.
The diff coverage is 23.07%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1654      +/-   ##
==========================================
- Coverage   79.91%   79.83%   -0.08%     
==========================================
  Files         197      197              
  Lines       21731    21753      +22     
  Branches     4339     4351      +12     
==========================================
+ Hits        17366    17367       +1     
- Misses       2213     2234      +21     
  Partials     2152     2152              
Flag Coverage Δ
py-unittests 79.83% <23.07%> (-0.08%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed Coverage Δ
src/opentimelineio/composition.h 41.37% <ø> (ø)
src/opentimelineio/errorStatus.cpp 28.33% <0.00%> (-0.98%) ⬇️
src/opentimelineio/errorStatus.h 86.95% <ø> (ø)
src/opentimelineio/track.cpp 52.85% <0.00%> (ø)
src/opentimelineio/composition.cpp 47.58% <30.00%> (ø)

... and 3 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update eaf8569...9952412. Read the comment docs.

Copy link
Collaborator

@meshula meshula left a comment

Choose a reason for hiding this comment

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

This is fantastic. I have some questions that I am hoping you can answer as new comment documentation, where I have asked the questions?

Someone can discover the answers to the questions by reading the code, but I think it would be good to have the explanation in the header for easy reference.

Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
    Finished edit algorithms.

Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Added more overwrite() corner cases and tests.

Fixed effects() being cleared on a fill fit.

Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Signed-off-by: Gonzalo Garramuño <[email protected]>
Copy link
Collaborator

@meshula meshula left a comment

Choose a reason for hiding this comment

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

thanks for updating the docs

@reinecke reinecke changed the title Tested editing commands on actual application and added more unit tests. Experimental Editing Commands Oct 27, 2023
@reinecke reinecke merged commit bd7ae17 into AcademySoftwareFoundation:main Oct 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants