Week highlights: lots of under-the-hood work in GIMP, new features in Krita and Blender, new release of Kdenlive, CUPS changes the license, a variety of projects are wrapping up their GSoC participation for this year and post updates.

Graphics

Part of the GIMP team met at Chaos Communication Camp near Brandenburg (Germany) for a hackfest. They spent most of the week improving the new plug-in API and making plug-ins use it.

Additionally, Michael Natterer rewrote memory management for plug-ins, and Jehan (not present at CCC) merged his branch that adds object-oriented like approach (discussed in the previous week recap). He continued working on submission of signals from core to plug-ins in a separate git branch though.

There’s also some talk on IRC about adding a user preference for associated/non-associated alpha as a switch in the Image menu. Let’s wait for this to be actually delivered, but it’s good to know this is on the radar.

There haven’t been many feature changes in GEGL (save for the Meson port), but Øyvind Kolås added a proper greyscale color spaces support to the babl library and made a new release.

A few people asked me for an opinion on the fork of GIMP called Glimpse.

At first, I considered posting in detail about Glimpse but then thought better of it. Here is what I can say on the matter, and since I’m a GIMP contributor, please take this with an extra bag of salt.

GIMP team has been suggesting to fork it in extreme cases (such as rebranding) for years. It is perfectly fine to do so as per terms of GNU GPL, although, so far, most attempts have been unsuccessful.

Contributors to Glimpse have never been GIMP contributors in the first place, they aren’t known in the GIMP community, and they don’t seem to have any experience programming digital content creation software, so there is no real fragmentation so far.

I spent ca. two weeks on Glimpse communication channels to figure out if they are the real deal. There is a clear and rather disturbing difference between how Glimpse contributors/moderators claim they treat the upstream project and what they actually do and say about GIMP. This is the opposite of impressive.

The mutual hostility between supporters and haters of Glimpse doesn’t bring any value to the overall community. If you are among haters of Glimpse, please consider leaving them alone and letting them give it their best shot. Likewise, you are not getting anywhere by annoying GIMP developers.

The Krita team has been mostly fixing bugs. E.g. Dmitry Kazakov fixed absolute brush rotation on rotated canvas.

However, Boudewijn Rempt also reverted the removal of JPEG2000 support via OpenJPEG library that he did in 2016, and updated the code to use present-day API of the library. This is currently in a branch.

Miguel Lopez better known as Reptorian contributed Spiral and Reverse Spiral modes for the Gradient tool. This is really fun! I witnessed Reptorian going from being hard on developers on Reddit a few years back to becoming a valuable code contributor (delivering quadratic blending modes and a high pass filter). Take notes, people! :)

Nathan Lovato submitted GDquest’s Batch Export add-on to Krita for review and inclusion as part of the upstream project. Speaking of which, there’s another interesting merge request by Dmitrij Antsevich, adding an ‘Export Group as Layer’ switch for the exporting plug-in, so that each layer group would be flattened into a single respective layer for exporting.

The FontForge team is taking a new approach to communicating to users. Fred Brennan picked up the stale Twitter account and started turning it into pure gold by showing new features and recording quick video tutorials explaining the basics of using the font editor.

FontForge has always had a frustratingly buggy «Expand Stroke» feature. Scores of known issues in it exist.



With great joy, then, do I tease a replacement which works on any convex shape. While imperfect, it solves all known issues in its predecessor.



(Author: Skef Iterum) pic.twitter.com/xmhq5sdxYV — FontForge (@FontForge) August 20, 2019

CUPS 2.3.0 is out and now ships under the terms of Apache 2.0 license rather than GPL/LGPLv2, although Michael Sweet added a GPL/LGPL exception that you can read at the bottom of the NOTICE file. This shouldn’t come as a surprise given that Apple has been owning the project since 2007.

Back in July 2007, when Michael revealed the acquisition, he stated:

CUPS will still be released under the existing GPL2/LGPL2 licensing terms, and I will continue to develop and support CUPS at Apple.

Well, this lasted a whopping 12 years.

On the code level, the new release adds support for IPP presets and finishing templates, brings a variety of bugfixes, and includes a new ippeveprinter utility (based on the old ippserver sample code). For more info, see the release log (some new features are mentioned in respective release logs of betas and release candidates).

Animation

Synfig had a successful Google Summer of Code participation. Here are reports from their students:

It’s been a while since I last posted anything about Pencil2D. Most work these days is done by Oliver Stevns and someone known as scribblemaniac. Over the summer, they improved the UI here and there, added configurable constraint rotation, and fixed some bugs. The work isn’t very fast but rather steady which is great. Their latest release was done at the spring/summer edge, you can read more about it here.

The OpenToonz team has been applying pull requests on GitHub in batches lately. This may or may not mean there is a new release coming.

3D and VFX

Pablo Vasquez did another awesome review of recent changes leading up to Blender 2.81: outliner changes, Intel’s denoiser, voxel remesher, Math node etc.

Some of the other new things in Blender are:

White Noise node

New snap options: Edge Center and Edge Perpendicular

New Grease Pencil operator Merge by Distance

Even more, there’s a new proposal for updated particle nodes UI which deals with issues pointed out in the previous proposals, namely, the connection between particle types and their behaviors not being obvious enough, and many (potentially) disorganized floating nodes in the node tree.

Soft8Soft finally released Verge3D 2.14 for Blender 2.80, featuring augmented reality support (WebXR), morph target controls and a parametric models demo, font loading and texture-from-text features, normal map generator and more.

Gray Olson posted the final update on her GSoC project for appleseed for which she created a unified viewport in appleseed.studio displaying several possible views of a scene, allowing to switch between them and overlay data and widgets on top of it.

Jeremy HU, who also got Epic MegaGrant in July, keeps posting updates on Dust3D.

Game design and programming

Godot’s: 8 Google Summer of Code students are doing fine. Here is the latest report.

There’s also a very much welcome update from Hugo Locurcio:

A new and improved Project Manager UI has landed in #godotengine! Here's a before/after comparison: pic.twitter.com/CumuBM57lY — Hugo Locurcio (@HugoLocurcio) August 20, 2019

CAD

WandererFan added an alpha version of a welding symbol editor to the master branch of FreeCAD and is looking for input from users. Some nightly builds are available.

The OpenOrienteering Mapper team have been steadily releasing new development version with new features and bugfixes. Some of the changes over the summer are: mobile version for Android, experimental OCD 2018 importing and new OCD exporting (version 8-12, including georeferencing), GeoTIFF support, improved CMYK PDF exporting. Have a look for yourself and maybe give it a spin.

SolveSpace is getting long overdue development love from contributors who are now taking over the project from whitequark. This is not an easy process, you probably shouldn’t expect releases any time soon, but we’ll see.

Video

Kdenlive 19.08 was out earlier in August. Some of the release highlights:

3-point editing (at last!)

Simple speed adjustment by Ctrl+dragging edges of the clip

Configurable number of channels and sample rate in the audio capture settings

Clip transcoding re-enabled

Default fade duration is now configurable

For more information, please see release notes.

New features never stop arriving to Blender Power Sequencer:

Adding a new useful feature to the trim tool - Blender's vse doesn't treat gaps as selectable elements. Power Sequencer 1.4 will be there to help!https://t.co/f57tcqii5t pic.twitter.com/XkHZDCccTI — GDQuest (@NathanGDquest) August 21, 2019

Music

There was an interesting discussion about UI on Ardour’s IRC channel after last week’s interview with Oleg Kapitonov, and the immediate result was that Robin Gareus replaced text captions with icons on buttons in plug-in windows. So when you use plug-ins with narrow natrive UIs, the dialog won’t be as wide as before.

Robin keeps improving icon-related code ever since. He also bundled x42-tuner with Ardour and dropped rule-based midifilter.

Meanwhile, Len Ovens resumed his work on the foldback bus. Essentially it’s a software implementation of stage monitoring where an output is tailored for a performer to help them hear themselves. The new code is, um, really, really new. A lot more will follow.

And yes, all this new stuff will eventually be part of Ardour 6.

New version of VCV Rack is out with bugfixes and new API features.

Tutorials

The Blender team continues releasing videos on 2.80 features (there’s a separate playlist on YouTube for that). The most recent addition is a video on sculpting tools:

New kickass 1-minute Blender tutorial from Ian Hubert, this time on creating post-apocalyptic cities:

Lazy tutorials #8- making a post apocalyptic city! If you use the amazing BoolTool addon, it makes the whole process way easier. #b3d #blender3d #tutorial #city pic.twitter.com/wuOH38Dpdx — Ian Hubert (@Mrdodobird) August 20, 2019

Chris Kearford posted a ‘Non-photorealistic explosions with Blender’ tutorial with a few videos .

New tutorial from GDquest on using physics layers and masks in Godot:

Fred Brennan posted a tutorial on changing the ascender, cap height, x-height, & descender:

Ramon Miranda explains 10 tricks to paint faster and better in Krita:

Art and showcases

Great work by Philipp Urlich, made with Krita:

More speedpainting with Krita by Sylvia Ritter:

Financials

Last Sunday, I woke up to a whopping 600 euro donation from Simon Repp. Simon works in multiple disciplines, both graphics and music. So I think I probably didn’t entirely mess up by going beyond the topic of image editors and 3D :) Thank you, Simon!