GEGL Plug-Ins for GIMP. Part Three: Writing C Plug-Ins
This is the third in a series of articles about GEGL plug-ins for the GIMP image editor. See also part one and part two for more about GEGL plug-ins and using them from inside GIMP.
You don’t need to know C to use this article, or be a programmer.
Note: you can also use GEGL plug-ins outside of GIMP, e.g. in the gegl command-line program and maybe even in GNOME-Photos, unless you use GIMP-specific features such as calling other GEGL operations that GIMP provides.
Why do it?
GEGL Plug-ins are super easy to use in GIMP with on-canvas preview, and you can even save and load settings. They are in the C programming language and are nice and fast, sometimes taking advantage of your graphics card or multi-threading.
Although you can write scripts for GIMP in Python, Schema, JavaScript, Lua, and maybe more languages, those scripts don’t get a preview at all, or just get a tiny one in a pop-up window.
GEGL plug-ins can also be used as part of more complex GEGL graphs, like building blocks.
How hard is it?
Someone who hasn’t written any C before and isn’t a programmer can translate the GEGL Chain syntax shown in part two into C, with a little practice. You may need help from a C programmer if you get errors or get stuck. This article mentions some of the common errors, though.
Allow about an
hour to turn a GEGL chain into a C plug-in the first time, and about another hour to get it to compile if you haven't done that before.