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 708495 - Reimplement the clip transformation (rotate, scale, resize) box in the viewer
Reimplement the clip transformation (rotate, scale, resize) box in the viewer
Product: pitivi
Classification: Other
Component: User interface
Other Linux
: Normal major
: 0.95
Assigned To: Lubosz Sarnecki
Pitivi maintainers
Depends on: 594752
Blocks: 656592 656593 656594 662692 675449
Reported: 2013-09-20 20:32 UTC by Jean-François Fortin Tam
Modified: 2015-10-20 13:25 UTC
See Also:
GNOME target: ---
GNOME version: ---

Description Jean-François Fortin Tam 2013-09-20 20:32:28 UTC
With the transition to GTK3, GES and other things, the clip cropping/resize UI tool was broken. We would get tracebacks such as:

  • File "", line 566 in _onValueChangedCb
    if value != self.effect.get_property(prop):
AttributeError: 'NoneType' object has no attribute 'get_property'
File "", line 517, in _expandedCb
    self.effect = self._findOrCreateEffect("frei0r-filter-scale0tilt")
    File "", line 602, in _findOrCreateEffect
        self.effect = list(list(a.elements())[0].elements())[1]
AttributeError: '__main__.GnlOperation' object has no attribute 'elements'

Currently, the code has been entirely DISABLED in Pitivi 0.91.
We need help to bring it back from the dead.

It needs:
- To be ported to use the new mixing/video compositing API of GES
- To be ported from the frei0r scale0tilt filter/effect,
  to only use a pure combination of GStreamer elements.

Possibly, we might need:
- to reimplement the UI parts of it using Clutter and a ClutterSink for the viewer... that is, if Clutter survives in the era of Wayland and GTK4. Big if.
Anyway,  will need to reimplement that properly using the new mixing API from GES, and probably a cluttersink.
Comment 1 Jean-François Fortin Tam 2013-09-20 20:34:58 UTC
Oh yeah, and the old transformation box had various bugs:
bug #656594, bug #656593, bug #656592, bug #662692 ...
Comment 2 Mathieu Duponchelle 2013-09-30 22:06:01 UTC
I will add that a first step for this will be to find the best generic way to handle input from the viewer and draw on it, something that would not rely on a specific sink.

Once that interface is done, multiple use cases including the transformation box will take it to their advantage.
Comment 3 Mathieu Duponchelle 2013-10-02 17:12:20 UTC
For the record, I'm taking the direction of cluttersink now, seems like a very viable option, I have an experimental branch for that that I will link soon.
Comment 4 Thibault Saunier 2015-10-20 13:25:14 UTC
This bug has been migrated to

Please use the Phabricator interface to report further bugs by creating a task and associating it with Project: Pitivi.

See for details.