GNOME Bugzilla – Bug 708495
Reimplement the clip transformation (rotate, scale, resize) box in the viewer
Last modified: 2015-10-20 13:25:14 UTC
With the transition to GTK3, GES and other things, the clip cropping/resize UI tool was broken. We would get tracebacks such as:
+ Trace 232515
if value != self.effect.get_property(prop):
[...] File "clipproperties.py", line 517, in _expandedCb self.effect = self._findOrCreateEffect("frei0r-filter-scale0tilt") File "clipproperties.py", 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.
Oh yeah, and the old transformation box had various bugs: bug #656594, bug #656593, bug #656592, bug #662692 ...
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.
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.
This bug has been migrated to https://phabricator.freedesktop.org/T3064. Please use the Phabricator interface to report further bugs by creating a task and associating it with Project: Pitivi. See http://wiki.pitivi.org/wiki/Bug_reporting for details.