I Use This!
Very High Activity

News

Analyzed 1 day ago. based on code collected 1 day ago.
Posted almost 5 years ago by Alexandre Prokoudine
Last weekend, we released a new version of GEGL, graph based image processing framework used by GIMP and other free/libre graphics applications. Here are some of the most important changes. There are two new operations: Saturation (works in both CIE ... [More] LAB and CIE LCH color spaces) and the port of GIMP’s Selective Gaussian Blur filter. The operations for loading and saving video frames have been updated to work with FFmpeg 3.0. We also disabled the dcraw-based operation for loading raw images by default: the LibRaw-based operation does the job just as well and provides a better API. Additionally, there have been some improvements in the ‘gegl’ binary: now you can change graph composition (namely, connect buffers to aux and other input pads) via the command line, and when a project is loaded for viewing, you can zoom in/out at cursor position on scroll wheel events. Moreover, you can now specify properties of operations on the command line, e.g.: $ gegl input.png -o output.png -- threshold value=0.23 Among general improvements, copy-on-write handling for the gegl_buffer_clear function is now available. This should make clearing of buffers an initially cheaper and faster operation, with the actual allocation of tile memory (copying) amortised over subsequent pixel data writes to the buffer. GEGL 0.3.6 is available at download.gimp.org. There are still many GIMP filters to be rewritten as GEGL operations. Contributions are welcome! [Less]
Posted almost 5 years ago by Michael Schumacher
For the past few weeks, we have been receiving reports that some users can’t download our installer packages for the Microsoft Windows platforms. Microsoft Edge and Internet Explorer 11 mark them as corrupt and discourage users from running them. ... [More] Turns out this is a policy change by Microsoft, gone into effect on January 1, 2016. The new policy affects all kinds of security certificates as of specific deadlines, and this includes code signing certificates. Jernej Simončič, who creates the Windows installer packages, signs them to make their authenticity verifiable. But the way this signature is done is no longer considered safe by Microsoft, and there are justified technical reasons for that. Administrators and users of Microsoft Windows systems are well advised to make themselves familiar with the implications of this policy; the TechNet article on the subject is available at Windows Enforcement of Authenticode Code Signing and Timestamping. We are working to resolve the issue — this requires a more recent code-signing certificate and signing the installer packages with it. Stay tuned for updates. As a temporary workaround, you can use other web browsers to download the installer packages. [Less]
Posted almost 5 years ago by Pat David
As part of building a new GIMP website we had to sort through all of the legacy pages in order to migrate content properly. A nice side effect of this sorting included addressing tutorials that were out of date (or in some cases, really out of date). ... [More] This gave us an opportunity to re-build the tutorials index to focus on (more) current content as well as ensure that everything is being licensed in a permissive manner. Cool URIs don’t change¶ It was true in 1998 and is still just as true today. Possibly more so. Great care was taken to make sure that we didn’t break all of the inbound links to the old tutorials during the site update. This means that if there were any links to the previous tutorials they will still work. They are still at the same URL they had always been. What we did change was the listing of tutorials on the index page: www.gimp.org/tutorials/ That list now includes only more current content that has been permissively licensed for use. If you need the deprecated tutorials for some reason, see the complete list. An unfortunate side-effect of pruning old material is that we are now a little light on good tutorials… Help Write More Tutorials¶ Which is where you, the community, comes in! If you were looking for a way to contribute to the project, and you don’t feel up to coding*, this is a great way to share and help others learn GIMP. We encourage you to come tell us about your tutorial on the gimp-user mailing list or, even better, drop by the IRC channel and let us know what you’re thinking (this is strongly encouraged to make sure there’s not something already being worked on)! *Of course, if you do feel up to coding we’d love to hear from you too! There’s usually helpful team members around who can guide you with both ideas and content if needed. We have a tutorial template, and you can find the markdown file used to generate it in git. We can use tutorials of all types and skill levels, so don’t feel intimidated by what you might see on the current tutorials page. Indeed many common questions we see might have solutions that are not obvious to others - the perfect opportunity to write a tutorial about it! We’ll absolutely consider all proposed tutorials. New Tutorial - Tone Mapping with Levels¶ Speaking of tutorials, Elle Stone has just published a new tutorial on doing some simple tone mapping and shadow recovery of images using high bit depth GIMP and the GEGL Exposure operation. The GEGL Exposure dialog. The tutorial covers a method for adding exposure compensation to an image’s shadows and midtones while retaining highlight details. She does this using Exposure and combining the results with a mask based on a grayscale version of the working image (similar to using a luminosity mask). This is also one of the first tutorials using the high bit depth version of GIMP. Head over to the tutorials page and have a look: Tone Mapping and Shadow Recovery Using GIMP’s ‘Colors/Exposure’ [Less]
Posted almost 5 years ago by Alexandre Prokoudine
With the upcoming GIMP 2.10 release we intend to finally close the time gap between releases of source code, installers, and the user manual. This means that we need a more coordinated effort between the GIMP developers team and the GIMP User ... [More] Manual team. For the past several months we’ve already been working on GIMP mostly in bugfix mode. It’s time to start updating the user manual to match all the changes in GIMP 2.10, and we would appreciate your help with that. What Needs Doing¶ Updating the content. There have been a lot of changes since 2.8. For quite a while, we’ve been maintaining a structured list of changes in 2.10 specifically to assist technical writers in updating the user manual. Translating the content. At some point we’d like to “freeze” the documentation so that translators could start updating localized versions of the user manual. Since GIMP is hosted at GNOME, you would have to contact your local GNOME translation team to get involved. Resurrecting PDF builds. Years ago we chose DocBook/XML as a way to build both web (HTML) and printable (PDF) copies of the user manual from a single source. Unfortunately, there appear to be some issues with building PDF files presently. Someone would have to investigate, what’s causing this, and act accordingly. Adding Search to the Online Docs. We’ve heard a number of requests to add basic search to the online docs. If you have an idea how to do that, please contact us. How To Contribute¶ Technical documentation on hacking on the user manual is available in the respective Git repository. The primary communication environment for all things documentation in the project is the gimp-docs@ mailing list. We encourage you to talk to fellow team members publicly about which part of the documentation you are hacking on. This is because efficient collaborative effort requires full transparence. If you have technical questions about features in GIMP 2.10, you can use either gimp-docs@ mailing list or join the IRC channel, ask your question, and stick around for the answer. We do not yet have an estimated time of arrival for GIMP 2.10, but there’s only so much time we can spend on completing this release before we can move to the next development cycle. [Less]
Posted almost 5 years ago by Michael Schumacher
With the past few releases, users on the 32-bit versions of Microsoft Windows platforms were plagued by an annoying bug — resizing a window crashed GIMP. We believe this to be fixed, and have released an updated installer. The crash was caused by a ... [More] problem in libpixman, and is fixed in current version of this library. This has been packaged, so if you were suffering from this issue, you can get an updated installer from our downloads page. [Less]
Posted almost 5 years ago by Alexandre Prokoudine
New version of GEGL and babl are out with new features, minor improvements, and fixes. These releases in particular are intended to accomodate upcoming GIMP 2.9.4 that depends on several important bugfixes from both babl and GEGL. However there have ... [More] been some interesting new features. First of all, now GEGL operations can report processing progress so that GIMP or e.g. GNOME Photos could correctly render progress indication. So far this is only used in two operations, gegl:cartoon and gegl:distance-transform. We expect to propagate this new feature to more operations in the coming releases. Secondly, linear and cubic resamplers provide better default image quality at downscaling now. In terms of quality, the output is comparable to that of NoHalo and LoHalo samplers, but processing time is shorter. Additionally, file handlers finally register MIME types for loaders and try to guess file types by analyzing file content before falling back to file extension detection. This makes the file loading routine a little smarter. Finally, the ‘gegl’ binary keeps getting more features like simple video filtering and encoding audio alongside video. For the first time in quite a while a new GEGL release contains no new ports of existing GIMP filters. This is because there have been no related contributions for the last few months. There is still a lot of work to do, and we greatly appreciate your help with getting more filters ready for non-destructive workflows. The complete list of changes is available in the NEWS file. Tarballs are up at download.gimp.org/. [Less]
Posted almost 5 years ago by Pat David
If you happen to be anywhere near Austin, TX next weekend (July 8-9) then mosey on down to Texas Linux Fest 2016 and meet some of your friendly neighborhood GIMP crew! Akkana Peck and Pat David will be hosting a photowalk from 0900-1100 on ... [More] Friday, July 8th (first day of the meeting) to socialize, talk photography, and capture some images for their workshop sessions later that same day. Pat will be talking about various Free Software photography tools and using them to create high quality results. Akkana will focus on using GIMP as a primary photo editing tool. Both sessions will be immediately following the photowalk, before and after lunch. They will also be in attendance for the “Graphics Hackathon” at the end of the first day. They are part of a full “open graphics” track on the first day that includes Ted Gould creating technical diagrams using Inkscape, Brian Beck doing a Blender tutorial, and Jonathon Thomas showing off OpenShot 2.0! More information can be found on the 2016 Texas Linux Fest website. We look forward to seeing you there! [Less]
Posted almost 5 years ago by Wilber
We have just released the second development version of GIMP in the 2.9.x series. After half a year in the works, GIMP 2.9.4 delivers a massive update: revamped look and feel, major improvements in color management, as well as production-ready ... [More] MyPaint Brush tool, symmetric painting, and split preview for GEGL-based filters. Additionally, dozens of bugs have been fixed, and numerous small improvements have been applied. GIMP 2.9.4 is quite reliable for production work, but there are still loose ends to tie, which is why releasing stable v2.10 will take a while. Please refer to the Roadmap for the list of major pending changes. Revamped User Interface and Usability Changes¶ The new version features several new themes by Benoit Touchette in various shades of gray: Lighter, Light, Gray, Dark, Darker. The system theme has been preserved for users who prefer a completely consistent look of user interfaces across all desktop applications. Note that we still consider this feature a work in progress, as dark themes still need some fine-tuning (especially regarding the color of inactive menu items). The new UI themes are accompanied by symbolic icons originally created by Barbara Muraus and Jakub Steiner, and heavily updated and completed by Klaus Staedtler. The existing icon theme from past releases of GIMP has also been preserved, and users can freely switch between available icon themes and easily add their own ones. Note that themes and icon themes are now separate: you can easily mix your favorite UI with various icon sets. Also since most 2.8 themes would end up broken in 2.9.x, themes are not migrated from GIMP < 2.9. Users who want custom themes will have to install ones specifically made for GIMP 2.9/2.10. All work on icons by Klaus Staedtler is made on vector (SVG) images, which should allow better support for HiDPI displays (also commonly known as Retina) soon. Vector icons are an experimental feature, available after using the --enable-vector-icons build configure option. Note that this option does not allow HiDPI support at this time. We cleaned the Preferences dialog a little and reordered options in a more logical manner. The Color Management page was redesigned following both internal and user-visible changes in relevant parts of GIMP (see below), and the Snap Distance options have been moved to a dedicated Snapping page. Additionally, it is now possible to configure the size of undo step previews in the Undo dialog via the Preferences dialog, which was previously only possible by manually editing GIMP’s configuration file GIMP’s configuration file, by a complete oversight on our part. The startup splash screen now features a pulsing progress bar to indicate that GIMP is not frozen. This, as well as initializing fontconfig in the background (also a new feature in 2.9.4), is meant to address a common issue where rebuilding the fonts cache (or building it for the first time) can take a lot of time hence making an impression that GIMP freezes at startup. We acknowledge that this is a workaround. Fixing the actual reason involves hacking on fontconfig. If you are interested, there is a bug report on that. Color Management Improvements¶ The color management implementation got a complete overhaul in this version of GIMP. Instead of being a pluggable module, it is now a core feature. Moreover, we added an abstraction layer that makes GIMP less dependent on LittleCMS. This means that in the future GIMP could use native APIs on Windows and OS X, and/or use OCIO. For now, it has helped us to clean up the code a lot and introduce a clean implementation of color management to various bits of GIMP such as: previews for color swatches and gradients, patterns, various color widgets (including the drag-and-drop color widget), the Color Picker tool, layer and image preview etc. The only unmanaged bit for now is the color widget in the Script-Fu and Python-Fu plug-ins. Moreover, GIMP will track which monitor the widget is currently on (different monitors would have different ICC profiles assigned to them) and color-correct it accordingly. Grayscale images are first class citizens in GIMP once again: since v2.9.4, GIMP can color-manage them as well. Since GIMP currently relies on sRGB (this is bound to change in future versions of GIMP), we decided to expose that in the user interface. So currently GIMP has an option called ‘Color-manage this image’ in two places: the New Image dialog and the Image > Color Management submenu. What it means is that instead of taking into consideration the ICC profile embedded into an image (whichever profile it is) it will just treat everything as sRGB. Please note that we are likely to reword the option to make it even more explicit about what it does. Additionally, there’s now a View > Color Management submenu where you can enable and control softproofing. The Color Management section of the Preferences dialog has been reorganized to reflect recent changes and provide more consistent wording of options. Since color management comes with a speed penalty (at least with LittleCMS), there’s a new option that enables you to choose either better color fidelity of faster processing depending on the kind of work you usually do. Among smaller changes there’s a new Image > Color Management > Save Color Profile to File... command that does exactly what it says: it dumps an embedded ICC profile to disk as a file. Note that copyright restrictions on ICC profiles may apply, so please be careful. GEGL¶ GIMP now keeps track of all GEGL-based filters that you used within one session and allows re-running them via the Filters > Recently Used submenu, just like old GIMP plug-ins. The Posterize and Desaturate color tools have been converted to regular GEGL-based filters, and both the Tile and Pagecurl filters have been converted to use GEGL buffers. A quite popular “photographic” Highpass filter commonly used for enhancing details was added to the Filters > Enhance submenu. A way more noticeable new feature, however, is split preview for GEGL-based filters. You can compare before/after versions right on canvas and move a “curtain” around to see more of “before” or “after”, and swap their positions (Shift + click on the guide). You can also switch between vertical and horizontal division (Ctrl + click). darktable as Raw Processing Plug-in¶ On Linux, GIMP is now capable of using darktable for pre-processing raw images from DSLRs (Canon CR2, Nikon NEF etc.). darktable is an amazing project whose developers stick around at our IRC channel and even contribute to GIMP (most recently, they added reading various metadata from EXR files). Note that the file-darktable plug-in is activated only when darktable is built with Lua support. Make sure your build of darktable for Linux is feature-complete. It is still possible to use other raw development plug-ins like UFRaw. For cases when multiple plug-ins are installed in your system, we intend to add a preference option. Screenshots¶ The code for capturing screenshots has undergone a major reorganization. It’s now split into a front-end and several back-ends specific for Windows, OS X, Wayland and X.org (Linux and UNIX systems). While there are no immediate user-visible changes, this reorganization will greatly simplify further improvements, hence improving user experience on different operating systems. Painting¶ MyPaint Brush Tool¶ The new MyPaint Brush tool is now enabled by default. Daniel Sabo and Michael Natterer improved its performance and made MyPaint brushes available via an already familiar dockable dialog interface, with previews and tagging. Jehan Pagès collaborated with the MyPaint team: he ported libmypaint to autotools, allowing, in particular, standard builds on all platforms, and work is being done to turn the default brushes into a separately shipped package. Symmetry Painting¶ Another major new feature is symmetric painting mode, also developed by Jehan Pagès with financial support from the GIMP community. It can be activated through the new Symmetry Painting dockable dialog and allows to use all paint tools with various symmetries (mirror, mandala, tiling…). “Mirror” allows to paint with horizontal, vertical (axial), and/or central symmetry. The symmetry guides can be placed anywhere on canvas. “Mandala” is a rotational symmetry of any order. The center can be placed anywhere on canvas. “Tiling” is a translational symmetry, which can be finite (with a maximum of strokes) or infinite. In the latter case, it is the perfect tool to create patterns or seamless tiles, with instant rendering of what it will look like, at painting time. Quick 1-minute test by Aryeom Han: Tool Options¶ The mouse scroll-wheel action mappings have been improved, allowing, in combination with various modifiers, to do useful things on the currently selected tool’s options: Alt + Mousewheel: opacity increase/decrease; Shift + Primary + Mousewheel: aspect increase/decrease; Shift + Alt + Mousewheel: angle increase/decrease; Primary + Alt + Mousewheel: size increase/decrease; Shift + Primary + Alt + Mousewheel: spacing increase/decrease. Note: the Primary modifier is usually Ctrl or Cmd, depending on your platform. Selections¶ For cases when your selection has a lot of small unselected regions, you can now use the Select > Remove Holes command. The Select > Border... dialog now provides several border style options: hard, smooth, and feathered. Feathered creates a selection which goes gradually from 1 to 0 the farther you get from the middle of the border. Smooth preserves partial selection (antialiasing) along the edges of the selection. Better Tools¶ The Fuzzy Select and Bucket Fill tools got a new feature for selecting/filling diagonally neighboring pixels. The Blend tool got shapeburst fills resurrected, and allows the placement of their handles on the canvas, outside of the image area. Additionally, the Blend tool now displays its progress thanks to a new GEGL feature available in several GEGL operations including gegl:distance-transform. The Text tool now fully supports advanced input methods for CJK and other non-western languages. Minimal support already existed, but the pre-edit text was displayed in a floating pop-up instead of inline, within the text tool box, and without any preview styling. It is now displayed just as expected, depending on your platform and Input Method Engine. Several input method-related bugs and crashes have also been fixed. Batch Processing on Command Line¶ A new macro with-files is now available in order to easily process multiple files through GIMP from the command line, which was a much awaited feature. For instance, if you want to invert the colors of all PNG images in the current folder, then save them as JPEG, you could run the following from the command line: gimp -i -b '(with-files "*.png" (gimp-invert layer) (gimp-file-save 1 image layer (string-append basename ".jpg") (string-append basename ".jpg") ) ) (gimp-quit 0)' Note: the name of the macro may change before the release of v2.10. Email Plug-in Resurrected¶ The File > Send by email… dialog will open your default email client with an attached copy of the current image, to share your work-in-progress with a single click. This is available only on operating systems with xdg-email (likely GNU/Linux, BSD only). The original implementation using sendmail is also available. Yet since it requires a properly configured sendmail, which is not common on desktop machines, the explicit --with-sendmail option has to be set at build time to replace the xdg-email implementation. Debugging Facilities for Windows¶ In the unlikely event that GIMP crashes, we need as much information as possible to find out the actual bug. The raw crash log is one such source of information. Windows builds can now generate backtrace logs upon a crash with Dr.MinGW’s ExcHndl library, which must be available at build time. The logs will be stored in %APPDATA%\GIMP\2.9\CrashLog\. What’s Left To Do for GIMP 2.10¶ Since the release of v2.9.2 we have been mostly fixing bugs and completing the work we had started earlier. We are not planning to add any major new features in v2.10. If you are interested in helping us release v2.10 earlier, you can find the list of bug reports in our bugtracker. Some Statistics on Our Awesome Contributors¶ GIMP 2.9.2 was released on November 27, 2015. Since then, the work to reach GIMP 2.9.4 was done in 1348 commits, making an average of 5.9 commits a day, of which 894 are (mostly) code-related, 241 are icon-related, and 213 are translation updates. As usual, the GIMP team is small yet as dedicated as ever: more than a third of the commits have been done by Michael Natterer (514), the next biggest contributors being Jehan Pagès (192) and Klaus Staedtler (187). The three of them represent 66% of all commits. Note: contributions by Jehan Pagès were made on behalf of ZeMarmot Open Movie project: symmetry painting, MyPaint library integration, email plugin, Input Methods, management of the new themes and icons contributions, and more… We have prolific newcomers among developers: Ell joined us with significant code contributions (32 commits), such as the diagonal neighbours, the “Remove Hole” command, and many other fixes; Tobias Ellinghaus, a darktable developer, contributed 14 commits on darktable integration and improving EXR and PNM support. Of course, we also have our usual suspects with 10+ code commits: Alexandre Prokoudine, Daniel Sabo, Kristian Rietveld, Massimo Valentini, and Michael Henning. And since no patch is too small, it would be completely unfair to forget all other code contributors: Adrian Likins, A S Alam, Carol Spears, Eugene Kuligin, Jasper Krijgsman, João S. O. Bueno, nmat, Richard Kreckel, saul, Shmuel H, Jonathan Tait, Michael Schumacher, Pedro Gimeno, Richard Hughes, Benoit Touchette, Hartmut Kuhse, Kevin Cozens, Elle Stone, Mukund Sivaraman, Øyvind Kolås, Sven Claussner, Thomas Manni, Alexia Death, Andrew Worsley, Simon Budig, and Piotr Drąg. New icons are a big work in progress, with 241 commits, mostly by Klaus Staedtler, with additional contributions from Aryeom Han, Benoit Touchette, Jehan, Kevin Payne, Michael Natterer and Øyvind Kolås. We should not forget Benoit Touchette for his work in progress on themes, as well as some code contribution. We would like to thank as well every 30 translators: Alexandre Prokoudine, Ask Hjorth Larsen, Balázs Meskó, Balázs Úr, Christian Kirbach, Cédric Valmary, Daniel Korostil, Daniel Mustieles, Dimitris Spingos, Dušan Kazik, Gábor Kelemen, Hartmut Kuhse, J.M. Ruetter, Jordi Mas, Khaled Hosny, Marco Ciampa, Mario Blättermann, Martin Srebotnjak, Mónica Canizo, Necdet Yücel, Pedro Albuquerque, Piotr Drąg, Rūdolfs Mazurs, Sebastian Rasmussen, Sveinn í Felli, Tiago Santos, Yolanda Álvarez Pérez, Klaus Staedtler, kolbjoern, and Милош Поповић. Note: Statistics based on the number of commits provide valuable information regarding the activity of a project, yet they are not always a perfect indicator of contribution, so the goal of this section is not to have any kind of contributor rank. For instance, one commit could be a one-liner, whereas another could contain several hundreds of lines (and even this may not always be a good indicator of the time spent on and the difficulty of the fix). Moreover we should not forget all the “shadow contributors”, whose contributions cannot be counted as easily, working on things such as code review (which Massimo Valentini should be especially commended for), bug triaging and follow-up (Michael Schumacher here would get a prize!), community, website, and communication (Akkana Peck, Patrick David, and others)… We sincerely hope we did not forget anyone, and we want to say: thank you. Downloads¶ The source code is available from the Downloads page. An installer for Windows will be available shortly. A build for Mac OS X is not available at this time. [Less]
Posted almost 5 years ago by Alexandre Prokoudine
Until fairly recently GIMP didn’t do a very good job of remembering all the types of customizations. If you applied a filter to an image and liked the combination of options that you used, there was no way you could save that combination for a later ... [More] use. If you carefully chose selection stroking options, the next time you had to stroke a selection, you had to define settings all over again. Upcoming v2.10 has some major improvements in that department. Early in the current development cycle we started porting existing GIMP filters to GEGL operations and using the GEGL tool skeleton to wrap their GUIs into. This made it possible to automatically save each used combination as preset with a timestamp for a name, or manually—as a named preset. If you’ve been using v2.9.2 or v2.9.4, you most likely benefit from that already. The second part of improvements started with reviewing a patch submitted by Benoit Touchette. As a professional photographer, he regularly works on hundreds of photos daily and has an extensive use of masks, so he needs to get from A to B extremely fast. Benoit came up with a clever idea to simplify adding new masks: clicking on layers’ previews. Various modifier keys would additionally define whether you apply and remove the mask or just drop the mask entirely. The difficult part was to come up with a way to remember the last used mask initiation setting not just within one session, but across sessions. So instead of creating a special case for just the Add Layer Mask dialog, Michael Natterer added a whole new infrastructure to automatically save and load the settings of dialogs. All the dialog defaults are stored in the gimprc configuration file. To give you an idea, this is how stroking options are saved in gimprc: (stroke-options (style solid) (antialias yes) (method line) (width 6.000000) (unit pixels) (cap-style butt) (join-style miter) (miter-limit 10.000000) (dash-offset 0.000000) (dash-info 0) (emulate-brush-dynamics no)) The options are preserved for dialogs like New Channel, Feather Selection, Stroke Path and others. To give you visual control over the settings, Michael created a new page in the Preferences dialog called Dialog Defaults. You may have noticed a few more new things about the Preferences dialog. There is now a scrollbar on large pages to make the dialog fit small screens like the still popular 1366x768 on lower-end laptops (quite a few GIMP users reported that Preferences was getting too big). Additionally, some pages now feature a reset button that restores default settings. The dialog defaults feature will be available in GIMP 2.9.6 and, eventually, in GIMP 2.10. The introduction of filter presets and dialog defaults gets us closer to resolving #63610, #120829, and #599573, filed in 2001, 2003, and 2009 respectively. If you think that more dialogs could benefit from either saving their settings as defaults or getting named presets, please drop by on IRC or the mailing list for developers and tell us. If you are interested in helping out with getting GIMP 2.10 released, please check out the TODO page. [Less]
Posted almost 5 years ago by Alexandre Prokoudine
When we released GIMP 2.9.2 in late 2015 and stepped over into 2016, we already knew that we’d be doing mostly polishing. This turned out to be true to a larger extent, and most of the work we did was under-the-hood changes. But quite a few new ... [More] features slipped in. So, what are the big user-visible changes for GIMP in 2016? Better Handling of Layers, Channels, Masks, and Paths¶ Michael Natterer eliminated one of the big issues with the clipboard: not having an easy way to copy/paste layers and layer groups from one project to another. Now you can just select a layer or a layer group in the ”Layers” dialog, press ”’Ctrl+C”’, switch to a different project and press ”’Ctrl+V”’. The ”Layer Attributes” dialog, which hasn’t been very useful, now provides the single UI for setting layer’s name, changing blending mode and opacity setting offset in X/Y, toggling visibility, link status, various locks. Newly added color tags improve layers management and can be set via ”Layers” menu, ”Layer Attributes” dialog. They are also accessible via shortcuts and available for channels and paths (we don’t expect people to use it a lot, but it was too easy to implement). The color tags feature is currently not very useful without multiple layers selection. This is something we’ve been meaning to do for quite a while. Last year we did a basic research on that, but we don’t expect to accomplish this task in time for GIMP 2.10, unless someone contributes a very good patch. If you are interested in helping out, please talk to us. Moreover, for people who use a lot of masks, the workflow has been streamlined. Now GIMP remembers the last type of mask initialization, and you can use key modifiers + mouse click on layer previews to create, apply, or remove masks. Additionally, there’s a new button for that as well. Remembering Defaults Across Sessions, Improved Configurability¶ We had to figure out a sane way for GIMP to remember last mask initialization settings, so we devised a whole new infrastructure to remember settings of various dialogs. The user interface to adjust those settings is now live on the new ”Interface -> Dialog Defaults” page in the ”Preferences” dialog. See the Making settings persistent in GIMP post for more details. We also made various GIMP settings resettable in the ”Preferences” dialog. And since GIMP is a huge app, where settings tend to accumulate over the years, we added a vertical scrollbar to keep the height of the dialog sensible. Additionally, we reorganized some of the settings, e.g. on the ”Color Management” page. Color Management¶ We already introduced a handful of changes to the color management implementation in 2015, when the code was rewritten by Michael Natterer pretty much from scratch become a core feature rather than a plug-in. But there was more to follow. Now everything is color-managed in GIMP: all sorts of previews, the Color Picker tool, the painting tools etc. The only missing bit is the on-canvas preview for GEGL-based filters. Color transforms are extremely slow with LittleCMS, so we shall need more time to figure this out. On a related matter, the Color Management section of the Preferences dialog now features new options to toggle color transforms optimization, so that you could choose between performance and color fidelity. Additionally, toggling soft-proofing is just a few clicks away in the ‘View -> Color Management’ submenu now, along with rendering intent settings. Better Tools¶ While we didn’t intend to work on tools a lot, there have been several interesting updates: The ”Align” tool now has vertical offset setting (contributed by Jonathan Tait). The ”Move” tool shows relative coordinates when moving guides and sample points (bug #770911). The ”Text” tool got improved support for languages using Input Method Engines (contributed by Jehan Pages). Both the ”Bucket Fill” and the ”Fuzzy Select” tool have a new ”Diagonal neighbors” option to select diagonally neighboring pixels (contributed by Ell). The ”Intelligent Scissors” tool now allows to remove the last added segment with the ”’Backspace”’ key. Split preview for GEGL-based filters¶ Michael Natterer added a new on-canvas preview feature for GEGL-based filters: splitting the view to compare the image before and after applying the filter. You can drag the ‘curtain’ to adjust the view and use key modifiers to swap before/after sides and the direction of the split (horizontal/vertical). darktable¶ Tobias Ellinghaus of the darktable project contributed a new plug-in to load raw files into GIMP by having them developed in darktable. This is only available on platforms supported by darktable, i.e. Linux and macOS. Since there is more than one raw processing plug-in out there, we intend to eventually add a way to set preferred raw plug-in. You can contribute a patch for that. WebP support¶ Pascal Massimino and Benoit Touchette contributed a new WebP plug-in that supports loading/exporting of WebP files, along with ICC profiles, Exif and XMP metadata. The plug-in also supports animation. Painting¶ In early 2016, we finally merged the branch by Jehan Pagès that introduces symmetric painting to all painting tools (Paintbrush, MyPaint Brush, Eraser etc.). The feature is available via a dedicated dockable dialog on per-image basis. Modes: Mirror, Tiling, Mandala (Kaleidoscope). The work on this feature was directly sponsored by the part of the community that uses GIMP for digital painting. For bitmap brushes, GIMP now caches hardness and disables dynamic change of hardness to improve painting performance. Bitmap brushes also don’t get clipped anymore, when hardness is less than 100. User Interfaces Changes¶ One of the most visible changes in GIMP is the new user interface themes along with new icon themes, available since v2.9.4 released last summer. We now ship GIMP with “Dark” theme and “Symbolic” icon theme enabled by default. GIMP ships with 5 new themes (lighter, light, gray, dark, darker) overall. For users who prefer the old UI, we still ship the old default UI theme along with old colorful icons. There’s also some ongoing work on vector-based icons for better Hi-DPI displays compatibility. We also fixed a number of usability issues. E.g. toolbox buttons do not grab focus anymore, which used to break the use of the ”’Tab”’ key and other canvas-related shortcuts after changing tools with a pointing device click. GEGL and babl¶ GEGL and babl got their fair share of development focus. We only added a handful of new operations (”Saturation”, ”Gaussian Selective Blur” etc.), because most work on GEGL was performance improvements, house cleaning etc. One interesting change, though, is the new ”gegl_operation_progress” function to report processing progress. It’s useful for reporting processing progress to a GEGL-based editor such as GIMP. For now, we use it in ”cartoon” and ”distance-transform” operations, but expect to use it in many more ops. For babl, most changes were about improving performance (creating fast pixel data conversion paths and caching them) and fixing bugs. What’s Next for GIMP¶ There are still many bugs to fix before we can release 2.10. In the mean time, we are planning to hold a week long developers meet-up in Barcelona at end of January. One of the topics will be cleaning up libgimp to get it into the releasable state for 2.10. We shall soon announce the full agenda for the Wilberweek. Another upcoming major change is how linear/gamma-corrected workflows are implemented in GIMP. Since early January, Michael Natterer and Øyvind Kolås have been hacking on GIMP to make layer modes work on both linear and gamma-corrected image data correctly. This involved a lot of source code reorganization, and a major part of that work is already done. Additional changes currently live in the ‘pippin/linear-is-the-new-black’ Git branch soon to be merged, and we hear good reports about it from some of our most sceptical users already. Some other exciting news deserve a separate announcement. We expect to ship GIMP 2.10 with 16/32-bit per color channel support, new color management implementation, and a great many improvements overall later this year. Our next focus will be completing the GTK+3 port to make the graphic tablets support fully functional on all supported platforms again and prepare GIMP for even more long overdue changes such as non-destructive image editing. [Less]