G'MIC-Qt plug-in for GIMP 3.0

Just a thread about the availability of our G’MIC-Qt plug-in for GIMP 3.0 (currently RC1).

Thanks to @samj , I’ve been able to update the code of the G’MIC-Qt plug-in, so that it compiles and run (apparently without much issues) on the release candidate of GIMP 3.0
I’ve updated the download page on the G’MIC website : G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Download
to offer the plug-in binaries for Windows users (haven’t been able to deal with GIMP 3 libraries on a Linux distro yet).

The new section on the download page:

The plug-in running in GIMP 3.0 RC1, on Windows:

That’s good news.
Things are perfectible anyway. I know @samj has been able to compile with a complete clang++ chain and that is apparently faster than when using the C++ standard library from g++, but that will be probably on a second step :slight_smile:

Moving to Qt6 is also a project. But I prefer to take it slow and make sure that everything works as planned at every micro-step.

In any case, don’t hesitate to test the plug-in for GIMP 3 and let me know if you have any problems.

3 Likes

I have gimp 2.10.38 and gimp 3.0.0-RC1 installed on a windows machine. The Plugin for gimp 3.0 works, but only if you install it from the zip-file. The exe-installer mistakenly installs the plugin at %appdata%\Gimp\2.10\plugins and not in %appdata%\gimp\3.0\plugins.

The reason is that the installer does not ask which version to use.

Maybe a hint could be useful.

1 Like

Thanks for the feedback.
In the installer, the default install path is different for GIMP 2 and GIMP 3, so I guess this is due to the fact that the two installers use the same AppName.
I’ll try recompiling with different AppName to see if that fixes the issue.

Thanks! I have tested it, it works and I got the impression that it is faster than with Gimp 2.10.38.

Another Observation: I created a white layer and added some noise. G’Mic showed just white. The reason is, that the Noise was created as a non destructive layer. This puzzled me at first.

Joyeux Noël!

1 Like

Is there plans to add in more GUI elements? I always wanted grid version of some GUI elements.

Clearly, no.

G’MIC-Qt developer has passed away last October, and there are very few chances the plug-in gets new important evolutions in the future. If it can continue to function as it is, following the evolution of future GIMP versions, that would be already great.

Some news:
I’ve been able to switch to a full clang toolchain for compiling the G’MIC-Qt plug-in, both for GIMP 2.10 and GIMP 3.0 RC1.
@samj showed that this toolchain generates more optimized binaries, currently with MSYS2 (which is the tool I’m using for compiling).

New pre-release packages are currently uploading on the G’MIC website : Index of /files/prerelease
(the uploading is quite slow as I’m doing it from home. Check the date, it should be ready in a few dozen minutes).

1 Like

@David_Tschumperle

Merci et joyeux Noël :grinning:

1 Like

I noticed faster execution time.

C:\Windows\System32>gmic 512,512 tic rep_pfrac 50 toc
[gmic]./ Start G'MIC interpreter (v.3.5.0).
[gmic]./ Input black image at position 0 (1 image 512x512x1x1).
[gmic]./ Initialize timer.
[gmic]./ Elapsed time: 0.236 s.
[gmic]./ Display image [0] = '[unnamed]'.
[0] = '[unnamed]':
  size = (512,512,1,1) [1024 Kio of float32].
  data = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,3,4,3,4,5, ... ,2,2,2,2,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0).
  min = 0, max = 27236, mean = 32.718, std = 93.263, coords_min = (0,0,0,0), coords_max = (255,255,0,0).
[gmic]./ End G'MIC interpreter.

C:\Windows\System32>gmic 512,512 tic rep_pfrac 50 toc
[gmic]./ Start G'MIC interpreter (v.3.5.0).
[gmic]./ Input black image at position 0 (1 image 512x512x1x1).
[gmic]./ Initialize timer.
[gmic]./ Elapsed time: 0.306 s.
[gmic]./ Display image [0] = '[unnamed]'.
[0] = '[unnamed]':
  size = (512,512,1,1) [1024 Kio of float32].
  data = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,3,4,3,4,5, ... ,2,2,2,2,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0).
  min = 0, max = 27160, mean = 32.7168, std = 93.1925, coords_min = (0,0,0,0), coords_max = (255,255,0,0).
[gmic]./ End G'MIC interpreter.

So, this does 512x512x50 loops in .23 s instead of .3 s. Thanks.