1. 29 Aug, 2018 2 commits
  2. 20 Jul, 2018 1 commit
  3. 28 Aug, 2017 1 commit
    • Stefan Popa's avatar
      Keyframes for transformation properties. · 900ebc4e
      Stefan Popa authored
      Added the possibility to add/remove keyframes on transformation
      properties + visual keyframe curve.
      
      When adding or moving a keyframe, we don't use the matplotlib position
      anymore. Instead, we compute the position the same way we do for the seek
      logic, to make sure the playhead seeks precisely on the added/moved keyframe.
      This change led to some other changes in the unit test which tested the
      keyframe curve. More precisely, we needed to compute the position in pixels
      for the click events, as that is how the seek logic received it.
      
      Differential Revision: https://phabricator.freedesktop.org/D1766
      900ebc4e
  4. 19 Feb, 2017 1 commit
  5. 26 Jan, 2017 3 commits
  6. 04 Jan, 2017 1 commit
    • Alexandru Băluț's avatar
      project_: Keep the assets undoable actions as the user expects · 675e0698
      Alexandru Băluț authored
      We were starting an undoable-action-log transaction when a new asset was
      added to the project. This was very ugly because by the time that
      transaction was closed, the user was able to make other operations on
      the timeline and those were included in the initial assets-added
      transaction.
      
      This got worse with the proxy functionality since that transaction can
      now take a very long time until complete, which means the undo/redo
      stack was easily messed up.
      
      Taking advantage of the fact that it does not really matter when the
      assets are actually added to the project, we now record the intention of
      adding them, or the intention of proxying them. Then when they are ready
      to be used, the user can use them and all should be fine.
      
      Fixes https://phabricator.freedesktop.org/T7531Reviewed-by: Thibault Saunier's avatarThibault Saunier <tsaunier@gnome.org>
      Differential Revision: https://phabricator.freedesktop.org/D1575
      675e0698
  7. 11 Dec, 2016 1 commit
  8. 06 Oct, 2016 1 commit
  9. 14 Sep, 2016 2 commits
  10. 23 Jun, 2016 1 commit
  11. 22 Jun, 2016 3 commits
    • Alexandru Băluț's avatar
      undo: Fix undo ops on obsolete video transitions · 6f558f1b
      Alexandru Băluț authored
      If the user changes a transition and then later removes the clip and
      then even later starts undoing and gets back to the
      PropertyChangedAction corresponding to the transition change, the
      action was keeping the old transition clip object and working on it
      instead of the replacement.
      
      The new UndoableAutomaticObjectAction superclass of
      PropertyChangedAction keeps track of the latest object and the mapping
      from old to new objects. It's notified when a replacement is found in
      the TransitionClipRemoved.undo method, for now. This allows
      PropertyChangedAction to work on the latest object.
      
      PropertyChangedAction is used also for other types of objects, not only
      GES.VideoTransition, but the overhead is only a dictionarly lookup when
      undoing or redoing.
      
      Differential Revision: https://phabricator.freedesktop.org/D1096
      6f558f1b
    • Alexandru Băluț's avatar
      undo: Restore the transitions details when readding a clip · 6e87daba
      Alexandru Băluț authored
      When a clip which generated a transition is removed, the transition is
      also removed. When the operation is undone, the transition is
      recreated. The props were being lost though.
      
      Now the action log has a new ExpandableUndoableAction class which is
      able to include (merge) the actions coming right after it. We use this
      for the ClipRemoved action pushed when an UriClip is removed. In our
      case, first the UriClip is removed and then the transition clip(s). The
      ClipRemoved is able to include now the following TransitionClipRemoved
      actions and applies them when undoing *after* it has added the clip
      back.
      
      TransitionClipRemoved searches for the corresponding transition clip in
      the same layer and applies the props of the video element.
      
      Differential Revision: https://phabricator.freedesktop.org/D1095
      6e87daba
    • Alexandru Băluț's avatar
      undo: Allow undoing transition changes · 33ebe5c8
      Alexandru Băluț authored
      This simply handles the props of the video element of the transition
      clip.
      
      Differential Revision: https://phabricator.freedesktop.org/D1042
      33ebe5c8
  12. 20 Jun, 2016 1 commit
  13. 17 Jun, 2016 3 commits
  14. 02 Jun, 2016 3 commits
  15. 31 May, 2016 1 commit
  16. 30 May, 2016 1 commit
  17. 22 May, 2016 7 commits
  18. 21 May, 2016 1 commit
  19. 16 May, 2016 1 commit
  20. 06 May, 2016 1 commit
  21. 05 May, 2016 2 commits
    • Thibault Saunier's avatar
    • Thibault Saunier's avatar
      undo: Fix DND of clips in the timeline · 2ef4a098
      Thibault Saunier authored
      Drag and dropping works like that:
      
      - We receive some dragged clips in the timeline
          - We add those to the timeline
          - The user eventually drags a bit more the clips
          - we create a EditingContext to move the clips
      
      Then we have 3 options:
      
      1- The user drops the clips when he is happy
          - We get a "leave" event on the timeline
              - We create a list of set of (layer, clip) in
                self.__last_clips_on_leave to remember the clips
                the were added to the timeline
          - The user releases the mouse button
              - We get a "drop" event
                  - We re add all the previously cached clips to
                    the timeline
      
      2- The user changes his mind and goes outside the timeline
          - We get a "leave" event on the timeline
              - We create a list of set of (layer, clip) in
                self.__last_clips_on_leave to remember the clips
                the were added to the timeline
          - the user releases the mouse button (nothing else happens)
      
      3- The user gets out of the timeline (maybe not on purpose)
          - We get a "leave" event on the timeline
              - We create a list of set of (layer, clip) in
                self.__last_clips_on_leave to remember the clips
                the were added to the timeline
          - The user comes back to the timeline
              - We re add all the previously cached clips to
                the timeline
          - The user releases the mouse button
              - We get a "drop" event
                  - We re add all the previously cached clips to
                    the timeline
      
      In the do/undo system what we care is only where the clips were added
      when they were definitely added, so in that patch we stop tracking
      any action happening when it is not the final decision.
      
      This means that the only thing we take into account now is the last
      " - We re add all the previously cached clips to the timeline" action
      and ignore anything else.
      Reviewed-by: Alexandru Băluț's avatarAlex Băluț <alexandru.balut@gmail.com>
      Differential Revision: https://phabricator.freedesktop.org/D976
      2ef4a098
  22. 30 Apr, 2016 2 commits