Friday, August 21, 2015

New PhotoFlow release 0.2.0 is out, with a new and improved GUI

I'm happy to announce that the latest PhotoFlow version 0.2.0 is out!

The new version is currently only available as source code from the master branch on github
Linux, Windows and OSX packages will be provided very soon.

The main update in this version is the new GUI layout that uses a single window scheme instead of putting the controls of each layer into separate modal dialogs:

In this new layout, the list of layers has been moved to the left of the preview area, while on the right a new panel appeared which groups all the opened tool controls. The controls of a given layer are added to the right panel by double-clicking on the layer's name (in the previous versions, double-clicking on the layer name opened the controls dialog, so the logic is finally quite similar).

The basic parameters of the selected layer (name, blend mode, opacity and intensity) are duplicated above the layers list for quick access, even if the the main layer controls are not opened in the right panel:

The controls widgets that appear in the right panel, and which replace the old dialogs, have a common "header" followed by tool-specific widgets (sliders, curves, selectors, etc...):

The common header includes the basic layer parameters (name, blend mode, opacity and intensity), plus a number of small buttons:

Expand/collapse the controls.
Close the controls (it does no remove/delete the corresponding layer).
Toggle the layer  visibility. This button has the same effect as the corresponding check box in the layers list. Both can be used simultaneously.
Enable/disable the layer masks. When disabled, any grayscale layer mask associated to the layer is completely ignored. Useful to quickly preview the effect of a mask by toggling it on and off.
Toggle "sticky" flag on/off. When enabled, the preview area will always show the output of the corresponding layer, otherwise the composite output will be shown. Only one tool at a time will be set in "sticky" mode.
Toggle "editing" flag on/off. When enabled, mouse interactions in the preview area are allowed for the corresponding tool. Only one tool at a time will be set in "editing" mode.
The rest of the controls are basically equivalent to the ones available in the previous tools dialogs.

The "editing" flag probably deserves some additional clarifications. In PhotoFlow, several tools can be controlled via mouse interactions in the preview area. For example, control points can be added into a curves adjustment by control-clicking in the preview area, or the area selected by the crop tool can be adjusted by dragging the sides of a corresponding highlighted rectangle rendered on top of the preview image.
However, only one tool at a time can eventually interact with the preview area, otherwise it would be a complete anarchy. The "editing flag" toggle button serves exactly this purpose: it defines which tool takes exclusive control of the mouse interactions in the preview area.

This new release includes some additional changes/improvements:

  • updated G'MIC to the version
  • grouped mask-related tools in a new "mask" tab

As this release involves a quite extensive modification of the GUI source code, I cannot exclude more instabilities and crashes than usual. However, I have decided to release this new version as early as possible to hopefully receive feedback and improve it even further in the next releases, which will likely come quite frequently.


  1. Hello, I build Windows binaries for RawTherapee, and I'd love to try building up-to-date Photoflow binaries from latest source code. But I didn't succeed neither with MSYS nor MSYS2. Is there somewhere a how-to regarding compiling Photoflow for Windows?

  2. I have no experience with native compilation under windows. At the moment my windows binaries are cross-compiled with mingw under Linux, which is probably not an optimal solution.
    There is no documentation for this yet, just some scripts on my harddisk ;-)

    However, I would be really interested in your offer for up-to-date windows binaries, and I believe that we can manage to solve the issues you are having. If you are interested in cross-compiling, I can provide a blog post with instructions. Otherwise, if you are compiling natively under windows and it doesn't work, the best is probably to open an issue on GitHub with a short description of your errors, and then we can work together to fix that.


  3. Hi, sorry I didn't your response. I'll try again to build natively on Windows, and open issues on Github if I get into troubles.