Where to find enums for GEGL Operations?

As the title says:
For example I want to use gegl:emboss in a python plugin.
https://gegl.org/operations/gegl-emboss.html

I find this in the docs:

Emboss Type

Rendering type

name: type type: enum

Where do I find information about the enum? What are allowed parameters?

Hi Nelo
I find this information by using Gegl Graph. Enter the operation that you want to use eg gegl:emboss. Then on the next line enter the name of the parameter eg type= and it helpfully tells you that “bumpmap” and “emboss” are acceptable settings. It does seem well hidden! Good luck
JimDee2

1 Like

Thanks a lot, Jim.
That helped.
(How nice would it be to have this information together with the documentation. All in one place. So we need not search for these bits and pieces where we don’t expect them …)

Well, we have a GSoC student working on a GEGL Filter browser - I think it’s pretty close to being merged. You can try out an AppImage here and see if it would help: plug-ins: Add GEGL filter browser (!2255) · Merge requests · GNOME / GIMP · GitLab

Thank you.
But still no information about what arguments are acceptable. For example here:

For example for the type … how do I see what is accepted?
I can’t write gchararray there, can I?
It would be really helpful to know what arguments are expected in places like that.

Also for the gdouble and gint - what is the range of values that can be used?

So where is the information in Gegl Graph held? Can that not be included in the propeosed browser?

Not the best option, but as a band-aid, I just searched for “emboss package:gegl” in https://codesearch.debian.net/ and it came in first result.

@nelo, thank you for asking this question! It’s a known problem not being able to find the information of all GEGL operations available to use in GIMP. This is not just about core GEGL operations but also about the ones loaded in GEGL as plug-ins and the ones created in GIMP (there’s many of them!).

I pushed an update to the GEGL Filter Browser branch which no longer drops parameters with types unsupported by the protocol used to communicate between GIMP and plug-ins and shows information about many types including enums. The list of supported types is exhaustive but in my testing almost all types I found in my browser are supported. I think this version might be exactly what you’re looking for.

Let me know what you think. Cheers!

1 Like

Is that commit 7b3b506?
That would be really nice like that.
All the info at place. That’s what really helps.

One little bit still:
The left pane with the list of gegls is very wide, the one with the info is much too narrow. Is there a solution for that, too?

All in one: nice job. Thank you.

Yeah, that’s the one.

I opened a separate MR with changes addressing this to some extent. You can see it here → Clarify and adjust minimum widget sizes in GimpBrowser (!2334) · Merge requests · GNOME / GIMP · GitLab. If you can compile from source, you can try to combine the two branches and see if the changes are enough for you.

Thanks.
I can’t compile, but I can wait till it’s done.