G'MIC QT Plugin Interface

The standalone version of G’MIC-Qt only accepts one input image for each filter.

I doubt that the Qt library TIFF handler includes layer/multi-page support, but I may be wrong.

The original reason I changed the 8bf plugin to use a custom image format is that I discovered bugs in the Qt PNG codec when reading some images, but it also allows for various optimizations when sending images between the 8bf plugin and G’MIC-Qt.

The output file path should probably be a folder, some G’MIC filters (e.g. the filters in the Sequence category) will generate multiple output images.
Other filters can resize the output image, so your application would have to handle that case as well.

In conclusion: None of the disadvantages of 8bf filters can be solved with the standalone version at the moment.

There is a new feature added yesterday that allows to specify multiple inputs for a single filter :

Tested this right now. I used the G’MIC for Windows - Other interfaces latest dev (sorry, but with Windows Visual Studio it’s not so easy to build the project).
My syntax is:
gmic_qt --layers secondLayer.png --output %f mainLayer.png
When I start it, I get an “FileNotFound” error in PhotoLine.
Is my syntax not correct?

As far as I understand the new --layers option, you have to combine your input files to one two-layer image!

Syntax is:

gmic_qt --layers colorful.png landscape.png 

Here, colorful.png is the first (top) layer, and landscape.png the bottom layer.

Yes, I found out this from the source code. But it still doesn’t work here. I tested it from command line, too. But it won’t work. On Windows I don’t get an error message, so I don’t know how to find the problem.

Have you recompiled the gmic-qt binary on windows ?
This new feature requires a new binary. I won’t be able to post a 3.2.0_pre binary before next week BTW.

No sorry, I see no way to do it here in Visual Studio. I used the
G’MIC for Windows - Other interfaces latest dev
version.

OK, started G’MIC with one image and see it’s version 3.1.6

To test GMIC_QT with several layers here is an archive for 64bit Windows:

https://github.com/GreycLab/gmic-community/releases/download/GMIC-3.1.6/gmic_qt-win64-20220907.7z

35,5 Mb (37 324 627 bytes)

1 Like

Thank you. I tested this right now and everything works fine.

What’s about output. If I select “Output as Multiple Layers”.
Are there plans to support this?
In my tests, the one and only working file format is PNG. If I send a TIFF, WebP, SVG, G’MIC doesn’t read it. So file formats that support multiple layers are out of the game.

G’MIC-Qt is not compiled with TIFF or WEBP support, in Qt5 those formats are supported using optional plug-ins. Also, the Qt implementation of both formats can only write a single image.

Support for outputting multiple layers was recently added to the standalone version, see gmic-qt/STANDALONE.md at master · c-koi/gmic-qt · GitHub.

I tested this right now.
But it doesn’t work here, like mentioned:

Save the expected output layers in layer_0.png, layer_1.png, …
./gmic_qt -o /tmp/layer_%l.png -p “Layers/Tiles to Layers” gmicky.png

In my command line, there is --output filename_%1.png. But the result is only one file (Array & Tiles > Montage > Output As > Multiple Layers). And the name is filename_%1.png - %1 is not replaced by a number only.

Those changes are not part of the current 3.1.6 release of G’MIC, but they will be included in the next version.

I noticed that there is a prerelease 3.2.0 and tested.
The input of several layers works fine in this version.
But output with --output filename_%f.png doesn’t work.

Why using %f and not %l:

--output filename_%l.png

Sorry, I wrote it the false way.
I tested in the correct way

--output filename_%l.png

but it didn’t work.
Should it work? If so, perhaps I did something else incorrect.
I tested with two images, used “Array & Tiles > Montage” and setup “Output As” to “Multiple Layers”.