After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 668056 - Auto-ripple / magnetic timeline
Auto-ripple / magnetic timeline
Status: RESOLVED FIXED
Product: pitivi
Classification: Other
Component: Timeline
Git
Other Linux
: Normal enhancement
: 0.91
Assigned To: Jean-François Fortin Tam
Pitivi maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-16 21:28 UTC by Jean-François Fortin Tam
Modified: 2013-04-04 20:29 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jean-François Fortin Tam 2012-01-16 21:28:46 UTC
Add a pushbutton on the timeline toolbar (and a checkbox menu item in the Timeline menu) to enable automatic ripple (on move) and roll (on trim) for clips on the timeline.
Comment 1 Jean-François Fortin Tam 2012-01-20 04:03:48 UTC
In addition to this, when the magnetic timeline mode is active, if you have clips like this:

[  A  ][  B  ][  C  ][  D  ]

...And you want to simply "reorder" them chronologically,
then dragging C "between" A and B could swap the position of C and B (ideally with a pretty animation where B "slides" out of the way). Holding the shift key would allow bypassing this behavior and forcing C to be put on top of A and B (creating two crossfades).
Comment 2 Thibault Saunier 2012-01-20 12:36:55 UTC
This last one seems more tricky to me, because in automatic ripple mode, you would actually... ripple. So it means that if could work in your example (moving C before B (and react as you just explained), but in the case you want to move B between C and D... you can't as it would ripple C and D to. As a reminder, rippling works from 'left to right', but not the other way.
Comment 3 Jean-François Fortin Tam 2012-04-26 03:58:02 UTC
Thibault, regarding comment #1, when dragging a clip between two clips, GES could analyze if the two clips (A and B) are already snapped or if there’s a gap between them?
- If there is no gap, create a gap to insert the clip you’re dragging.
- If there is a gap, inserte with transitions inbetween A-C and C-D.
Comment 4 Jean-François Fortin Tam 2013-03-15 20:35:37 UTC
Got a branch that theoretically fixes the Pitivi side of this, my "autoripple-button" branch on github.

However, I'm not sure why, when the button is active at start (it remembers the last state) this doesn't seem to work. Perhaps that's caused by the traceback I often get when trimming clips right from the start? (which might be due to gnonlin or ges):

Traceback (most recent call last):
  • File "utils/pipeline.py", line 394 in _busMessageCb
    self.getDuration()
  • File "utils/pipeline.py", line 287 in getDuration
    self.log("Got duration %s" % print_ns(dur))
  • File "utils/misc.py", line 72 in print_ns
    str((time / Gst.SECOND) % 60) + ':' + \
TypeError: unsupported operand type(s) for /: 'NoneType' and 'int'

Comment 5 Jean-François Fortin Tam 2013-04-04 20:29:49 UTC
commit e643fb547fe9a49d831d31e8e278124992c55291
Author: Jean-François Fortin Tam <nekohayo@gmail.com>
Date:   Fri Mar 15 16:29:54 2013 -0400

    Add a button to toggle a "gapless" (auto-ripple) timeline mode
    
    Fixes bug #668056