PiTiVi status update for Q1 20134 min read

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

New features:

  • 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
  • Undo/redo
  • 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

Comments

9 responses to “PiTiVi status update for Q1 20134 min read

  1. great! sorry, hadn’t been following development lately, nice to see so much progress being made!
    last version I tried was 0.15.2, is that horribly out of date by now? perhaps I should figure out how to build git again…

  2. Hi Bassam! I’d suggest at least waiting after the hackfest to probe around pitivi git: until we fix GNonLin and such, there isn’t much to see yet… unless you want to help out debugging/hacking!
    Sadly, until then, 0.15.2 is still the only “production-ready” version for the time being.

  3. That’s great to see all these developments
    I’ve made a $20,00 CAD donation so you can have some beers at the GStreamer hackfest ๐Ÿ™‚

    1. Hehe, it seems you read my mind… the plan is to get the GStreamer hackers “just drunk enough” for them to fix our bugs ๐Ÿ™‚ and I do plan to include the amounts spent on such fine beverages in my report (to the extent that someone can keep track of those things…)

  4. How goes the GES port? Is that all fleshed out or still a work-in-progress?

    1. It’s “done”, depending on your definition of done: Pitivi’s codebase has been irrevocably ported to GES last summer, then to GTK3 and GStreamer 1.0.
      What remains is to fix GNonLin for GStreamer 1.x, reimplement some missing features in GES (ex: audio mixing) and “connect the wires” in Pitivi (ex: resurrect a nice UI for controlling the audio mixing on clips).

  5. Gerry Button Avatar
    Gerry Button

    Hello!
    All of this fixes and features look great, really looking forward to them, any time frame on when they can be expected? I’m planning a big project and I plan on using Pitivi as my main video editor.

    1. I’m unable to provide a release timeframe until we at least get GNonLin properly fixed and tested, sorry!

  6. Sami Lahtinen Avatar
    Sami Lahtinen

    Hi!
    It’s really good to see something happening with the editor. I might have missed on some development work, but I somehow got the feeling nothing was being done, but it’s good to see I was wrong!
    Thanks for all your efforts on creating possibly the best video editing experience on Linux!