RSS/Atom feed Twitter
Site is read-only, email is disabled

GEGL conventions

This discussion is connected to the gegl-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

2 of 2 messages available
Toggle history

Please log in to manage your subscriptions.

GEGL conventions reasamp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org 26 Oct 15:46
GEGL conventions Øyvind Kolås 28 Oct 01:50
reasamp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2006-10-26 15:46:25 UTC (over 17 years ago)

GEGL conventions

Hi
I just joined the other day, and right now I am taking the time to get used to various parts of the library. Since the documentation is limited so far I decided to post here to clear up some small confusions about some library conventions:
- The 'ID': Can this be used as a string pad to each and every operation? You know, so that it can be cloned/otherwise referred later somewhere else? The clones.xml shows it being used on the 'load' operation, but I failed to use it on other operations. If it's possible, how? If not, how do I refer to results of other operations?
- Is the XML format used in the examples considered to be within the scope of the library? That is, ... is it an 'official' part of the library, or just here for debugging, perhaps to be moved into a separate distinct library later on? When is the outer tag and when is it ? - The docs show many operations accepting 'input' 'output' 'aux' pads of object type. Now do they all have a maximum of three 'object' inputs? I am asking this because of the particular way in which they have to be specified in the XML examples in doc.
- Lastly, is there any reference/c header/source file which lists all the API that is exposed to operations?

reasamp

Øyvind Kolås
2006-10-28 01:50:19 UTC (over 17 years ago)

GEGL conventions

On 10/26/06, reasamp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote:

Hi
I just joined the other day, and right now I am taking the time to get used to various parts of the library. Since the documentation is limited so far I decided to post here to clear up some small confusions about some library conventions:
- The 'ID': Can this be used as a string pad to each and every operation? You know, so that it can be cloned/otherwise referred later somewhere else? The clones.xml shows it being used on the 'load' operation, but I failed to use it on other operations. If it's possible, how? If not, how do I refer to results of other operations?

No parts of the GEGL API are considered stable or final. The ids are only used for clones in the XML parsing stage, the rest of referencing between nodes in the tree is done implicitly through the tree structure. XML is not capable of expressing arbitrary graphs you'd have to use the C api to do that at the moment.

- Is the XML format used in the examples considered to be within the scope of the library? That is, ... is it an 'official' part of the library, or just here for debugging, perhaps to be moved into a separate distinct library later on?

The answer to these questions is not known but some future incarnation of the XML parsing might be native to use within the library, for external use, for parsing OpenRaster, open document based structured raster graphics interchange documents, for serialization for distributed RPC in the network, or some other purpose, the only thing that is certain is that you should not rely on it behaving like it does now in the future.

When is the outer tag and when is it ?

They are synonyms at the moment, currently it is used as a distinction between GEGL documents and OpenRaster experiments.

- The docs show many operations accepting 'input' 'output' 'aux' pads of object type. Now do they all have a maximum of three 'object' inputs? I am asking this because of the particular way in which they have to be specified in the XML examples in doc.

The XML only enables an interface to a subset of what is possible with GEGL, but it is probably the most useful subset.

- Lastly, is there any reference/c header/source file which lists all the API that is exposed to operations?

API stabilization for operation plug-ins will happen after the public api for applications/language bindings embedding GEGL is settled and even decisions about this has barely started.

/Øyvind K.