Time for a little report on recent improvements in Pitivi. Nothing earth-shattering to make you drool with envy; just a lot of fixes, cleanup and improvements to small details. Next week, we will be in Milan for the GStreamer hackfest, so I’ll make sure to give you a nice report on what we managed to accomplish there.
Here’s a list of fixes in Pitivi since my last blog post:
- Fixes for our automated UI tests, including interaction with the filechooser dialogs, the spinbutton widgets (see this bug report), the typing speed, etc.
- Fixes and cleanup for backend tests
- Enforce unicode in preset names, preventing a bug with non-ASCII chars are used in the name of a preset
- Allow presets with “/” in their name
- Fix drag and drop from the media library’s listview mode
- Prevent playing back clip previews in double (that was a subtle one, since windows were exactly on top of each other)
- Make the media library clip previewer work even when the application is in fullscreen mode
- Make effect properties work again
- Take into account project settings in the main window when loading a project
- Conform to the new version of the Freedesktop specification for thumbnail directories
- Make special characters show up correctly in the media library’s iconview mode, remove the ancient filename shortening code and rely on Pango instead.
- Properly handle clip URIs encoding, ensuring that we can find the thumbnails for all files. Also do last-minute checks for that encoding before computing thumbnail hashes.
- Avoid excessive work when searching clips in the media library, improving performance
- Handle special characters in the media library’s search entry
- Force calculating the toolbar height at the last minute to properly handle all screen setups in fullscreen
- Scale down effects thumbnails to fit better in the new listview arrangement
- Fix a race between clicks on the preview widget’s slider and position updates. When using it in the media library/file chooser, the slider would often “jump” back to its previous position instead of seeking. The new behavior is now smooth and reliable.
- Ensure the welcome dialog is initially centered on its parent
- Bring back the checkbox to enable/disable effects
- Initialize GES to prevent a segfault from occurring on some machines at startup
- Make rectangle selection work again in the media library’s iconview mode
- Make the “Restore from backup” dialog modal to the main window
- Automatically adjust the zoom when inserting to the end of the timeline
- When the viewer is undocked, provide a button to toggle fullscreen mode
- New icons for split, group/ungroup and align
- Specify the duration of missing/moved files when prompting the user about their new location
- Update effect categories, merge “Noise” and “Blur”, add a “Compositing” category, categorize new effects
- Automatically save the last used render directory
- Stop rendering when the user presses Escape
- Use symbolic icons everywhere where it makes sense (in the media library toolbar, property reset buttons, lists, etc.)
- Use the system’s default image viewer to preview images from the media library
- Update the preview widget slider on a more frequent basis, giving it a snappier feeling
- Automatically save and restore the main window’s position. This is especially useful when using detached utility windows.
- Hide the effects toolbar when nothing is selected
- Add a contextual help button in the render dialog to explain container formats
- Allow entering a frame number into the time widget
Architectural changes and cleanups:
- Clean up the build, prune useless files, simplify and centralize the list of dependencies
- Refactor dependency checks to be more reliable and provide a faster application startup
- GES Assets (implemented in GES and integrated in Pitivi), including the notion of GES Project among other things. This paves the way to many other improvements.
- A revised and simplified API has been implemented in GES and integrated in Pitivi. You can see this new API online in the GES API hierarchy documentation.
So yeah, that’s the summarized version… with refactoring and cleanup all over the place, there’s more than a hundred commits (excluding translations).
Stuff that still needs to be done (as always, we need your help here):
- Need to refactor the timeline UI code and the clip transformation UI
- Improving/expanding the UI tests, see the test suite wishlist
- Figure out how to better integrate the “welcome dialog”
- Figure out how to shave off the menu bar and how GTK AppMenu will work with accessibility technologies (and Dogtail)
- Improve the title editor UI
- Improve the timeline thumbnailer
- Reimplement the notion of grouping in GES
- Reimplement video compositing and audio mixing. Properly. In GES.
- Make a new keyframe UI that doesn’t suck. Integrate it for audio volume curves and to provide animatable effect properties.
- Fix… all the bugs! _o/
- Insert your own itch to scratch here
Ongoing work in my own/personal repository:
- Custom effect UIs
- New high-resolution icon (pictured above), new mimetypes
- Automatic rippling
- Resurrecting the codecs installer
Latest posts by Jeff (see all)
- Liberté logicielle et matérielle, compte rendu de l’émission La Sphère du 16 septembre - October 5, 2017
- Painting two old friends—Tintin vs Sephiroth - June 11, 2017
- Defence against the Dark Arts involves controlling your hardware - March 18, 2017