[gegl] operation: massive refactoring of how operation meta data is handled
- From: Ãyvind KolÃs <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] operation: massive refactoring of how operation meta data is handled
- Date: Thu, 29 Mar 2012 20:06:54 +0000 (UTC)
commit 1b7ea4207c78d46d87598a0765f093412e1694fe
Author: Ãyvind KolÃs <pippin gimp org>
Date: Thu Mar 29 17:56:47 2012 +0100
operation: massive refactoring of how operation meta data is handled
Operations can now hold arbitrary string based key/value pairs, this
permits dynamically extending what is stored without needing to break
API/ABI, it also means we can encode things like gimp menu paths or
similar.
gegl/operation/gegl-operation.c | 120 ++++++++++++++++++++++++-
gegl/operation/gegl-operation.h | 54 ++++++-----
operations/affine/affine.c | 3 +-
operations/affine/chant.h | 4 +-
operations/common/bilateral-filter.c | 12 ++-
operations/common/box-blur.c | 10 +-
operations/common/brightness-contrast.c | 11 +--
operations/common/buffer-sink.c | 9 +-
operations/common/buffer-source.c | 10 +-
operations/common/c2g.c | 14 ++--
operations/common/checkerboard.c | 8 +-
operations/common/color-temperature.c | 12 ++-
operations/common/color-to-alpha.c | 8 +-
operations/common/color.c | 12 ++-
operations/common/contrast-curve.c | 10 ++-
operations/common/difference-of-gaussians.c | 10 ++-
operations/common/display.c | 10 ++-
operations/common/dropshadow.c | 10 ++-
operations/common/edge-laplace.c | 10 ++-
operations/common/edge-sobel.c | 10 ++-
operations/common/exp-combine.c | 12 ++-
operations/common/fattal02.c | 10 ++-
operations/common/fractal-explorer.c | 8 +-
operations/common/gaussian-blur.c | 10 ++-
operations/common/gegl-buffer-load-op.c | 8 +-
operations/common/gegl-buffer-save-op.c | 8 +-
operations/common/grey.c | 8 +-
operations/common/grid.c | 8 +-
operations/common/introspect.c | 8 +-
operations/common/invert.c | 14 ++--
operations/common/layer.c | 9 ++-
operations/common/levels.c | 9 +-
operations/common/load.c | 14 ++--
operations/common/magick-load.c | 10 ++-
operations/common/mantiuk06.c | 10 ++-
operations/common/map-absolute.c | 9 +-
operations/common/map-relative.c | 9 +-
operations/common/matting-global.c | 15 ++--
operations/common/mblur.c | 8 +-
operations/common/mirrors.c | 10 ++-
operations/common/mono-mixer.c | 8 +-
operations/common/motion-blur.c | 8 +-
operations/common/noise-reduction.c | 8 +-
operations/common/noise-spread.c | 8 +-
operations/common/noise.c | 12 ++-
operations/common/opacity.c | 13 ++--
operations/common/open-buffer.c | 8 +-
operations/common/over.c | 14 ++-
operations/common/pixelise.c | 10 ++-
operations/common/plasma.c | 8 +-
operations/common/polar-coordinates.c | 9 +-
operations/common/posterize.c | 10 ++-
operations/common/raw-load.c | 10 ++-
operations/common/rectangle.c | 12 ++-
operations/common/reinhard05.c | 10 ++-
operations/common/remap.c | 10 ++-
operations/common/ripple.c | 8 +-
operations/common/save.c | 10 ++-
operations/common/snn-mean.c | 10 ++-
operations/common/stress.c | 10 ++-
operations/common/stretch-contrast.c | 10 ++-
operations/common/svg-huerotate.c | 8 +-
operations/common/svg-luminancetoalpha.c | 10 ++-
operations/common/svg-matrix.c | 8 +-
operations/common/svg-saturate.c | 8 +-
operations/common/threshold.c | 14 ++--
operations/common/unsharp-mask.c | 10 ++-
operations/common/value-invert.c | 11 ++-
operations/common/vignette.c | 8 +-
operations/common/waves.c | 8 +-
operations/common/weighted-blend.c | 10 ++-
operations/common/whitebalance.c | 11 ++-
operations/common/write-buffer.c | 8 +-
operations/core/clone.c | 11 ++-
operations/core/convert-format.c | 9 +-
operations/core/crop.c | 8 +-
operations/core/nop.c | 8 +-
operations/external/exr-load.cpp | 8 +-
operations/external/exr-save.cc | 8 +-
operations/external/ff-load.c | 8 +-
operations/external/jp2-load.c | 8 +-
operations/external/jpg-load.c | 8 +-
operations/external/jpg-save.c | 10 ++-
operations/external/matting-levin.c | 10 ++-
operations/external/openraw.c | 10 ++-
operations/external/path.c | 8 +-
operations/external/pixbuf.c | 10 ++-
operations/external/png-load.c | 8 +-
operations/external/png-save.c | 10 ++-
operations/external/ppm-load.c | 8 +-
operations/external/ppm-save.c | 10 ++-
operations/external/rgbe-load.c | 8 +-
operations/external/rgbe-save.c | 10 ++-
operations/external/save-pixbuf.c | 8 +-
operations/external/sdl-display.c | 10 ++-
operations/external/svg-load.c | 8 +-
operations/external/text.c | 11 ++-
operations/external/vector-fill.c | 8 +-
operations/external/vector-stroke.c | 8 +-
operations/generated/add.c | 10 ++-
operations/generated/clear.c | 12 ++-
operations/generated/color-burn.c | 10 ++-
operations/generated/color-dodge.c | 10 ++-
operations/generated/darken.c | 11 ++-
operations/generated/difference.c | 11 ++-
operations/generated/divide.c | 10 ++-
operations/generated/dst-atop.c | 12 ++-
operations/generated/dst-in.c | 12 ++-
operations/generated/dst-out.c | 12 ++-
operations/generated/dst-over.c | 12 ++-
operations/generated/dst.c | 12 ++-
operations/generated/exclusion.c | 11 ++-
operations/generated/gamma.c | 10 ++-
operations/generated/hard-light.c | 10 ++-
operations/generated/lighten.c | 11 ++-
operations/generated/math.rb | 10 ++-
operations/generated/multiply.c | 10 ++-
operations/generated/other-blend.rb | 12 ++-
operations/generated/overlay.c | 10 ++-
operations/generated/plus.c | 11 ++-
operations/generated/screen.c | 11 ++-
operations/generated/soft-light.c | 10 ++-
operations/generated/src-atop.c | 12 ++-
operations/generated/src-in.c | 14 ++-
operations/generated/src-out.c | 12 ++-
operations/generated/src-over.c | 12 ++-
operations/generated/src.c | 12 ++-
operations/generated/subtract.c | 10 ++-
operations/generated/svg-12-blend.rb | 36 +++++---
operations/generated/svg-12-porter-duff.rb | 23 +++--
operations/generated/svg-multiply.c | 10 ++-
operations/generated/xor.c | 12 ++-
operations/workshop/box-max.c | 10 ++-
operations/workshop/box-min.c | 11 ++-
operations/workshop/box-percentile.c | 10 ++-
operations/workshop/buffer-cache.c | 8 +-
operations/workshop/color-reduction.c | 10 ++-
operations/workshop/color-rotate.c | 8 +-
operations/workshop/convolution-matrix.c | 10 ++-
operations/workshop/cubism.c | 9 +-
operations/workshop/deinterlace.c | 8 +-
operations/workshop/demosaic-bimedian.c | 10 ++-
operations/workshop/demosaic-simple.c | 10 ++-
operations/workshop/disc-percentile.c | 10 ++-
operations/workshop/ditto.c | 8 +-
operations/workshop/emboss.c | 9 +-
operations/workshop/external/ff-save.c | 8 +-
operations/workshop/external/gluas.c | 10 ++-
operations/workshop/external/lens-correct.c | 10 ++-
operations/workshop/external/line-profile.c | 14 ++--
operations/workshop/fractal-trace.c | 8 +-
operations/workshop/generated/average.c | 10 ++-
operations/workshop/generated/blend-reflect.c | 10 ++-
operations/workshop/generated/blend.rb | 10 ++-
operations/workshop/generated/negation.c | 10 ++-
operations/workshop/generated/soft-burn.c | 10 ++-
operations/workshop/generated/soft-dodge.c | 10 ++-
operations/workshop/generated/subtractive.c | 10 ++-
operations/workshop/hstack.c | 10 ++-
operations/workshop/kuwahara.c | 8 +-
operations/workshop/lens-distortion.c | 9 +-
operations/workshop/linear-gradient.c | 8 +-
operations/workshop/mandelbrot.c | 8 +-
operations/workshop/max-rgb.c | 8 +-
operations/workshop/radial-gradient.c | 8 +-
operations/workshop/rawbayer-load.c | 10 ++-
operations/workshop/red-eye-removal.c | 8 +-
operations/workshop/snn-percentile.c | 10 ++-
operations/workshop/unpremul.c | 8 +-
operations/workshop/warp.c | 8 +-
operations/workshop/whirl-pinch.c | 10 ++-
tools/operation_reference.c | 19 +++--
172 files changed, 1190 insertions(+), 691 deletions(-)
---
diff --git a/gegl/operation/gegl-operation.c b/gegl/operation/gegl-operation.c
index 95f2e77..558c88d 100644
--- a/gegl/operation/gegl-operation.c
+++ b/gegl/operation/gegl-operation.c
@@ -48,6 +48,8 @@ G_DEFINE_TYPE (GeglOperation, gegl_operation, G_TYPE_OBJECT)
static void
gegl_operation_class_init (GeglOperationClass *klass)
{
+ /* XXX: leaked for now, should replace G_DEFINE_TYPE with the expanded one */
+ klass->keys = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
klass->name = NULL; /* an operation class with
* name == NULL is not
* included when doing
@@ -55,8 +57,6 @@ gegl_operation_class_init (GeglOperationClass *klass)
* name
*/
klass->compat_name = NULL;
- klass->description = NULL;
- klass->categories = NULL;
klass->attach = attach;
klass->prepare = NULL;
klass->no_cache = FALSE;
@@ -458,3 +458,119 @@ gegl_operation_invalidate (GeglOperation *operation,
gegl_node_invalidated (node, roi, TRUE);
}
+
+
+gchar **
+gegl_operation_list_keys (const gchar *operation_name,
+ guint *n_keys)
+{
+ GType type;
+ GObjectClass *klass;
+ GList *list, *l;
+ gchar **ret;
+ int count;
+ int i;
+ type = gegl_operation_gtype_from_name (operation_name);
+ if (!type)
+ {
+ if (n_keys)
+ *n_keys = 0;
+ return NULL;
+ }
+ klass = g_type_class_ref (type);
+ count = g_hash_table_size (GEGL_OPERATION_CLASS (klass)->keys);
+ ret = g_malloc0 (sizeof (gpointer) * (count + 1));
+ list = g_hash_table_get_keys (GEGL_OPERATION_CLASS (klass)->keys);
+ for (i = 0, l = list; l; l = l->next)
+ {
+ ret[i] = l->data;
+ }
+ g_list_free (list);
+ if (n_keys)
+ *n_keys = count;
+ g_type_class_unref (klass);
+ return ret;
+}
+
+void
+gegl_operation_class_set_key (GeglOperationClass *klass,
+ const gchar *key_name,
+ const gchar *key_value)
+{
+ if (!strcmp (key_name, "name"))
+ {
+ if (klass->name)
+ {
+ g_warning ("tried changing name of op %s to %s",
+ klass->name, key_value);
+ return;
+ }
+ klass->name = g_strdup (key_value);
+ }
+ if (key_value)
+ g_hash_table_remove (klass->keys, key_name);
+ else
+ g_hash_table_insert (klass->keys, g_strdup (key_name),
+ g_strdup (key_value));
+}
+
+void
+gegl_operation_class_set_keys (GeglOperationClass *klass,
+ const gchar *key_name,
+ ...)
+{
+ va_list var_args;
+
+ va_start (var_args, key_name);
+ while (key_name)
+ {
+ const char *value = va_arg (var_args, char *);
+
+ gegl_operation_class_set_key (klass, key_name, value);
+
+ key_name = va_arg (var_args, char *);
+ }
+ va_end (var_args);
+}
+
+void
+gegl_operation_set_key (const gchar *operation_name,
+ const gchar *key_name,
+ const gchar *key_value)
+{
+ GType type;
+ GObjectClass *klass;
+ type = gegl_operation_gtype_from_name (operation_name);
+ if (!type)
+ return;
+ klass = g_type_class_ref (type);
+ gegl_operation_class_set_key (GEGL_OPERATION_CLASS (klass), key_name, key_value);
+ g_type_class_unref (klass);
+}
+
+const gchar *
+gegl_operation_class_get_key (GeglOperationClass *operation_class,
+ const gchar *key_name)
+{
+ const gchar *ret = NULL;
+ ret = g_hash_table_lookup (GEGL_OPERATION_CLASS (operation_class)->keys, key_name);
+ return ret;
+}
+
+const gchar *
+gegl_operation_get_key (const gchar *operation_name,
+ const gchar *key_name)
+{
+ GType type;
+ GObjectClass *klass;
+ const gchar *ret = NULL;
+ type = gegl_operation_gtype_from_name (operation_name);
+ if (!type)
+ {
+ return NULL;
+ }
+ klass = g_type_class_ref (type);
+ ret = gegl_operation_class_get_key (GEGL_OPERATION_CLASS (klass), key_name);
+ g_type_class_unref (klass);
+ return ret;
+}
diff --git a/gegl/operation/gegl-operation.h b/gegl/operation/gegl-operation.h
index b8d5b06..7255e77 100644
--- a/gegl/operation/gegl-operation.h
+++ b/gegl/operation/gegl-operation.h
@@ -75,27 +75,11 @@ struct _GeglOperationClass
{
GObjectClass parent_class;
- const gchar *name; /* name(string) used to create/indetify
- this type of operation in GEGL*/
+ const gchar *name; /* name(string) used to create/identify
+ this type of operation in GEGL*/
const gchar *compat_name; /* allows specifying an alias that the op is
also known as */
- const gchar *categories; /* a colon seperated list of categories */
-
- const gchar *description; /* textual description of the operation */
- const gchar *help; /* documentation for the use of the op and it's properties
- (individual properties are documented in-place with the
- property)
- */
-
- const gchar *sample_graph;/* sample XML graph using a stock set of images
- for inputs, providing a visual preview of how the op is
- to be used.
- */
-
- const gchar *authors; /* credits for having written the op */
- const gchar *license; /* license of the op */
-
-
+ GHashTable *keys; /* hashtable used for storing meta-data about an op */
guint no_cache :1; /* do not create a cache for this operation */
guint opencl_support:1;
@@ -232,9 +216,31 @@ const gchar * gegl_operation_get_name (GeglOperation *operation);
GeglNode * gegl_operation_get_source_node (GeglOperation *operation,
const gchar *pad_name);
-GParamSpec ** gegl_list_properties (const gchar *operation_type,
- guint *n_properties_p);
+/* XXX: should be changed to gegl_op_list_properties */
+GParamSpec ** gegl_list_properties (const gchar *operation_type,
+ guint *n_properties_p);
+
+/* API to change */
+void gegl_operation_class_set_key (GeglOperationClass *klass,
+ const gchar *key_name,
+ const gchar *key_value);
+
+const gchar * gegl_operation_class_get_key (GeglOperationClass *operation_class,
+ const gchar *key_name);
+
+void gegl_operation_class_set_keys (GeglOperationClass *klass,
+ const gchar *key_name,
+ ...);
+
+gchar ** gegl_operation_list_keys (const gchar *operation_type,
+ guint *n_keys);
+
+void gegl_operation_set_key (const gchar *operation_type,
+ const gchar *key_name,
+ const gchar *key_value);
+const gchar * gegl_operation_get_key (const gchar *operation_type,
+ const gchar *key_name);
/* invalidate a specific rectangle, indicating the any computation depending
* on this roi is now invalid.
@@ -242,9 +248,9 @@ GParamSpec ** gegl_list_properties (const gchar *operation_type,
* @roi : the region to blank or NULL for the nodes current have_rect
* @clear_cache: whether any present caches should be zeroed out
*/
-void gegl_operation_invalidate (GeglOperation *operation,
- const GeglRectangle *roi,
- gboolean clear_cache);
+void gegl_operation_invalidate (GeglOperation *operation,
+ const GeglRectangle *roi,
+ gboolean clear_cache);
/* internal utility functions used by gegl, these should not be used
* externally */
diff --git a/operations/affine/affine.c b/operations/affine/affine.c
index 3862909..7ef7319 100644
--- a/operations/affine/affine.c
+++ b/operations/affine/affine.c
@@ -187,12 +187,13 @@ op_affine_class_init (OpAffineClass *klass)
op_class->get_required_for_output = gegl_affine_get_required_for_output;
op_class->detect = gegl_affine_detect;
op_class->process = gegl_affine_process;
- op_class->categories = "transform";
op_class->prepare = gegl_affine_prepare;
op_class->no_cache = TRUE;
klass->create_matrix = NULL;
+ gegl_operation_class_set_key (op_class, "categories", "transform");
+
g_object_class_install_property (gobject_class, PROP_ORIGIN_X,
g_param_spec_double (
"origin-x",
diff --git a/operations/affine/chant.h b/operations/affine/chant.h
index e2357b2..a549bce 100644
--- a/operations/affine/chant.h
+++ b/operations/affine/chant.h
@@ -276,13 +276,15 @@ gegl_chant_class_init (ChantClass * klass)
class_init (operation_class);
#endif
+#if 1
#define M_GEGL_CHANT_SET_NAME_EXTENDED(nam) \
operation_class->name=g_strdup("gegl:"#nam);
#define M_GEGL_CHANT_SET_NAME(name) M_GEGL_CHANT_SET_NAME_EXTENDED(name)
M_GEGL_CHANT_SET_NAME (GEGL_CHANT_NAME);
+#endif
#ifdef GEGL_CHANT_DESCRIPTION
- operation_class->description = GEGL_CHANT_DESCRIPTION;
+ gegl_operation_class_set_key (operation_class, "description", GEGL_CHANT_DESCRIPTION);
#endif
#define gegl_chant_int(name, min, max, def, blurb) \
diff --git a/operations/common/bilateral-filter.c b/operations/common/bilateral-filter.c
index c72ac20..0bce6b1 100644
--- a/operations/common/bilateral-filter.c
+++ b/operations/common/bilateral-filter.c
@@ -178,12 +178,14 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:bilateral-filter";
- operation_class->categories = "misc";
- operation_class->description =
- _("An edge preserving blur filter that can be used for noise reduction. "
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:bilateral-filter",
+ "categories", "misc",
+ "description",
+ _("An edge preserving blur filter that can be used for noise reduction. "
"It is a gaussian blur where the contribution of neighbourhood pixels "
- "are weighted by the color difference from the center pixel.");
+ "are weighted by the color difference from the center pixel."),
+ NULL);
}
#endif
diff --git a/operations/common/box-blur.c b/operations/common/box-blur.c
index 7b3cb0e..a59163e 100644
--- a/operations/common/box-blur.c
+++ b/operations/common/box-blur.c
@@ -407,11 +407,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "blur";
- operation_class->name = "gegl:box-blur";
- operation_class->opencl_support = TRUE;
- operation_class->description =
- _("Performs an averaging of a square box of pixels.");
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:box-blur",
+ "categories", "blur",
+ "description", _("Performs an averaging of a square box of pixels."),
+ NULL);
}
#endif
diff --git a/operations/common/brightness-contrast.c b/operations/common/brightness-contrast.c
index c3ca018..a7592ef 100644
--- a/operations/common/brightness-contrast.c
+++ b/operations/common/brightness-contrast.c
@@ -190,14 +190,13 @@ gegl_chant_class_init (GeglChantClass *klass)
/* specify the name this operation is found under in the GUI/when
* programming/in XML
*/
- operation_class->name = "gegl:brightness-contrast";
operation_class->opencl_support = TRUE;
- /* a colon separated list of categories/tags for this operations */
- operation_class->categories = "color";
-
- /* a description of what this operations does */
- operation_class->description = _("Changes the light level and contrast.");
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:brightness-contrast",
+ "categories", "color",
+ "description", _("Changes the light level and contrast."),
+ NULL);
}
#endif /* closing #ifdef GEGL_CHANT_PROPERTIES ... else ... */
diff --git a/operations/common/buffer-sink.c b/operations/common/buffer-sink.c
index 841230e..09e1a47 100644
--- a/operations/common/buffer-sink.c
+++ b/operations/common/buffer-sink.c
@@ -77,10 +77,11 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:buffer-sink";
- operation_class->compat_name = "gegl:save-buffer";
- operation_class->categories = "programming:output";
- operation_class->description = _("A GEGL buffer destination surface.");
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:buffer-sink",
+ "categories", "programming:output",
+ "description", _("A GEGL buffer destination surface."),
+ NULL);
}
#endif
diff --git a/operations/common/buffer-source.c b/operations/common/buffer-source.c
index c6d9304..a2d2d21 100644
--- a/operations/common/buffer-source.c
+++ b/operations/common/buffer-source.c
@@ -110,11 +110,11 @@ gegl_chant_class_init (GeglChantClass *klass)
G_OBJECT_CLASS (klass)->dispose = dispose;
- operation_class->name = "gegl:buffer-source";
- operation_class->compat_name = "gegl:load-buffer";
- operation_class->categories = "programming:input";
- operation_class->description =
- _("A source that uses an in-memory GeglBuffer, for use internally by GEGL.");
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:buffer-source",
+ "categories", "programming:input",
+ "description", _("A source that uses an in-memory GeglBuffer, for use internally by GEGL."),
+ NULL);
operation_class->no_cache = TRUE;
}
diff --git a/operations/common/c2g.c b/operations/common/c2g.c
index 8a371a8..be7fb80 100644
--- a/operations/common/c2g.c
+++ b/operations/common/c2g.c
@@ -186,12 +186,14 @@ gegl_chant_class_init (GeglChantClass *klass)
*/
operation_class->get_bounding_box = get_bounding_box;
- operation_class->name = "gegl:c2g";
- operation_class->categories = "enhance";
- operation_class->description =
- _("Color to grayscale conversion, uses envelopes formed from spatial "
- " color differences to perform color-feature preserving grayscale "
- " spatial contrast enhancement.");
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:c2g",
+ "categories", "enhance",
+ "description",
+ _("Color to grayscale conversion, uses envelopes formed from spatial "
+ " color differences to perform color-feature preserving grayscale "
+ " spatial contrast enhancement."),
+ NULL);
}
#endif
diff --git a/operations/common/checkerboard.c b/operations/common/checkerboard.c
index 9394b07..5a37304 100644
--- a/operations/common/checkerboard.c
+++ b/operations/common/checkerboard.c
@@ -140,9 +140,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->prepare = prepare;
- operation_class->name = "gegl:checkerboard";
- operation_class->categories = "render";
- operation_class->description = _("Checkerboard renderer");
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:checkerboard",
+ "categories", "render",
+ "description", _("Checkerboard renderer"),
+ NULL);
}
#endif
diff --git a/operations/common/color-temperature.c b/operations/common/color-temperature.c
index fe9a88a..fb1b523 100644
--- a/operations/common/color-temperature.c
+++ b/operations/common/color-temperature.c
@@ -254,15 +254,17 @@ gegl_chant_class_init (GeglChantClass *klass)
object_class->notify = notify;
operation_class->prepare = prepare;
+ operation_class->opencl_support = TRUE;
point_filter_class->process = process;
point_filter_class->cl_process = cl_process;
- operation_class->name = "gegl:color-temperature";
- operation_class->opencl_support = TRUE;
- operation_class->categories = "color";
- operation_class->description =
- _("Allows changing the color temperature of an image.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:color-temperature",
+ "categories" , "color",
+ "description",
+ _("Allows changing the color temperature of an image."),
+ NULL);
}
/* Coefficients of rational functions of degree 5 fitted per color channel to
diff --git a/operations/common/color-to-alpha.c b/operations/common/color-to-alpha.c
index 665505b..7daaf6b 100644
--- a/operations/common/color-to-alpha.c
+++ b/operations/common/color-to-alpha.c
@@ -164,9 +164,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "color";
- operation_class->name = "gegl:color-to-alpha";
- operation_class->description = _("Performs color-to-alpha on the image.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:color-to-alpha",
+ "categories" , "color",
+ "description", _("Performs color-to-alpha on the image."),
+ NULL);
}
#endif
diff --git a/operations/common/color.c b/operations/common/color.c
index 0517d20..61fd7f4 100644
--- a/operations/common/color.c
+++ b/operations/common/color.c
@@ -81,11 +81,13 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = gegl_color_op_get_bounding_box;
operation_class->prepare = gegl_color_op_prepare;
- operation_class->name = "gegl:color";
- operation_class->categories = "render";
- operation_class->description =
- _("Generates a buffer entirely filled with the specified color, "
- "crop it to get smaller dimensions.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:color",
+ "categories" , "render",
+ "description",
+ _("Generates a buffer entirely filled with the specified color, "
+ "crop it to get smaller dimensions."),
+ NULL);
}
#endif
diff --git a/operations/common/contrast-curve.c b/operations/common/contrast-curve.c
index 5daaca9..9fbb2b9 100644
--- a/operations/common/contrast-curve.c
+++ b/operations/common/contrast-curve.c
@@ -118,10 +118,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:contrast-curve";
- operation_class->categories = "color";
- operation_class->description =
- _("Adjusts the contrast of the image according to a curve.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:contrast-curve",
+ "categories" , "color",
+ "description",
+ _("Adjusts the contrast of the image according to a curve."),
+ NULL);
}
#endif
diff --git a/operations/common/difference-of-gaussians.c b/operations/common/difference-of-gaussians.c
index abf38d9..86dc24b 100644
--- a/operations/common/difference-of-gaussians.c
+++ b/operations/common/difference-of-gaussians.c
@@ -92,10 +92,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class = GEGL_OPERATION_CLASS (klass);
operation_class->attach = attach;
- operation_class->name = "gegl:difference-of-gaussians";
- operation_class->categories = "meta:edge";
- operation_class->description =
- _("Does an edge detection based on the difference of two gaussian blurs.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:difference-of-gaussians",
+ "categories" , "meta:edge",
+ "description",
+ _("Does an edge detection based on the difference of two gaussian blurs."),
+ NULL);
}
#endif
diff --git a/operations/common/display.c b/operations/common/display.c
index 247b371..706fd6f 100644
--- a/operations/common/display.c
+++ b/operations/common/display.c
@@ -135,9 +135,11 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:display";
- operation_class->categories = "meta:display";
- operation_class->description =
- _("Display the input buffer in a window.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:display",
+ "categories" , "meta:display",
+ "description" ,
+ _("Display the input buffer in a window."),
+ NULL);
}
#endif
diff --git a/operations/common/dropshadow.c b/operations/common/dropshadow.c
index f62d4b8..8798350 100644
--- a/operations/common/dropshadow.c
+++ b/operations/common/dropshadow.c
@@ -75,10 +75,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class = GEGL_OPERATION_CLASS (klass);
operation_class->attach = attach;
- operation_class->name = "gegl:dropshadow";
- operation_class->categories = "meta:effects";
- operation_class->description =
- _("Creates a dropshadow effect on the input buffer.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:dropshadow",
+ "categories" , "meta:effects",
+ "description",
+ _("Creates a dropshadow effect on the input buffer."),
+ NULL);
}
#endif
diff --git a/operations/common/edge-laplace.c b/operations/common/edge-laplace.c
index a25ab88..f836b64 100644
--- a/operations/common/edge-laplace.c
+++ b/operations/common/edge-laplace.c
@@ -238,10 +238,12 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:edge-laplace";
- operation_class->categories = "edge-detect";
- operation_class->description =
- _("High-resolution edge detection");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:edge-laplace",
+ "categories" , "edge-detect",
+ "description" ,
+ _("High-resolution edge detection"),
+ NULL);
}
#endif
diff --git a/operations/common/edge-sobel.c b/operations/common/edge-sobel.c
index f93905a..2f3eba8 100644
--- a/operations/common/edge-sobel.c
+++ b/operations/common/edge-sobel.c
@@ -196,10 +196,12 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:edge-sobel";
- operation_class->categories = "edge-detect";
- operation_class->description =
- _("Specialized direction-dependent edge detection");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:edge-sobel",
+ "categories" , "edge-detect",
+ "description",
+ _("Specialized direction-dependent edge detection"),
+ NULL);
}
#endif
diff --git a/operations/common/exp-combine.c b/operations/common/exp-combine.c
index bc66d03..3e603a6 100644
--- a/operations/common/exp-combine.c
+++ b/operations/common/exp-combine.c
@@ -1283,13 +1283,15 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = gegl_expcombine_get_bounding_box;
operation_class->get_cached_region = gegl_expcombine_get_cached_region;
+ operation_class->prepare = gegl_expcombine_prepare;
operation_class->get_required_for_output = gegl_expcombine_get_required_for_output;
- operation_class->name = "gegl:exp-combine";
- operation_class->categories = "compositors";
- operation_class->description =
- _("Combine multiple scene exposures into one high range buffer");
- operation_class->prepare = gegl_expcombine_prepare;
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:exp-combine",
+ "categories" , "compositors",
+ "description",
+ _("Combine multiple scene exposures into one high range buffer"),
+ NULL);
}
diff --git a/operations/common/fattal02.c b/operations/common/fattal02.c
index f7f4667..a45fe34 100644
--- a/operations/common/fattal02.c
+++ b/operations/common/fattal02.c
@@ -1318,13 +1318,15 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_required_for_output = fattal02_get_required_for_output;
operation_class->get_cached_region = fattal02_get_cached_region;
- operation_class->name = "gegl:fattal02";
- operation_class->categories = "tonemapping";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:fattal02",
+ "categories" , "tonemapping",
+ "description",
_("Adapt an image, which may have a high dynamic range, for "
"presentation using a low dynamic range. This operator attenuates "
"the magnitudes of local image gradients, producing luminance "
- "within the range 0.0-1.0");
+ "within the range 0.0-1.0"),
+ NULL);
}
#endif
diff --git a/operations/common/fractal-explorer.c b/operations/common/fractal-explorer.c
index 6cf05cd..e30a7e2 100644
--- a/operations/common/fractal-explorer.c
+++ b/operations/common/fractal-explorer.c
@@ -466,9 +466,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->prepare = prepare;
- operation_class->name = "gegl:fractal-explorer";
- operation_class->categories = "render";
- operation_class->description = _("Fractal Explorer");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:fractal-explorer",
+ "categories" , "render",
+ "description", _("Fractal Explorer"),
+ NULL);
operation_class->no_cache = TRUE;
operation_class->get_cached_region = NULL;
diff --git a/operations/common/gaussian-blur.c b/operations/common/gaussian-blur.c
index 11f13f1..f46b4b2 100644
--- a/operations/common/gaussian-blur.c
+++ b/operations/common/gaussian-blur.c
@@ -489,11 +489,13 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "blur";
- operation_class->name = "gegl:gaussian-blur";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:gaussian-blur",
+ "categories", "blur",
+ "description",
_("Performs an averaging of neighbouring pixels with the "
- "normal distribution as weighting.");
+ "normal distribution as weighting."),
+ NULL);
}
#endif
diff --git a/operations/common/gegl-buffer-load-op.c b/operations/common/gegl-buffer-load-op.c
index 7454908..f5693d3 100644
--- a/operations/common/gegl-buffer-load-op.c
+++ b/operations/common/gegl-buffer-load-op.c
@@ -82,9 +82,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->process = gegl_buffer_load_op_process;
operation_class->get_bounding_box = gegl_buffer_load_op_get_bounding_box;
- operation_class->name = "gegl:gegl-buffer-load";
- operation_class->categories = "hidden";
- operation_class->description = _("GeglBuffer file loader.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:gegl-buffer-load",
+ "categories" , "hidden",
+ "description", _("GeglBuffer file loader."),
+ NULL);
gegl_extension_handler_register (".gegl", "gegl:gegl-buffer-load");
}
diff --git a/operations/common/gegl-buffer-save-op.c b/operations/common/gegl-buffer-save-op.c
index bc7240a..8a2eb70 100644
--- a/operations/common/gegl-buffer-save-op.c
+++ b/operations/common/gegl-buffer-save-op.c
@@ -56,9 +56,11 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = gegl_buffer_save_op_process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:gegl-buffer-save";
- operation_class->categories = "hidden";
- operation_class->description = _("GeglBuffer file writer.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:gegl-buffer-save",
+ "categories" , "hidden",
+ "description", _("GeglBuffer file writer."),
+ NULL);
gegl_extension_handler_register_saver (".gegl", "gegl:gegl-buffer-save");
}
diff --git a/operations/common/grey.c b/operations/common/grey.c
index 753ccf2..8e48373 100644
--- a/operations/common/grey.c
+++ b/operations/common/grey.c
@@ -73,9 +73,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:grey";
- operation_class->categories = "color";
- operation_class->description = _("Turns the image greyscale");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:grey",
+ "categories" , "color",
+ "description", _("Turns the image greyscale"),
+ NULL);
}
#endif
diff --git a/operations/common/grid.c b/operations/common/grid.c
index efa177b..3811f0a 100644
--- a/operations/common/grid.c
+++ b/operations/common/grid.c
@@ -123,9 +123,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->prepare = prepare;
- operation_class->name = "gegl:grid";
- operation_class->categories = "render";
- operation_class->description = _("Grid renderer");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:grid",
+ "categories" , "render",
+ "description", _("Grid renderer"),
+ NULL);
}
#endif
diff --git a/operations/common/introspect.c b/operations/common/introspect.c
index 6a75369..ea65684 100644
--- a/operations/common/introspect.c
+++ b/operations/common/introspect.c
@@ -154,9 +154,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->process = gegl_introspect_process;
operation_class->get_bounding_box = gegl_introspect_get_bounding_box;
- operation_class->name = "gegl:introspect";
- operation_class->categories = "render";
- operation_class->description = _("GEGL graph visualizer.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:introspect",
+ "categories" , "render",
+ "description", _("GEGL graph visualizer."),
+ NULL);
}
#endif
diff --git a/operations/common/invert.c b/operations/common/invert.c
index f300b85..9a3e4d4 100644
--- a/operations/common/invert.c
+++ b/operations/common/invert.c
@@ -121,13 +121,15 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
point_filter_class->cl_process = cl_process;
-
- operation_class->name = "gegl:invert";
operation_class->opencl_support = TRUE;
- operation_class->categories = "color";
- operation_class->description =
- _("Inverts the components (except alpha), the result is the "
- "corresponding \"negative\" image.");
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:invert",
+ "categories" , "color",
+ "description",
+ _("Inverts the components (except alpha), the result is the "
+ "corresponding \"negative\" image."),
+ NULL);
}
#endif
diff --git a/operations/common/layer.c b/operations/common/layer.c
index 68c2ea3..4375518 100644
--- a/operations/common/layer.c
+++ b/operations/common/layer.c
@@ -258,11 +258,14 @@ gegl_chant_class_init (GeglChantClass *klass)
object_class->finalize = finalize;
- operation_class->name = "gegl:layer";
- operation_class->categories = "meta";
- operation_class->description = _("A layer in the traditional sense.");
operation_class->attach = attach;
operation_class->prepare = prepare;
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:layer",
+ "categories" , "meta",
+ "description", _("A layer in the traditional sense."),
+ NULL);
}
diff --git a/operations/common/levels.c b/operations/common/levels.c
index 0410dc4..33778c9 100644
--- a/operations/common/levels.c
+++ b/operations/common/levels.c
@@ -97,10 +97,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
- operation_class->name = "gegl:levels";
- operation_class->categories = "color";
- operation_class->description =
- _("Remaps the intensity range of the image");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:levels",
+ "categories" , "color",
+ "description", _("Remaps the intensity range of the image"),
+ NULL);
}
#endif
diff --git a/operations/common/load.c b/operations/common/load.c
index 58f2d34..022c67d 100644
--- a/operations/common/load.c
+++ b/operations/common/load.c
@@ -171,14 +171,16 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->attach = attach;
operation_class->detect = detect;
operation_class->prepare = prepare;
+ operation_class->no_cache = TRUE;
- operation_class->name = "gegl:load";
- operation_class->categories = "meta:input";
- operation_class->description =
- _("Multipurpose file loader, that uses other native handlers, and "
- "fallback conversion using image magick's convert.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:load",
+ "categories" , "meta:input",
+ "description",
+ _("Multipurpose file loader, that uses other native handlers, and "
+ "fallback conversion using image magick's convert."),
+ NULL);
- operation_class->no_cache = TRUE;
}
#endif
diff --git a/operations/common/magick-load.c b/operations/common/magick-load.c
index 6055410..9664225 100644
--- a/operations/common/magick-load.c
+++ b/operations/common/magick-load.c
@@ -129,10 +129,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_cached_region = get_cached_region;;
operation_class->no_cache = FALSE;
- operation_class->name = "gegl:magick-load";
- operation_class->categories = "hidden";
- operation_class->description =
- _("Image Magick wrapper using the png op.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:magick-load",
+ "categories" , "hidden",
+ "description",
+ _("Image Magick wrapper using the png op."),
+ NULL);
}
#endif
diff --git a/operations/common/mantiuk06.c b/operations/common/mantiuk06.c
index 80eda07..02dfd29 100644
--- a/operations/common/mantiuk06.c
+++ b/operations/common/mantiuk06.c
@@ -1632,13 +1632,15 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_required_for_output = mantiuk06_get_required_for_output;
operation_class->get_cached_region = mantiuk06_get_cached_region;
- operation_class->name = "gegl:mantiuk06";
- operation_class->categories = "tonemapping";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:mantiuk06",
+ "categories" , "tonemapping",
+ "description",
_("Adapt an image, which may have a high dynamic range, for "
"presentation using a low dynamic range. This operator constrains "
"contrasts across multiple spatial frequencies, producing "
- "luminance within the range 0.0-1.0");
+ "luminance within the range 0.0-1.0"),
+ NULL);
}
#endif
diff --git a/operations/common/map-absolute.c b/operations/common/map-absolute.c
index 68cac1a..6d90c6a 100644
--- a/operations/common/map-absolute.c
+++ b/operations/common/map-absolute.c
@@ -142,9 +142,10 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->name = "gegl:map-absolute";
-
- operation_class->categories = "transform";
- operation_class->description = _("sample input with an auxiliary buffer that contain absolute source coordinates");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:map-absolute",
+ "categories" , "transform",
+ "description", _("sample input with an auxiliary buffer that contain absolute source coordinates"),
+ NULL);
}
#endif
diff --git a/operations/common/map-relative.c b/operations/common/map-relative.c
index 0fadda1..3a4eb24 100644
--- a/operations/common/map-relative.c
+++ b/operations/common/map-relative.c
@@ -150,9 +150,10 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->name = "gegl:map-relative";
-
- operation_class->categories = "transform";
- operation_class->description = _("sample input with an auxiliary buffer that contain relative source coordinates");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:map-relative",
+ "categories" , "transform",
+ "description", _("sample input with an auxiliary buffer that contain relative source coordinates"),
+ NULL);
}
#endif
diff --git a/operations/common/matting-global.c b/operations/common/matting-global.c
index 1e503bc..94ec815 100644
--- a/operations/common/matting-global.c
+++ b/operations/common/matting-global.c
@@ -546,11 +546,14 @@ static void gegl_chant_class_init (GeglChantClass *klass) {
operation_class->prepare = matting_prepare;
operation_class->get_required_for_output = matting_get_required_for_output;
operation_class->get_cached_region = matting_get_cached_region;
- operation_class->name = "gegl:matting-global";
- operation_class->categories = "misc";
- operation_class->description =
- _("Given a sparse user supplied tri-map and an input image, create a "
- "foreground alpha mat. Set white as selected, black as unselected, "
- "for the tri-map.");
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:matting-global",
+ "categories" , "misc",
+ "description",
+ _("Given a sparse user supplied tri-map and an input image, create a "
+ "foreground alpha mat. Set white as selected, black as unselected, "
+ "for the tri-map."),
+ NULL);
}
#endif
diff --git a/operations/common/mblur.c b/operations/common/mblur.c
index a238bef..2ac4b5c 100644
--- a/operations/common/mblur.c
+++ b/operations/common/mblur.c
@@ -138,9 +138,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:mblur";
- operation_class->categories = "blur:video";
- operation_class->description = _("Accumulating motion blur");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:mblur",
+ "categories" , "blur:video",
+ "description", _("Accumulating motion blur"),
+ NULL);
}
#endif
diff --git a/operations/common/mirrors.c b/operations/common/mirrors.c
index 98cf6ef..178de2f 100644
--- a/operations/common/mirrors.c
+++ b/operations/common/mirrors.c
@@ -394,10 +394,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->name = "gegl:mirrors";
- operation_class->categories = "blur";
- operation_class->description =
- _("Applies mirroring effect on the image.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:mirrors",
+ "categories" , "blur",
+ "description",
+ _("Applies mirroring effect on the image."),
+ NULL);
}
#endif
diff --git a/operations/common/mono-mixer.c b/operations/common/mono-mixer.c
index 0020ef3..eb3b807 100644
--- a/operations/common/mono-mixer.c
+++ b/operations/common/mono-mixer.c
@@ -99,9 +99,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:mono-mixer";
- operation_class->categories = "color";
- operation_class->description = _("Monochrome channel mixer");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:mono-mixer",
+ "categories" , "color",
+ "description", _("Monochrome channel mixer"),
+ NULL);
}
#endif
diff --git a/operations/common/motion-blur.c b/operations/common/motion-blur.c
index 945fbb4..fe58aaa 100644
--- a/operations/common/motion-blur.c
+++ b/operations/common/motion-blur.c
@@ -168,9 +168,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:motion-blur";
- operation_class->categories = "blur";
- operation_class->description = _("Linear motion blur");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:motion-blur",
+ "categories" , "blur",
+ "description", _("Linear motion blur"),
+ NULL);
}
#endif
diff --git a/operations/common/noise-reduction.c b/operations/common/noise-reduction.c
index 8aa8605..66f209d 100644
--- a/operations/common/noise-reduction.c
+++ b/operations/common/noise-reduction.c
@@ -242,9 +242,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->get_bounding_box = get_bounding_box;
- operation_class->name = "gegl:noise-reduction";
- operation_class->categories = "enhance";
- operation_class->description = "Anisotropic like smoothing operation";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:noise-reduction",
+ "categories" , "enhance",
+ "description", "Anisotropic like smoothing operation",
+ NULL);
}
#endif
diff --git a/operations/common/noise-spread.c b/operations/common/noise-spread.c
index 42eea57..3a82116 100644
--- a/operations/common/noise-spread.c
+++ b/operations/common/noise-spread.c
@@ -166,9 +166,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "noise";
- operation_class->name = "gegl:noise-spread";
- operation_class->description = _("Spread filter");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "noise",
+ "name" , "gegl:noise-spread",
+ "description", _("Spread filter"),
+ NULL);
}
diff --git a/operations/common/noise.c b/operations/common/noise.c
index a5cedc1..188a0d9 100644
--- a/operations/common/noise.c
+++ b/operations/common/noise.c
@@ -97,13 +97,15 @@ gegl_chant_class_init (GeglChantClass *klass)
point_render_class->process = process;
operation_class->get_bounding_box = get_bounding_box;
operation_class->prepare = prepare;
-
- operation_class->name = "gegl:perlin-noise";
- operation_class->categories = "render";
- operation_class->description = _("Perlin noise generator.");
-
operation_class->no_cache = TRUE;
operation_class->get_cached_region = NULL;
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:perlin-noise",
+ "categories" , "render",
+ "description", _("Perlin noise generator."),
+ NULL);
+
}
#endif
diff --git a/operations/common/opacity.c b/operations/common/opacity.c
index d9f7a81..e736078 100644
--- a/operations/common/opacity.c
+++ b/operations/common/opacity.c
@@ -216,13 +216,14 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
point_composer_class->cl_process = cl_process;
- operation_class->name = "gegl:opacity";
operation_class->opencl_support = TRUE;
-
- operation_class->categories = "transparency";
- operation_class->description =
- _("Weights the opacity of the input both the value of the aux"
- " input and the global value property.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:opacity",
+ "categories" , "transparency",
+ "description",
+ _("Weights the opacity of the input both the value of the aux"
+ " input and the global value property."),
+ NULL);
}
#endif
diff --git a/operations/common/open-buffer.c b/operations/common/open-buffer.c
index 3d5fff8..e1f74d2 100644
--- a/operations/common/open-buffer.c
+++ b/operations/common/open-buffer.c
@@ -124,9 +124,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_cached_region = get_cached_region;
- operation_class->name = "gegl:open-buffer";
- operation_class->categories = "input";
- operation_class->description = _("A source that uses an on-disk GeglBuffer.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:open-buffer",
+ "categories" , "input",
+ "description", _("A source that uses an on-disk GeglBuffer."),
+ NULL);
operation_class->no_cache = TRUE;
}
diff --git a/operations/common/over.c b/operations/common/over.c
index f0a8f62..548df45 100644
--- a/operations/common/over.c
+++ b/operations/common/over.c
@@ -189,12 +189,16 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
point_composer_class->cl_process = cl_process;
- operation_class->compat_name = "gegl:over";
- operation_class->name = "svg:src-over";
operation_class->opencl_support = TRUE;
- operation_class->description =
- _("Porter Duff operation over (d = cA + cB * (1 - aA))");
- operation_class->categories = "compositors:porter-duff";
+
+ operation_class->compat_name = "gegl:over";
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:src-over",
+ "categories" , "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation over (d = cA + cB * (1 - aA))"),
+ NULL);
}
#endif
diff --git a/operations/common/pixelise.c b/operations/common/pixelise.c
index 80cf4e0..89167b2 100644
--- a/operations/common/pixelise.c
+++ b/operations/common/pixelise.c
@@ -175,10 +175,12 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "blur";
- operation_class->name = "gegl:pixelise";
- operation_class->description =
- _("Pixelise filter");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "blur",
+ "name" , "gegl:pixelise",
+ "description",
+ _("Pixelise filter"),
+ NULL);
}
#endif
diff --git a/operations/common/plasma.c b/operations/common/plasma.c
index 0f81817..a553c02 100644
--- a/operations/common/plasma.c
+++ b/operations/common/plasma.c
@@ -382,9 +382,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_required_for_output = get_required_for_output;
operation_class->get_cached_region = get_cached_region;
- operation_class->categories = "render";
- operation_class->name = "gegl:plasma";
- operation_class->description = _("Performs plasma on the image.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:plasma",
+ "categories" , "render",
+ "description", _("Performs plasma on the image."),
+ NULL);
}
#endif
diff --git a/operations/common/polar-coordinates.c b/operations/common/polar-coordinates.c
index bd56901..bd36b99 100644
--- a/operations/common/polar-coordinates.c
+++ b/operations/common/polar-coordinates.c
@@ -396,10 +396,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_required_for_output = get_required_for_output;
-
- operation_class->categories = "enhance";
- operation_class->name = "gegl:polar-coordinates";
- operation_class->description = _("Performs polar-coordinates on the image.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:polar-coordinates",
+ "categories" , "enhance",
+ "description", _("Performs polar-coordinates on the image."),
+ NULL);
}
#endif
diff --git a/operations/common/posterize.c b/operations/common/posterize.c
index d97dc07..146e6f9 100644
--- a/operations/common/posterize.c
+++ b/operations/common/posterize.c
@@ -75,10 +75,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
- operation_class->name = "gegl:posterize";
- operation_class->categories = "color";
- operation_class->description =
- _("Reduces the number of levels in each color component of the image.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:posterize",
+ "categories" , "color",
+ "description",
+ _("Reduces the number of levels in each color component of the image."),
+ NULL);
}
diff --git a/operations/common/raw-load.c b/operations/common/raw-load.c
index 14547bf..7c64a14 100644
--- a/operations/common/raw-load.c
+++ b/operations/common/raw-load.c
@@ -176,10 +176,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_cached_region = get_cached_region;;
- operation_class->name = "gegl:raw-load";
- operation_class->categories = "hidden";
- operation_class->description =
- _("Raw image loader, wrapping dcraw with pipes.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:raw-load",
+ "categories" , "hidden",
+ "description",
+ _("Raw image loader, wrapping dcraw with pipes."),
+ NULL);
gegl_extension_handler_register (".raw", "gegl:raw-load");
gegl_extension_handler_register (".raf", "gegl:raw-load");
diff --git a/operations/common/rectangle.c b/operations/common/rectangle.c
index 64c4c14..3cb1c51 100644
--- a/operations/common/rectangle.c
+++ b/operations/common/rectangle.c
@@ -124,13 +124,15 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class = GEGL_OPERATION_CLASS (klass);
- operation_class->name = "gegl:rectangle";
- operation_class->categories = "input";
- operation_class->description =
- _("A rectangular source of a fixed size with a solid color");
operation_class->attach = attach;
operation_class->prepare = prepare;
-}
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:rectangle",
+ "categories" , "input",
+ "description",
+ _("A rectangular source of a fixed size with a solid color"),
+ NULL);
+}
#endif
diff --git a/operations/common/reinhard05.c b/operations/common/reinhard05.c
index c17baa3..bb3fcf0 100644
--- a/operations/common/reinhard05.c
+++ b/operations/common/reinhard05.c
@@ -267,13 +267,15 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_required_for_output = reinhard05_get_required_for_output;
operation_class->get_cached_region = reinhard05_get_cached_region;
- operation_class->name = "gegl:reinhard05";
- operation_class->categories = "tonemapping";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:reinhard05",
+ "categories" , "tonemapping",
+ "description",
_("Adapt an image, which may have a high dynamic range, for "
"presentation using a low dynamic range. This is an efficient "
"global operator derived from simple physiological observations, "
- "producing luminance within the range 0.0-1.0");
+ "producing luminance within the range 0.0-1.0"),
+ NULL);
}
#endif
diff --git a/operations/common/remap.c b/operations/common/remap.c
index 7c1ef53..acfed14 100644
--- a/operations/common/remap.c
+++ b/operations/common/remap.c
@@ -90,10 +90,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer3_class->process = process;
- operation_class->name = "gegl:remap";
- operation_class->description =
- _("stretch components of pixels individually based on luminance envelopes");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:remap",
+ "description",
+ _("stretch components of pixels individually based on luminance envelopes"),
+ "categories" , "compositors:porter-duff",
+ NULL);
}
#endif
diff --git a/operations/common/ripple.c b/operations/common/ripple.c
index af06b7b..c2d32fa 100644
--- a/operations/common/ripple.c
+++ b/operations/common/ripple.c
@@ -158,9 +158,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "distort";
- operation_class->name = "gegl:ripple";
- operation_class->description = _("Transform the buffer with a ripple pattern");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "distort",
+ "name" , "gegl:ripple",
+ "description", _("Transform the buffer with a ripple pattern"),
+ NULL);
}
#endif
diff --git a/operations/common/save.c b/operations/common/save.c
index 42c3f3f..7990305 100644
--- a/operations/common/save.c
+++ b/operations/common/save.c
@@ -188,10 +188,12 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:save";
- operation_class->categories = "meta:output";
- operation_class->description =
- _("Multipurpose file saver, that uses other native handlers.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:save",
+ "categories" , "meta:output",
+ "description",
+ _("Multipurpose file saver, that uses other native handlers."),
+ NULL);
}
#endif
diff --git a/operations/common/snn-mean.c b/operations/common/snn-mean.c
index 82796c9..799b481 100644
--- a/operations/common/snn-mean.c
+++ b/operations/common/snn-mean.c
@@ -221,11 +221,13 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:snn-mean";
- operation_class->categories = "misc";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:snn-mean",
+ "categories" , "misc",
+ "description",
_("Noise reducing edge enhancing blur filter based "
- " on Symmetric Nearest Neighbours");
+ " on Symmetric Nearest Neighbours"),
+ NULL);
}
#endif
diff --git a/operations/common/stress.c b/operations/common/stress.c
index 8d23082..c1c8434 100644
--- a/operations/common/stress.c
+++ b/operations/common/stress.c
@@ -184,10 +184,12 @@ gegl_chant_class_init (GeglChantClass *klass)
*/
operation_class->get_bounding_box = get_bounding_box;
- operation_class->name = "gegl:stress";
- operation_class->categories = "enhance";
- operation_class->description =
- _("Spatio Temporal Retinex-like Envelope with Stochastic Sampling.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:stress",
+ "categories" , "enhance",
+ "description",
+ _("Spatio Temporal Retinex-like Envelope with Stochastic Sampling."),
+ NULL);
}
#endif
diff --git a/operations/common/stretch-contrast.c b/operations/common/stretch-contrast.c
index 77b6516..961dcc5 100644
--- a/operations/common/stretch-contrast.c
+++ b/operations/common/stretch-contrast.c
@@ -155,12 +155,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->name = "gegl:stretch-contrast";
- operation_class->categories = "color:enhance";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:stretch-contrast",
+ "categories" , "color:enhance",
+ "description",
_("Scales the components of the buffer to be in the 0.0-1.0 range. "
"This improves images that make poor use of the available contrast "
- "(little contrast, very dark, or very bright images).");
+ "(little contrast, very dark, or very bright images)."),
+ NULL);
}
#endif
diff --git a/operations/common/svg-huerotate.c b/operations/common/svg-huerotate.c
index 4824d1e..3e4067d 100644
--- a/operations/common/svg-huerotate.c
+++ b/operations/common/svg-huerotate.c
@@ -110,9 +110,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:svg-huerotate";
- operation_class->categories = "compositors:svgfilter";
- operation_class->description = _("SVG color matrix operation svg_huerotate");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:svg-huerotate",
+ "categories" , "compositors:svgfilter",
+ "description", _("SVG color matrix operation svg_huerotate"),
+ NULL);
}
#endif
diff --git a/operations/common/svg-luminancetoalpha.c b/operations/common/svg-luminancetoalpha.c
index 1530565..f66c576 100644
--- a/operations/common/svg-luminancetoalpha.c
+++ b/operations/common/svg-luminancetoalpha.c
@@ -88,10 +88,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:svg-luminancetoalpha";
- operation_class->categories = "compositors:svgfilter";
- operation_class->description =
- _("SVG color matrix operation svg_luminancetoalpha");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:svg-luminancetoalpha",
+ "categories" , "compositors:svgfilter",
+ "description",
+ _("SVG color matrix operation svg_luminancetoalpha"),
+ NULL);
}
#endif
diff --git a/operations/common/svg-matrix.c b/operations/common/svg-matrix.c
index c8a220b..2dad080 100644
--- a/operations/common/svg-matrix.c
+++ b/operations/common/svg-matrix.c
@@ -126,9 +126,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:svg-matrix";
- operation_class->categories = "compositors:svgfilter";
- operation_class->description = _("SVG color matrix operation svg_matrix");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:svg-matrix",
+ "categories" , "compositors:svgfilter",
+ "description", _("SVG color matrix operation svg_matrix"),
+ NULL);
}
#endif
diff --git a/operations/common/svg-saturate.c b/operations/common/svg-saturate.c
index 9696508..9c79abc 100644
--- a/operations/common/svg-saturate.c
+++ b/operations/common/svg-saturate.c
@@ -121,9 +121,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:svg-saturate";
- operation_class->categories = "compositors:svgfilter";
- operation_class->description = _("SVG color matrix operation svg_saturate");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:svg-saturate",
+ "categories" , "compositors:svgfilter",
+ "description", _("SVG color matrix operation svg_saturate"),
+ NULL);
}
#endif
diff --git a/operations/common/threshold.c b/operations/common/threshold.c
index 090531b..1767f87 100644
--- a/operations/common/threshold.c
+++ b/operations/common/threshold.c
@@ -183,13 +183,15 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
point_composer_class->cl_process = cl_process;
operation_class->prepare = prepare;
-
- operation_class->name = "gegl:threshold";
operation_class->opencl_support = TRUE;
- operation_class->categories = "color";
- operation_class->description =
- _("Thresholds the image to white/black based on either the global value "
- "set in the value property, or per pixel from the aux input.");
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:threshold",
+ "categories" , "color",
+ "description",
+ _("Thresholds the image to white/black based on either the global value "
+ "set in the value property, or per pixel from the aux input."),
+ NULL);
}
#endif
diff --git a/operations/common/unsharp-mask.c b/operations/common/unsharp-mask.c
index fa34e71..f439568 100644
--- a/operations/common/unsharp-mask.c
+++ b/operations/common/unsharp-mask.c
@@ -65,11 +65,13 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class = GEGL_OPERATION_CLASS (klass);
operation_class->attach = attach;
- operation_class->name = "gegl:unsharp-mask";
- operation_class->categories = "meta:enhance";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:unsharp-mask",
+ "categories" , "meta:enhance",
+ "description",
_("Performs an unsharp mask on the input buffer (sharpens an image by "
- "adding false mach-bands around edges).");
+ "adding false mach-bands around edges)."),
+ NULL);
}
#endif
diff --git a/operations/common/value-invert.c b/operations/common/value-invert.c
index 2cfcb63..34d59bc 100644
--- a/operations/common/value-invert.c
+++ b/operations/common/value-invert.c
@@ -209,12 +209,15 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
point_filter_class->cl_process = cl_process;
- operation_class->name = "gegl:value-invert";
operation_class->opencl_support = TRUE;
- operation_class->categories = "color";
- operation_class->description =
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:value-invert",
+ "categories" , "color",
+ "description",
_("Inverts just the value component, the result is the corresponding "
- "`inverted' image.");
+ "`inverted' image."),
+ NULL);
}
#endif
diff --git a/operations/common/vignette.c b/operations/common/vignette.c
index d21a979..3c0fa7b 100644
--- a/operations/common/vignette.c
+++ b/operations/common/vignette.c
@@ -214,9 +214,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->no_cache = TRUE;
- operation_class->name = "gegl:vignette";
- operation_class->categories = "render";
- operation_class->description = _("A vignetting op, applies a vignette to an image. Simulates the luminance fall off at edge of exposed film, and some other fuzzier border effects that can naturally occur with analoge photograpy.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:vignette",
+ "categories" , "render",
+ "description", _("A vignetting op, applies a vignette to an image. Simulates the luminance fall off at edge of exposed film, and some other fuzzier border effects that can naturally occur with analoge photograpy."),
+ NULL);
}
#endif
diff --git a/operations/common/waves.c b/operations/common/waves.c
index 157d89a..ef0689b 100644
--- a/operations/common/waves.c
+++ b/operations/common/waves.c
@@ -158,9 +158,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "distort";
- operation_class->name = "gegl:waves";
- operation_class->description = _("Transform the buffer with waves");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:waves",
+ "categories" , "distort",
+ "description", _("Transform the buffer with waves"),
+ NULL);
}
#endif
diff --git a/operations/common/weighted-blend.c b/operations/common/weighted-blend.c
index cd9ab05..960b468 100644
--- a/operations/common/weighted-blend.c
+++ b/operations/common/weighted-blend.c
@@ -117,9 +117,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:weighted-blend";
- operation_class->categories = "compositors:blend";
- operation_class->description =
- _("blend two images using alpha values as weights");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:weighted-blend",
+ "categories" , "compositors:blend",
+ "description",
+ _("blend two images using alpha values as weights"),
+ NULL);
}
#endif
diff --git a/operations/common/whitebalance.c b/operations/common/whitebalance.c
index a6af68d..6176010 100644
--- a/operations/common/whitebalance.c
+++ b/operations/common/whitebalance.c
@@ -171,11 +171,14 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->cl_process = cl_process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:whitebalance";
operation_class->opencl_support = TRUE;
- operation_class->categories = "color";
- operation_class->description =
- _("Allows changing the whitepoint and blackpoint of an image.");
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:whitebalance",
+ "categories" , "color",
+ "description" ,
+ _("Allows changing the whitepoint and blackpoint of an image."),
+ NULL);
}
#endif
diff --git a/operations/common/write-buffer.c b/operations/common/write-buffer.c
index cec4272..10114d6 100644
--- a/operations/common/write-buffer.c
+++ b/operations/common/write-buffer.c
@@ -81,9 +81,11 @@ gegl_chant_class_init (GeglChantClass *klass)
G_OBJECT_CLASS (klass)->dispose = dispose;
- operation_class->name = "gegl:write-buffer";
- operation_class->categories = "programming:output";
- operation_class->description = _("A GEGL buffer destination surface.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:write-buffer",
+ "categories" , "programming:output",
+ "description", _("A GEGL buffer destination surface."),
+ NULL);
}
#endif
diff --git a/operations/core/clone.c b/operations/core/clone.c
index 19465b5..6243c33 100644
--- a/operations/core/clone.c
+++ b/operations/core/clone.c
@@ -105,12 +105,13 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->process = process;
operation_class->get_bounding_box = get_bounding_box;
operation_class->detect = detect;
-
- operation_class->name = "gegl:clone";
- operation_class->categories = "core";
- operation_class->description = _("Clone a buffer");
-
operation_class->no_cache = TRUE;
+
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:clone",
+ "description", _("Clone a buffer"),
+ "categories", "core",
+ NULL);
}
#endif
diff --git a/operations/core/convert-format.c b/operations/core/convert-format.c
index f3ba46e..e792dcf 100644
--- a/operations/core/convert-format.c
+++ b/operations/core/convert-format.c
@@ -75,10 +75,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:convert-format";
- operation_class->categories = "core:color";
- operation_class->description =
- _("Convert the data to the specified format");
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:convert-format",
+ "categories", "core:color",
+ "description", _("Convert the data to the specified format"),
+ NULL);
}
#endif
diff --git a/operations/core/crop.c b/operations/core/crop.c
index 978f26b..35b5992 100644
--- a/operations/core/crop.c
+++ b/operations/core/crop.c
@@ -173,9 +173,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_invalidated_by_change = gegl_crop_get_invalidated_by_change;
operation_class->get_required_for_output = gegl_crop_get_required_for_output;
- operation_class->name = "gegl:crop";
- operation_class->categories = "core";
- operation_class->description = _("Crop a buffer");
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:crop",
+ "categories", "core",
+ "description", _("Crop a buffer"),
+ NULL);
operation_class->no_cache = TRUE;
}
diff --git a/operations/core/nop.c b/operations/core/nop.c
index 68f78cb..45ef394 100644
--- a/operations/core/nop.c
+++ b/operations/core/nop.c
@@ -66,9 +66,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class = GEGL_OPERATION_CLASS (klass);
operation_class->process = gegl_nop_process;
- operation_class->name = "gegl:nop";
- operation_class->categories = "core";
- operation_class->description = _("No operation (can be used as a routing point)");
+ gegl_operation_class_set_keys (operation_class,
+ "name", "gegl:nop",
+ "categories", "core",
+ "description", _("No operation (can be used as a routing point)"),
+ NULL);
}
#endif
diff --git a/operations/external/exr-load.cpp b/operations/external/exr-load.cpp
index 56b76a4..719cd44 100644
--- a/operations/external/exr-load.cpp
+++ b/operations/external/exr-load.cpp
@@ -665,9 +665,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_cached_region = get_cached_region;
- operation_class->name = "gegl:exr-load";
- operation_class->categories = "hidden";
- operation_class->description = "EXR image loader.";
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:exr-load",
+ "categories" , "hidden",
+ "description" , "EXR image loader.", NULL);
gegl_extension_handler_register (".exr", "gegl:exr-load");
}
diff --git a/operations/external/exr-save.cc b/operations/external/exr-save.cc
index eb0fb0b..e704359 100644
--- a/operations/external/exr-save.cc
+++ b/operations/external/exr-save.cc
@@ -242,9 +242,11 @@ static void gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = gegl_exr_save_process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:exr-save";
- operation_class->categories = "output";
- operation_class->description = "OpenEXR image saver";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:exr-save",
+ "categories" , "output",
+ "description" , "OpenEXR image saver",
+ NULL);
gegl_extension_handler_register_saver (".exr", "gegl:exr-save");
}
diff --git a/operations/external/ff-load.c b/operations/external/ff-load.c
index 15f7327..5814460 100644
--- a/operations/external/ff-load.c
+++ b/operations/external/ff-load.c
@@ -465,9 +465,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_cached_region = get_cached_region;
operation_class->prepare = prepare;
- operation_class->name = "gegl:ff-load";
- operation_class->categories = "input:video";
- operation_class->description = _("FFmpeg video frame importer.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:ff-load",
+ "categories" , "input:video",
+ "description" , _("FFmpeg video frame importer."),
+ NULL);
}
#endif
diff --git a/operations/external/jp2-load.c b/operations/external/jp2-load.c
index db7d0d3..a019454 100644
--- a/operations/external/jp2-load.c
+++ b/operations/external/jp2-load.c
@@ -391,9 +391,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_cached_region = get_cached_region;
- operation_class->name = "gegl:jp2-load";
- operation_class->categories = "hidden";
- operation_class->description = _("JPEG-2000 image loader.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:jp2-load",
+ "categories" , "hidden",
+ "description" , _("JPEG-2000 image loader."),
+ NULL);
gegl_extension_handler_register (".jp2", "gegl:jp2-load");
gegl_extension_handler_register (".jpx", "gegl:jp2-load");
diff --git a/operations/external/jpg-load.c b/operations/external/jpg-load.c
index 1f3f8af..af1806b 100644
--- a/operations/external/jpg-load.c
+++ b/operations/external/jpg-load.c
@@ -217,9 +217,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = gegl_jpg_load_get_bounding_box;
operation_class->get_cached_region = gegl_jpg_load_get_cached_region;
- operation_class->name = "gegl:jpg-load";
- operation_class->categories = "hidden";
- operation_class->description = _("JPG image loader");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:jpg-load",
+ "categories" , "hidden",
+ "description" , _("JPG image loader"),
+ NULL);
/* static gboolean done=FALSE;
if (done)
diff --git a/operations/external/jpg-save.c b/operations/external/jpg-save.c
index 76c2b8f..082a3dc 100644
--- a/operations/external/jpg-save.c
+++ b/operations/external/jpg-save.c
@@ -185,10 +185,12 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = gegl_jpg_save_process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:jpg-save";
- operation_class->categories = "output";
- operation_class->description =
- _("JPEG image saver (passes the buffer through, saves as a side-effect.)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:jpg-save",
+ "categories" , "output",
+ "description" ,
+ _("JPEG image saver (passes the buffer through, saves as a side-effect.)"),
+ NULL);
gegl_extension_handler_register_saver (".jpg", "gegl:jpg-save");
}
diff --git a/operations/external/matting-levin.c b/operations/external/matting-levin.c
index a73e3bc..9add013 100644
--- a/operations/external/matting-levin.c
+++ b/operations/external/matting-levin.c
@@ -1421,12 +1421,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_required_for_output = matting_get_required_for_output;
operation_class->get_cached_region = matting_get_cached_region;
- operation_class->name = "gegl:matting-levin";
- operation_class->categories = "misc";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:matting-levin",
+ "categories" , "misc",
+ "description" ,
_("Given a sparse user supplied tri-map and an input image, create a "
"foreground alpha mat. Set white as selected, black as unselected, "
- "for the tri-map.");
+ "for the tri-map."),
+ NULL);
}
diff --git a/operations/external/openraw.c b/operations/external/openraw.c
index cb0d50c..9fc1e95 100644
--- a/operations/external/openraw.c
+++ b/operations/external/openraw.c
@@ -234,12 +234,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->process = process;
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_cached_region = get_cached_region;
-
- operation_class->name = "gegl:openraw-load";
- operation_class->categories = "hidden";
- operation_class->description = "Camera RAW image loader";
operation_class->prepare = prepare;
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:openraw-load",
+ "categories" , "hidden",
+ "description" , "Camera RAW image loader",
+ NULL);
+
if (done)
return;
diff --git a/operations/external/path.c b/operations/external/path.c
index 0cc1d3d..5adf573 100644
--- a/operations/external/path.c
+++ b/operations/external/path.c
@@ -512,9 +512,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->detect = detect;
/*operation_class->no_cache = TRUE;*/
- operation_class->name = "gegl:path";
- operation_class->categories = "render";
- operation_class->description = _("Renders a brush stroke");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:path",
+ "categories" , "render",
+ "description" , _("Renders a brush stroke"),
+ NULL);
}
diff --git a/operations/external/pixbuf.c b/operations/external/pixbuf.c
index 811f952..8e5f28f 100644
--- a/operations/external/pixbuf.c
+++ b/operations/external/pixbuf.c
@@ -96,10 +96,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
/*operation_class->no_cache = TRUE;*/
- operation_class->name = "gegl:pixbuf";
- operation_class->categories = "programming:input";
- operation_class->description =
- _("Uses the GdkPixbuf located at the memory location in <em>pixbuf</em>.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:pixbuf",
+ "categories" , "programming:input",
+ "description" ,
+ _("Uses the GdkPixbuf located at the memory location in <em>pixbuf</em>."),
+ NULL);
}
#endif
diff --git a/operations/external/png-load.c b/operations/external/png-load.c
index 7a4212e..89fc9a6 100644
--- a/operations/external/png-load.c
+++ b/operations/external/png-load.c
@@ -440,9 +440,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_cached_region = get_cached_region;
- operation_class->name = "gegl:png-load";
- operation_class->categories = "hidden";
- operation_class->description = _("PNG image loader.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:png-load",
+ "categories" , "hidden",
+ "description" , _("PNG image loader."),
+ NULL);
/* static gboolean done=FALSE;
if (done)
diff --git a/operations/external/png-save.c b/operations/external/png-save.c
index 511466d..5c994cf 100644
--- a/operations/external/png-save.c
+++ b/operations/external/png-save.c
@@ -226,10 +226,12 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = gegl_png_save_process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:png-save";
- operation_class->categories = "output";
- operation_class->description =
- _("PNG image saver (passes the buffer through, saves as a side-effect.)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:png-save",
+ "categories" , "output",
+ "description",
+ _("PNG image saver (passes the buffer through, saves as a side-effect.)"),
+ NULL);
gegl_extension_handler_register_saver (".png", "gegl:png-save");
}
diff --git a/operations/external/ppm-load.c b/operations/external/ppm-load.c
index 3507160..efe6d56 100644
--- a/operations/external/ppm-load.c
+++ b/operations/external/ppm-load.c
@@ -300,9 +300,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_cached_region = get_cached_region;
- operation_class->name = "gegl:ppm-load";
- operation_class->categories = "hidden";
- operation_class->description = _("PPM image loader.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:ppm-load",
+ "categories" , "hidden",
+ "description" , _("PPM image loader."),
+ NULL);
gegl_extension_handler_register (".ppm", "gegl:ppm-load");
}
diff --git a/operations/external/ppm-save.c b/operations/external/ppm-save.c
index dda89cc..0230d2f 100644
--- a/operations/external/ppm-save.c
+++ b/operations/external/ppm-save.c
@@ -183,10 +183,12 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:ppm-save";
- operation_class->categories = "output";
- operation_class->description =
- _("PPM image saver (Portable pixmap saver.)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:ppm-save",
+ "categories" , "output",
+ "description" ,
+ _("PPM image saver (Portable pixmap saver.)"),
+ NULL);
gegl_extension_handler_register_saver (".ppm", "gegl:ppm-save");
}
diff --git a/operations/external/rgbe-load.c b/operations/external/rgbe-load.c
index 6803f57..785b8cc 100644
--- a/operations/external/rgbe-load.c
+++ b/operations/external/rgbe-load.c
@@ -129,9 +129,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = gegl_rgbe_load_get_bounding_box;
operation_class->get_cached_region = gegl_rgbe_load_get_cached_region;
- operation_class->name = "gegl:rgbe-load";
- operation_class->categories = "hidden";
- operation_class->description = _("RGBE image loader (Radiance HDR format).");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:rgbe-load",
+ "categories" , "hidden",
+ "description" , _("RGBE image loader (Radiance HDR format)."),
+ NULL);
gegl_extension_handler_register (".hdr", "gegl:rgbe-load");
gegl_extension_handler_register (".pic", "gegl:rgbe-load");
diff --git a/operations/external/rgbe-save.c b/operations/external/rgbe-save.c
index d2c479e..1836121 100644
--- a/operations/external/rgbe-save.c
+++ b/operations/external/rgbe-save.c
@@ -79,10 +79,12 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = gegl_rgbe_save_process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:rgbe-save";
- operation_class->categories = "output";
- operation_class->description =
- _("RGBE image saver (Radiance HDR format)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:rgbe-save",
+ "categories" , "output",
+ "description" ,
+ _("RGBE image saver (Radiance HDR format)"),
+ NULL);
gegl_extension_handler_register_saver (".hdr", "gegl:rgbe-save");
gegl_extension_handler_register_saver (".pic", "gegl:rgbe-save");
diff --git a/operations/external/save-pixbuf.c b/operations/external/save-pixbuf.c
index b657ba1..cb5b1d3 100644
--- a/operations/external/save-pixbuf.c
+++ b/operations/external/save-pixbuf.c
@@ -100,9 +100,11 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:save-pixbuf";
- operation_class->categories = "programming:output";
- operation_class->description = _("Save output into a GdkPixbuf.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:save-pixbuf",
+ "categories" , "programming:output",
+ "description" , _("Save output into a GdkPixbuf."),
+ NULL);
}
diff --git a/operations/external/sdl-display.c b/operations/external/sdl-display.c
index 593107a..9a46d2f 100644
--- a/operations/external/sdl-display.c
+++ b/operations/external/sdl-display.c
@@ -174,10 +174,12 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:sdl-display";
- operation_class->categories = "display";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:sdl-display",
+ "categories" , "display",
+ "description" ,
_("Displays the input buffer in an SDL window (restricted to one"
- " display op/process, due to SDL implementation issues).");
+ " display op/process, due to SDL implementation issues)."),
+ NULL);
}
#endif
diff --git a/operations/external/svg-load.c b/operations/external/svg-load.c
index f1c2693..cfb4142 100644
--- a/operations/external/svg-load.c
+++ b/operations/external/svg-load.c
@@ -239,9 +239,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->get_bounding_box = get_bounding_box;
- operation_class->name = "gegl:svg-load";
- operation_class->categories = "input"; /* not hidden because it has extra API */
- operation_class->description = _("Load an SVG file using librsvg");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:svg-load",
+ "categories" , "input", /* not hidden because it has extra API */
+ "description" , _("Load an SVG file using librsvg"),
+ NULL);
/* static gboolean done=FALSE;
if (done)
diff --git a/operations/external/text.c b/operations/external/text.c
index ef58884..bb7ac84 100644
--- a/operations/external/text.c
+++ b/operations/external/text.c
@@ -291,13 +291,16 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_source_class = GEGL_OPERATION_SOURCE_CLASS (klass);
object_class->finalize = finalize;
-
- operation_class->name = "gegl:text";
- operation_class->categories = "render";
- operation_class->description = _("Display a string of text using pango and cairo.");
operation_class->prepare = prepare;
operation_class->get_bounding_box = get_bounding_box;
operation_source_class->process = process;
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:text",
+ "categories" , "render",
+ "description" , _("Display a string of text using pango and cairo."),
+ NULL);
+
}
diff --git a/operations/external/vector-fill.c b/operations/external/vector-fill.c
index 60a5abf..71a8311 100644
--- a/operations/external/vector-fill.c
+++ b/operations/external/vector-fill.c
@@ -252,9 +252,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->detect = detect;
- operation_class->name = "gegl:fill-path";
- operation_class->categories = "render";
- operation_class->description = _("Renders a filled region");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:fill-path",
+ "categories" , "render",
+ "description", _("Renders a filled region"),
+ NULL);
}
diff --git a/operations/external/vector-stroke.c b/operations/external/vector-stroke.c
index fcbdeb3..609a88e 100644
--- a/operations/external/vector-stroke.c
+++ b/operations/external/vector-stroke.c
@@ -274,9 +274,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->detect = detect;
/*operation_class->no_cache = TRUE;*/
- operation_class->name = "gegl:vector-stroke";
- operation_class->categories = "render";
- operation_class->description = _("Renders a vector stroke");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:vector-stroke",
+ "categories" , "render",
+ "description" , _("Renders a vector stroke"),
+ NULL);
}
diff --git a/operations/generated/add.c b/operations/generated/add.c
index 2d10d72..06a44fc 100644
--- a/operations/generated/add.c
+++ b/operations/generated/add.c
@@ -118,9 +118,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:add";
- operation_class->categories = "compositors:math";
- operation_class->description =
- _("Math operation add (c = c + value)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:add",
+ "categories" , "compositors:math",
+ "description" ,
+ _("Math operation add (c = c + value)"),
+ NULL);
}
#endif
diff --git a/operations/generated/clear.c b/operations/generated/clear.c
index 4106fbe..fc0905a 100644
--- a/operations/generated/clear.c
+++ b/operations/generated/clear.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:clear";
- operation_class->name = "svg:clear";
- operation_class->description =
- _("Porter Duff operation clear (d = 0.0f)");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:clear",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation clear (d = 0.0f)"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/color-burn.c b/operations/generated/color-burn.c
index c167a56..3cc174d 100644
--- a/operations/generated/color-burn.c
+++ b/operations/generated/color-burn.c
@@ -111,10 +111,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->compat_name = "gegl:color-burn";
- operation_class->name = "svg:color-burn";
- operation_class->description =
- _("SVG blend operation color-burn (<tt>if cA * aB + cB * aA <= aA * aB: d = cA * (1 - aB) + cB * (1 - aA) otherwise: d = (cA == 0 ? 1 : (aA * (cA * aB + cB * aA - aA * aB) / cA) + cA * (1 - aB) + cB * (1 - aA))</tt>)");
- operation_class->categories = "compositors:svgfilter";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:color-burn",
+ "description" ,
+ _("SVG blend operation color-burn (<tt>if cA * aB + cB * aA <= aA * aB: d = cA * (1 - aB) + cB * (1 - aA) otherwise: d = (cA == 0 ? 1 : (aA * (cA * aB + cB * aA - aA * aB) / cA) + cA * (1 - aB) + cB * (1 - aA))</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/color-dodge.c b/operations/generated/color-dodge.c
index 17ad2a4..655392f 100644
--- a/operations/generated/color-dodge.c
+++ b/operations/generated/color-dodge.c
@@ -111,10 +111,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->compat_name = "gegl:color-dodge";
- operation_class->name = "svg:color-dodge";
- operation_class->description =
- _("SVG blend operation color-dodge (<tt>if cA * aB + cB * aA >= aA * aB: d = aA * aB + cA * (1 - aB) + cB * (1 - aA) otherwise: d = (cA == aA ? 1 : cB * aA / (aA == 0 ? 1 : 1 - cA / aA)) + cA * (1 - aB) + cB * (1 - aA)</tt>)");
- operation_class->categories = "compositors:svgfilter";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:color-dodge",
+ "description" ,
+ _("SVG blend operation color-dodge (<tt>if cA * aB + cB * aA >= aA * aB: d = aA * aB + cA * (1 - aB) + cB * (1 - aA) otherwise: d = (cA == aA ? 1 : cB * aA / (aA == 0 ? 1 : 1 - cA / aA)) + cA * (1 - aB) + cB * (1 - aA)</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/darken.c b/operations/generated/darken.c
index 61c8fd6..4568982 100644
--- a/operations/generated/darken.c
+++ b/operations/generated/darken.c
@@ -108,10 +108,13 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->compat_name = "gegl:darken";
- operation_class->name = "svg:darken";
- operation_class->description =
- _("SVG blend operation darken (<tt>d = MIN (cA * aB, cB * aA) + cA * (1 - aB) + cB * (1 - aA)</tt>)");
- operation_class->categories = "compositors:svgfilter";
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:darken",
+ "description" ,
+ _("SVG blend operation darken (<tt>d = MIN (cA * aB, cB * aA) + cA * (1 - aB) + cB * (1 - aA)</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/difference.c b/operations/generated/difference.c
index b348a5c..3c17a42 100644
--- a/operations/generated/difference.c
+++ b/operations/generated/difference.c
@@ -108,10 +108,13 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->compat_name = "gegl:difference";
- operation_class->name = "svg:difference";
- operation_class->description =
- _("SVG blend operation difference (<tt>d = cA + cB - 2 * (MIN (cA * aB, cB * aA))</tt>)");
- operation_class->categories = "compositors:svgfilter";
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:difference",
+ "description" ,
+ _("SVG blend operation difference (<tt>d = cA + cB - 2 * (MIN (cA * aB, cB * aA))</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/divide.c b/operations/generated/divide.c
index 4edafb4..dbce77e 100644
--- a/operations/generated/divide.c
+++ b/operations/generated/divide.c
@@ -118,9 +118,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:divide";
- operation_class->categories = "compositors:math";
- operation_class->description =
- _("Math operation divide (c = value==0.0f?0.0f:c/value)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:divide",
+ "categories" , "compositors:math",
+ "description" ,
+ _("Math operation divide (c = value==0.0f?0.0f:c/value)"),
+ NULL);
}
#endif
diff --git a/operations/generated/dst-atop.c b/operations/generated/dst-atop.c
index 78f58ad..82d236f 100644
--- a/operations/generated/dst-atop.c
+++ b/operations/generated/dst-atop.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:dst-atop";
- operation_class->name = "svg:dst-atop";
- operation_class->description =
- _("Porter Duff operation dst-atop (d = cB * aA + cA * (1.0f - aB))");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:dst-atop",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation dst-atop (d = cB * aA + cA * (1.0f - aB))"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/dst-in.c b/operations/generated/dst-in.c
index 8051e01..4b45edd 100644
--- a/operations/generated/dst-in.c
+++ b/operations/generated/dst-in.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:dst-in";
- operation_class->name = "svg:dst-in";
- operation_class->description =
- _("Porter Duff operation dst-in (d = cB * aA)");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:dst-in",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation dst-in (d = cB * aA)"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/dst-out.c b/operations/generated/dst-out.c
index a455319..23b0bb7 100644
--- a/operations/generated/dst-out.c
+++ b/operations/generated/dst-out.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:dst-out";
- operation_class->name = "svg:dst-out";
- operation_class->description =
- _("Porter Duff operation dst-out (d = cB * (1.0f - aA))");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:dst-out",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation dst-out (d = cB * (1.0f - aA))"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/dst-over.c b/operations/generated/dst-over.c
index 1973999..cf8fa39 100644
--- a/operations/generated/dst-over.c
+++ b/operations/generated/dst-over.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:dst-over";
- operation_class->name = "svg:dst-over";
- operation_class->description =
- _("Porter Duff operation dst-over (d = cB + cA * (1.0f - aB))");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:dst-over",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation dst-over (d = cB + cA * (1.0f - aB))"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/dst.c b/operations/generated/dst.c
index b1e5ffe..7fe9f31 100644
--- a/operations/generated/dst.c
+++ b/operations/generated/dst.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:dst";
- operation_class->name = "svg:dst";
- operation_class->description =
- _("Porter Duff operation dst (d = cB)");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:dst",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation dst (d = cB)"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/exclusion.c b/operations/generated/exclusion.c
index f527183..5fec960 100644
--- a/operations/generated/exclusion.c
+++ b/operations/generated/exclusion.c
@@ -108,10 +108,13 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->compat_name = "gegl:exclusion";
- operation_class->name = "svg:exclusion";
- operation_class->description =
- _("SVG blend operation exclusion (<tt>d = (cA * aB + cB * aA - 2 * cA * cB) + cA * (1 - aB) + cB * (1 - aA)</tt>)");
- operation_class->categories = "compositors:svgfilter";
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:exclusion",
+ "description" ,
+ _("SVG blend operation exclusion (<tt>d = (cA * aB + cB * aA - 2 * cA * cB) + cA * (1 - aB) + cB * (1 - aA)</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/gamma.c b/operations/generated/gamma.c
index cfaafcf..64ba54a 100644
--- a/operations/generated/gamma.c
+++ b/operations/generated/gamma.c
@@ -118,9 +118,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:gamma";
- operation_class->categories = "compositors:math";
- operation_class->description =
- _("Math operation gamma (c = powf (c, value))");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:gamma",
+ "categories" , "compositors:math",
+ "description" ,
+ _("Math operation gamma (c = powf (c, value))"),
+ NULL);
}
#endif
diff --git a/operations/generated/hard-light.c b/operations/generated/hard-light.c
index dd9b5f7..da4f595 100644
--- a/operations/generated/hard-light.c
+++ b/operations/generated/hard-light.c
@@ -111,10 +111,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->compat_name = "gegl:hard-light";
- operation_class->name = "svg:hard-light";
- operation_class->description =
- _("SVG blend operation hard-light (<tt>if 2 * cA < aA: d = 2 * cA * cB + cA * (1 - aB) + cB * (1 - aA) otherwise: d = aA * aB - 2 * (aB - cB) * (aA - cA) + cA * (1 - aB) + cB * (1 - aA)</tt>)");
- operation_class->categories = "compositors:svgfilter";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:hard-light",
+ "description" ,
+ _("SVG blend operation hard-light (<tt>if 2 * cA < aA: d = 2 * cA * cB + cA * (1 - aB) + cB * (1 - aA) otherwise: d = aA * aB - 2 * (aB - cB) * (aA - cA) + cA * (1 - aB) + cB * (1 - aA)</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/lighten.c b/operations/generated/lighten.c
index bff48b3..9720dee 100644
--- a/operations/generated/lighten.c
+++ b/operations/generated/lighten.c
@@ -108,10 +108,13 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->compat_name = "gegl:lighten";
- operation_class->name = "svg:lighten";
- operation_class->description =
- _("SVG blend operation lighten (<tt>d = MAX (cA * aB, cB * aA) + cA * (1 - aB) + cB * (1 - aA)</tt>)");
- operation_class->categories = "compositors:svgfilter";
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:lighten",
+ "description" ,
+ _("SVG blend operation lighten (<tt>d = MAX (cA * aB, cB * aA) + cA * (1 - aB) + cB * (1 - aA)</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/math.rb b/operations/generated/math.rb
index f1e1043..cbf54fc 100755
--- a/operations/generated/math.rb
+++ b/operations/generated/math.rb
@@ -147,10 +147,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = \"gegl:#{name}\";
- operation_class->categories = \"compositors:math\";
- operation_class->description =
- _(\"Math operation #{name} (#{formula})\");
+ gegl_operation_class_set_keys (operation_class,
+ \"name\" , \"gegl:#{name}\",
+ \"categories\" , \"compositors:math\",
+ \"description\" ,
+ _(\"Math operation #{name} (#{formula})\"),
+ NULL);
}
#endif
"
diff --git a/operations/generated/multiply.c b/operations/generated/multiply.c
index 8b5b239..032c522 100644
--- a/operations/generated/multiply.c
+++ b/operations/generated/multiply.c
@@ -118,9 +118,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:multiply";
- operation_class->categories = "compositors:math";
- operation_class->description =
- _("Math operation multiply (c = c * value)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:multiply",
+ "categories" , "compositors:math",
+ "description" ,
+ _("Math operation multiply (c = c * value)"),
+ NULL);
}
#endif
diff --git a/operations/generated/other-blend.rb b/operations/generated/other-blend.rb
index a317e2a..5f632bf 100755
--- a/operations/generated/other-blend.rb
+++ b/operations/generated/other-blend.rb
@@ -95,7 +95,7 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
'
-file_tail2 = ' operation_class->categories = "compositors:porter-duff";
+file_tail2 = ' gegl_operation_class_set_key (operation_class, "categories", "compositors:porter-duff");
}
#endif
@@ -154,9 +154,13 @@ a.each do
"
file.write file_tail1
file.write "
- operation_class->name = \"gegl:#{name}\";
- operation_class->description =
- _(\"Porter Duff operation #{name} (d = #{c_formula})\");
+
+ gegl_operation_class_set_keys (operation_class,
+ \"name\" , \"gegl:#{name}\";
+ \"description\",
+ _(\"Porter Duff operation #{name} (d = #{c_formula})\"),
+ NULL);
+
"
file.write file_tail2
file.close
diff --git a/operations/generated/overlay.c b/operations/generated/overlay.c
index 00bf526..6407f54 100644
--- a/operations/generated/overlay.c
+++ b/operations/generated/overlay.c
@@ -111,10 +111,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->compat_name = "gegl:overlay";
- operation_class->name = "svg:overlay";
- operation_class->description =
- _("SVG blend operation overlay (<tt>if 2 * cB > aB: d = 2 * cA * cB + cA * (1 - aB) + cB * (1 - aA) otherwise: d = aA * aB - 2 * (aB - cB) * (aA - cA) + cA * (1 - aB) + cB * (1 - aA)</tt>)");
- operation_class->categories = "compositors:svgfilter";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:overlay",
+ "description" ,
+ _("SVG blend operation overlay (<tt>if 2 * cB > aB: d = 2 * cA * cB + cA * (1 - aB) + cB * (1 - aA) otherwise: d = aA * aB - 2 * (aB - cB) * (aA - cA) + cA * (1 - aB) + cB * (1 - aA)</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/plus.c b/operations/generated/plus.c
index 6c7ca18..9850acf 100644
--- a/operations/generated/plus.c
+++ b/operations/generated/plus.c
@@ -107,11 +107,14 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "svg:plus";
operation_class->compat_name = "gegl:plus";
- operation_class->description =
- _("SVG blend operation plus (<tt>d = cA + cB</tt>)");
- operation_class->categories = "compositors:svgfilter";
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:plus",
+ "description" ,
+ _("SVG blend operation plus (<tt>d = cA + cB</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/screen.c b/operations/generated/screen.c
index aecf914..5d6b2f0 100644
--- a/operations/generated/screen.c
+++ b/operations/generated/screen.c
@@ -108,10 +108,13 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->compat_name = "gegl:screen";
- operation_class->name = "svg:screen";
- operation_class->description =
- _("SVG blend operation screen (<tt>d = cA + cB - cA * cB</tt>)");
- operation_class->categories = "compositors:svgfilter";
+
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:screen",
+ "description" ,
+ _("SVG blend operation screen (<tt>d = cA + cB - cA * cB</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/soft-light.c b/operations/generated/soft-light.c
index 4e087b7..d25e9e0 100644
--- a/operations/generated/soft-light.c
+++ b/operations/generated/soft-light.c
@@ -113,10 +113,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:soft-light";
- operation_class->description =
- _("SVG blend operation soft-light (<tt>if 2 * cA < aA: d = cB * (aA - (aB == 0 ? 1 : 1 - cB / aB) * (2 * cA - aA)) + cA * (1 - aB) + cB * (1 - aA); if 8 * cB <= aB: d = cB * (aA - (aB == 0 ? 1 : 1 - cB / aB) * (2 * cA - aA) * (aB == 0 ? 3 : 3 - 8 * cB / aB)) + cA * (1 - aB) + cB * (1 - aA); otherwise: d = (aA * cB + (aB == 0 ? 0 : sqrt (cB / aB) * aB - cB) * (2 * cA - aA)) + cA * (1 - aB) + cB * (1 - aA)</tt>)");
- operation_class->categories = "compositors:svgfilter";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:soft-light",
+ "description" ,
+ _("SVG blend operation soft-light (<tt>if 2 * cA < aA: d = cB * (aA - (aB == 0 ? 1 : 1 - cB / aB) * (2 * cA - aA)) + cA * (1 - aB) + cB * (1 - aA); if 8 * cB <= aB: d = cB * (aA - (aB == 0 ? 1 : 1 - cB / aB) * (2 * cA - aA) * (aB == 0 ? 3 : 3 - 8 * cB / aB)) + cA * (1 - aB) + cB * (1 - aA); otherwise: d = (aA * cB + (aB == 0 ? 0 : sqrt (cB / aB) * aB - cB) * (2 * cA - aA)) + cA * (1 - aB) + cB * (1 - aA)</tt>)"),
+ NULL);
+ gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
diff --git a/operations/generated/src-atop.c b/operations/generated/src-atop.c
index 12278c0..fb10d34 100644
--- a/operations/generated/src-atop.c
+++ b/operations/generated/src-atop.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:src-atop";
- operation_class->name = "svg:src-atop";
- operation_class->description =
- _("Porter Duff operation src-atop (d = cA * aB + cB * (1.0f - aA))");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:src-atop",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation src-atop (d = cA * aB + cB * (1.0f - aA))"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/src-in.c b/operations/generated/src-in.c
index ee6ec47..88e5af9 100644
--- a/operations/generated/src-in.c
+++ b/operations/generated/src-in.c
@@ -117,11 +117,15 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:src-in";
- operation_class->name = "svg:src-in";
- operation_class->get_bounding_box = get_bounding_box;
- operation_class->description =
- _("Porter Duff operation src-in (d = cA * aB)");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:src-in",
+ "get_bounding_box" , get_bounding_box,
+ "categories", "compositors:porter-duff",
+ "description" ,
+ _("Porter Duff operation src-in (d = cA * aB)"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/src-out.c b/operations/generated/src-out.c
index 26a649b..9577f03 100644
--- a/operations/generated/src-out.c
+++ b/operations/generated/src-out.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:src-out";
- operation_class->name = "svg:src-out";
- operation_class->description =
- _("Porter Duff operation src-out (d = cA * (1.0f - aB))");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:src-out",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation src-out (d = cA * (1.0f - aB))"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/src-over.c b/operations/generated/src-over.c
index 1bddb16..e586087 100644
--- a/operations/generated/src-over.c
+++ b/operations/generated/src-over.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:src-over";
- operation_class->name = "svg:src-over";
- operation_class->description =
- _("Porter Duff operation src-over (d = cA + cB * (1.0f - aA))");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:src-over",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation src-over (d = cA + cB * (1.0f - aA))"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/src.c b/operations/generated/src.c
index 74dfa22..c497d54 100644
--- a/operations/generated/src.c
+++ b/operations/generated/src.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:src";
- operation_class->name = "svg:src";
- operation_class->description =
- _("Porter Duff operation src (d = cA)");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:src",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation src (d = cA)"),
+ NULL);
+
+
}
#endif
diff --git a/operations/generated/subtract.c b/operations/generated/subtract.c
index 43317dc..1779f9a 100644
--- a/operations/generated/subtract.c
+++ b/operations/generated/subtract.c
@@ -118,9 +118,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:subtract";
- operation_class->categories = "compositors:math";
- operation_class->description =
- _("Math operation subtract (c = c - value)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:subtract",
+ "categories" , "compositors:math",
+ "description" ,
+ _("Math operation subtract (c = c - value)"),
+ NULL);
}
#endif
diff --git a/operations/generated/svg-12-blend.rb b/operations/generated/svg-12-blend.rb
index 0e7680f..66e074c 100755
--- a/operations/generated/svg-12-blend.rb
+++ b/operations/generated/svg-12-blend.rb
@@ -126,7 +126,7 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
'
-file_tail2 = ' operation_class->categories = "compositors:svgfilter";
+file_tail2 = ' gegl_operation_class_set_key (operation_class, "categories", "compositors:svgfilter");
}
#endif
@@ -182,9 +182,12 @@ a.each do
file.write file_tail1
file.write "
operation_class->compat_name = \"gegl:#{name}\";
- operation_class->name = \"svg:#{name}\";
- operation_class->description =
- _(\"SVG blend operation #{name} (<tt>d = #{formula1}</tt>)\");
+
+ gegl_operation_class_set_keys (operation_class,
+ \"name\" , \"svg:#{name}\",
+ \"description\" ,
+ _(\"SVG blend operation #{name} (<tt>d = #{formula1}</tt>)\"),
+ NULL);
"
file.write file_tail2
file.close
@@ -245,9 +248,11 @@ b.each do
file.write file_tail1
file.write "
operation_class->compat_name = \"gegl:#{name}\";
- operation_class->name = \"svg:#{name}\";
- operation_class->description =
- _(\"SVG blend operation #{name} (<tt>if #{cond1}: d = #{formula1} otherwise: d = #{formula2}</tt>)\");
+ gegl_operation_class_set_keys (operation_class,
+ \"name\" , \"svg:#{name}\",
+ \"description\" ,
+ _(\"SVG blend operation #{name} (<tt>if #{cond1}: d = #{formula1} otherwise: d = #{formula2}</tt>)\"),
+ NULL);
"
file.write file_tail2
file.close
@@ -312,9 +317,11 @@ c.each do
"
file.write file_tail1
file.write "
- operation_class->name = \"gegl:#{name}\";
- operation_class->description =
- _(\"SVG blend operation #{name} (<tt>if #{cond1}: d = #{formula1}; if #{cond2}: d = #{formula2}; otherwise: d = #{formula3}</tt>)\");
+ gegl_operation_class_set_keys (operation_class,
+ \"name\" , \"gegl:#{name}\",
+ \"description\" ,
+ _(\"SVG blend operation #{name} (<tt>if #{cond1}: d = #{formula1}; if #{cond2}: d = #{formula2}; otherwise: d = #{formula3}</tt>)\"),
+ NULL);
"
file.write file_tail2
file.close
@@ -370,10 +377,13 @@ d.each do
"
file.write file_tail1
file.write "
- operation_class->name = \"svg:#{name}\";
operation_class->compat_name = \"gegl:#{name}\";
- operation_class->description =
- _(\"SVG blend operation #{name} (<tt>d = #{formula1}</tt>)\");
+
+ gegl_operation_class_set_keys (operation_class,
+ \"name\" , \"svg:#{name}\",
+ \"description\" ,
+ _(\"SVG blend operation #{name} (<tt>d = #{formula1}</tt>)\"),
+ NULL);
"
file.write file_tail2
file.close
diff --git a/operations/generated/svg-12-porter-duff.rb b/operations/generated/svg-12-porter-duff.rb
index 811cfd9..5516802 100755
--- a/operations/generated/svg-12-porter-duff.rb
+++ b/operations/generated/svg-12-porter-duff.rb
@@ -116,7 +116,8 @@ gegl_chant_class_init (GeglChantClass *klass)
'
-file_tail2 = ' operation_class->categories = "compositors:porter-duff";
+file_tail2 = '
+
}
#endif
@@ -175,9 +176,12 @@ a.each do
file.write file_tail1
file.write "
operation_class->compat_name = \"gegl:#{name}\";
- operation_class->name = \"svg:#{name}\";
- operation_class->description =
- _(\"Porter Duff operation #{name} (d = #{c_formula})\");
+ gegl_operation_class_set_keys (operation_class,
+ \"name\" , \"svg:#{name}\",
+ \"categories\", \"compositors:porter-duff\",
+ \"description\",
+ _(\"Porter Duff operation #{name} (d = #{c_formula})\"),
+ NULL);
"
file.write file_tail2
file.close
@@ -248,10 +252,13 @@ static GeglRectangle get_bounding_box (GeglOperation *self)
file.write file_tail1
file.write "
operation_class->compat_name = \"gegl:#{name}\";
- operation_class->name = \"svg:#{name}\";
- operation_class->get_bounding_box = get_bounding_box;
- operation_class->description =
- _(\"Porter Duff operation #{name} (d = #{c_formula})\");
+ gegl_operation_class_set_keys (operation_class,
+ \"name\" , \"svg:#{name}\",
+ \"get_bounding_box\" , get_bounding_box,
+ \"categories\", \"compositors:porter-duff\",
+ \"description\" ,
+ _(\"Porter Duff operation #{name} (d = #{c_formula})\"),
+ NULL);
"
file.write file_tail2
file.close
diff --git a/operations/generated/svg-multiply.c b/operations/generated/svg-multiply.c
index 8a47bcf..2c1385c 100644
--- a/operations/generated/svg-multiply.c
+++ b/operations/generated/svg-multiply.c
@@ -107,10 +107,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:svg-multiply";
- operation_class->description =
- _("SVG blend operation svg-multiply (<tt>d = cA * cB + cA * (1 - aB) + cB * (1 - aA)</tt>)");
- operation_class->categories = "compositors:svgfilter";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:svg-multiply",
+ "categories" , "compositors:svgfilter",
+ "description",
+ _("SVG blend operation svg-multiply (<tt>d = cA * cB + cA * (1 - aB) + cB * (1 - aA)</tt>)"),
+ NULL);
}
#endif
diff --git a/operations/generated/xor.c b/operations/generated/xor.c
index 3eaa86c..e35dc0f 100644
--- a/operations/generated/xor.c
+++ b/operations/generated/xor.c
@@ -109,10 +109,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->compat_name = "gegl:xor";
- operation_class->name = "svg:xor";
- operation_class->description =
- _("Porter Duff operation xor (d = cA * (1.0f - aB)+ cB * (1.0f - aA))");
- operation_class->categories = "compositors:porter-duff";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "svg:xor",
+ "categories", "compositors:porter-duff",
+ "description",
+ _("Porter Duff operation xor (d = cA * (1.0f - aB)+ cB * (1.0f - aA))"),
+ NULL);
+
+
}
#endif
diff --git a/operations/workshop/box-max.c b/operations/workshop/box-max.c
index 983b431..b395700 100644
--- a/operations/workshop/box-max.c
+++ b/operations/workshop/box-max.c
@@ -191,10 +191,12 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:box-max";
- operation_class->categories = "misc";
- operation_class->description =
- _("Sets the target pixel to the value of the maximum value in a box surrounding the pixel.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:box-max",
+ "categories" , "misc",
+ "description" ,
+ _("Sets the target pixel to the value of the maximum value in a box surrounding the pixel."),
+ NULL);
}
#endif
diff --git a/operations/workshop/box-min.c b/operations/workshop/box-min.c
index 86da757..a9cf636 100644
--- a/operations/workshop/box-min.c
+++ b/operations/workshop/box-min.c
@@ -191,10 +191,13 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:box-min";
- operation_class->categories = "misc";
- operation_class->description =
- _("Sets the target pixel to the value of the minimum value in a box surrounding the pixel.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:box-min",
+ "categories" , "misc",
+ "description" ,
+ _("Sets the target pixel to the value of the minimum value in a box surrounding the pixel."),
+ NULL);
}
+
#endif
diff --git a/operations/workshop/box-percentile.c b/operations/workshop/box-percentile.c
index ce1ef69..0cc9273 100644
--- a/operations/workshop/box-percentile.c
+++ b/operations/workshop/box-percentile.c
@@ -223,11 +223,13 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:box-percentile";
- operation_class->categories = "misc";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:box-percentile",
+ "categories" , "misc",
+ "description",
_("Sets the target pixel to the color corresponding to a given percentile "
- "when colors are sorted by luminance.");
+ "when colors are sorted by luminance."),
+ NULL);
}
#endif
diff --git a/operations/workshop/buffer-cache.c b/operations/workshop/buffer-cache.c
index 689c660..324fb5a 100644
--- a/operations/workshop/buffer-cache.c
+++ b/operations/workshop/buffer-cache.c
@@ -97,9 +97,11 @@ gegl_chant_class_init (GeglChantClass *klass)
G_OBJECT_CLASS (klass)->dispose = dispose;
- operation_class->name = "gegl:buffer-cache";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:buffer-cache",
+ "categories" , "core",
+ "description" , _("Cache the input buffer internally, further process take this buffer as input."),
+ NULL);
- operation_class->categories = "core";
- operation_class->description = _("Cache the input buffer internally, further process take this buffer as input.");
}
#endif
diff --git a/operations/workshop/color-reduction.c b/operations/workshop/color-reduction.c
index 6dc61e7..0b62a2a 100644
--- a/operations/workshop/color-reduction.c
+++ b/operations/workshop/color-reduction.c
@@ -452,10 +452,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_cached_region = get_cached_region;
filter_class->process = process;
- operation_class->name = "gegl:color-reduction";
- operation_class->categories = "misc";
- operation_class->description =
- _("Reduces the number of bits per channel (colors and alpha), with optional dithering.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:color-reduction",
+ "categories" , "misc",
+ "description" ,
+ _("Reduces the number of bits per channel (colors and alpha), with optional dithering."),
+ NULL);
}
#endif
diff --git a/operations/workshop/color-rotate.c b/operations/workshop/color-rotate.c
index 706795c..cf6445d 100644
--- a/operations/workshop/color-rotate.c
+++ b/operations/workshop/color-rotate.c
@@ -379,9 +379,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "color";
- operation_class->name = "gegl:color-rotate";
- operation_class->description = _("Rotate colors on the image.");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "color",
+ "name" , "gegl:color-rotate",
+ "description" , _("Rotate colors on the image."),
+ NULL);
}
#endif
diff --git a/operations/workshop/convolution-matrix.c b/operations/workshop/convolution-matrix.c
index 0cda31f..ef17039 100644
--- a/operations/workshop/convolution-matrix.c
+++ b/operations/workshop/convolution-matrix.c
@@ -426,10 +426,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->categories = "generic";
- operation_class->name = "gegl:convolution-matrix";
- operation_class->description =
- _("Creates image by manually set convolution matrix.");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "generic",
+ "name" , "gegl:convolution-matrix",
+ "description" ,
+ _("Creates image by manually set convolution matrix."),
+ NULL);
}
#endif
diff --git a/operations/workshop/cubism.c b/operations/workshop/cubism.c
index 0d90d16..6071f28 100644
--- a/operations/workshop/cubism.c
+++ b/operations/workshop/cubism.c
@@ -589,10 +589,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_required_for_output = get_required_for_output;
operation_class->get_cached_region = get_cached_region;
- operation_class->categories = "artistic";
- operation_class->name = "gegl:cubism";
- operation_class->description =
- _("Performs cubism on the image");
+ gegl_operation_class_set_keys (operation_class,
+ "categories", "artistic",
+ "name", "gegl:cubism",
+ "description", _("Filter that somehow resembels a cubist painting style."),
+ NULL);
}
#endif
diff --git a/operations/workshop/deinterlace.c b/operations/workshop/deinterlace.c
index c6c42df..5206a13 100644
--- a/operations/workshop/deinterlace.c
+++ b/operations/workshop/deinterlace.c
@@ -303,9 +303,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->categories = "enhance";
- operation_class->name = "gegl:deinterlace";
- operation_class->description = _("Performs deinterlace on the image.");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "enhance",
+ "name" , "gegl:deinterlace",
+ "description" , _("Performs deinterlace on the image."),
+ NULL);
}
#endif
diff --git a/operations/workshop/demosaic-bimedian.c b/operations/workshop/demosaic-bimedian.c
index 8b63168..4e91295 100644
--- a/operations/workshop/demosaic-bimedian.c
+++ b/operations/workshop/demosaic-bimedian.c
@@ -213,10 +213,12 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:demosaic-bimedian";
- operation_class->categories = "blur";
- operation_class->description =
- _("Performs a grayscale2color demosaicing of an image, using bimedian interpolation.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:demosaic-bimedian",
+ "categories" , "blur",
+ "description" ,
+ _("Performs a grayscale2color demosaicing of an image, using bimedian interpolation."),
+ NULL);
}
#endif
diff --git a/operations/workshop/demosaic-simple.c b/operations/workshop/demosaic-simple.c
index 1635856..e3a2a00 100644
--- a/operations/workshop/demosaic-simple.c
+++ b/operations/workshop/demosaic-simple.c
@@ -145,9 +145,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:demosaic-simple";
- operation_class->categories = "blur";
- operation_class->description =
- _("Performs a naive grayscale2color demosaicing of an image, no interpolation.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:demosaic-simple",
+ "categories" , "blur",
+ "description" ,
+ _("Performs a naive grayscale2color demosaicing of an image, no interpolation."),
+ NULL);
}
#endif
diff --git a/operations/workshop/disc-percentile.c b/operations/workshop/disc-percentile.c
index d2643fd..d9b566d 100644
--- a/operations/workshop/disc-percentile.c
+++ b/operations/workshop/disc-percentile.c
@@ -227,11 +227,13 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:disc-percentile";
- operation_class->categories = "misc";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:disc-percentile",
+ "categories" , "misc",
+ "description" ,
_("Sets the target pixel to the color corresponding to a given"
- " percentile when colors are sorted by luminance.");
+ " percentile when colors are sorted by luminance."),
+ NULL);
}
#endif
diff --git a/operations/workshop/ditto.c b/operations/workshop/ditto.c
index 3b2b9cf..9a19df9 100644
--- a/operations/workshop/ditto.c
+++ b/operations/workshop/ditto.c
@@ -105,9 +105,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "distort";
- operation_class->name = "gegl:ditto";
- operation_class->description = _("Test op to do a 1:1 map of input to output, while sampling");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "distort",
+ "name" , "gegl:ditto",
+ "description" , _("Test op to do a 1:1 map of input to output, while sampling"),
+ NULL);
}
#endif
diff --git a/operations/workshop/emboss.c b/operations/workshop/emboss.c
index 12b4f54..7f4d162 100644
--- a/operations/workshop/emboss.c
+++ b/operations/workshop/emboss.c
@@ -242,10 +242,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "distort";
- operation_class->name = "gegl:emboss";
- operation_class->description =
- _("Simulates an image created by embossing.");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "distort",
+ "name" , "gegl:emboss",
+ "description", _("Simulates an image created by embossing."),
+ NULL);
}
#endif
diff --git a/operations/workshop/external/ff-save.c b/operations/workshop/external/ff-save.c
index d550c45..0f3105d 100644
--- a/operations/workshop/external/ff-save.c
+++ b/operations/workshop/external/ff-save.c
@@ -883,9 +883,11 @@ gegl_chant_class_init (GeglChantClass *klass)
sink_class->process = process;
sink_class->needs_full = TRUE;
- operation_class->name = "gegl:ff-save";
- operation_class->categories = "output:video";
- operation_class->description = _("FFmpeg video output sink");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:ff-save",
+ "categories" , "output:video",
+ "description" , _("FFmpeg video output sink"),
+ NULL);
}
#endif
diff --git a/operations/workshop/external/gluas.c b/operations/workshop/external/gluas.c
index bc633fd..8ba1101 100644
--- a/operations/workshop/external/gluas.c
+++ b/operations/workshop/external/gluas.c
@@ -977,11 +977,13 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->name = "gegl:gluas";
- operation_class->categories = "script:misc";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:gluas",
+ "categories" , "script:misc",
+ "description" ,
_("A general purpose filter/composer implementation proxy for the"
- " lua programming language.");
+ " lua programming language."),
+ NULL);
}
#endif
diff --git a/operations/workshop/external/lens-correct.c b/operations/workshop/external/lens-correct.c
index ff6d892..79bd0ff 100644
--- a/operations/workshop/external/lens-correct.c
+++ b/operations/workshop/external/lens-correct.c
@@ -469,10 +469,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->name = "gegl:lens-correct";
- operation_class->categories = "blur";
- operation_class->description =
- _("Copies image performing lens distortion correction.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:lens-correct",
+ "categories" , "blur",
+ "description",
+ _("Copies image performing lens distortion correction."),
+ NULL);
}
#endif
diff --git a/operations/workshop/external/line-profile.c b/operations/workshop/external/line-profile.c
index ae0603a..59d83e6 100644
--- a/operations/workshop/external/line-profile.c
+++ b/operations/workshop/external/line-profile.c
@@ -171,12 +171,14 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_required_for_output = get_required_for_output;
operation_class->get_bounding_box = get_bounding_box;
- operation_class->name = "gegl:line-profile";
- operation_class->categories = "debug";
- operation_class->description =
- _("Renders luminance profiles for red green and blue components along"
- " the specified line in the input buffer, plotted in a buffer of the"
- " specified size.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:line-profile",
+ "categories" , "debug",
+ "description" ,
+ _("Renders luminance profiles for red green and blue components along"
+ " the specified line in the input buffer, plotted in a buffer of the"
+ " specified size."),
+ NULL);
}
#endif
diff --git a/operations/workshop/fractal-trace.c b/operations/workshop/fractal-trace.c
index 1184f32..f864bad 100644
--- a/operations/workshop/fractal-trace.c
+++ b/operations/workshop/fractal-trace.c
@@ -315,9 +315,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->categories = "map";
- operation_class->name = "gegl:fractal-trace";
- operation_class->description = _("Performs fractal trace on the image");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "map",
+ "name" , "gegl:fractal-trace",
+ "description" , _("Performs fractal trace on the image"),
+ NULL);
}
#endif
diff --git a/operations/workshop/generated/average.c b/operations/workshop/generated/average.c
index 7606d28..5849326 100644
--- a/operations/workshop/generated/average.c
+++ b/operations/workshop/generated/average.c
@@ -102,10 +102,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:average";
- operation_class->categories = "compositors:blend";
- operation_class->description =
- _("Image blending operation 'average' (<tt>c = (cA + aB)/2</tt>)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:average",
+ "categories" , "compositors:blend",
+ "description" ,
+ _("Image blending operation 'average' (<tt>c = (cA + aB)/2</tt>)"),
+ NULL);
}
#endif
diff --git a/operations/workshop/generated/blend-reflect.c b/operations/workshop/generated/blend-reflect.c
index c1d3bbc..c10803f 100644
--- a/operations/workshop/generated/blend-reflect.c
+++ b/operations/workshop/generated/blend-reflect.c
@@ -102,10 +102,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:blend-reflect";
- operation_class->categories = "compositors:blend";
- operation_class->description =
- _("Image blending operation 'blend-reflect' (<tt>c = cB>=1.0?1.0:cA*cA / (1.0-cB)</tt>)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:blend-reflect",
+ "categories" , "compositors:blend",
+ "description" ,
+ _("Image blending operation 'blend-reflect' (<tt>c = cB>=1.0?1.0:cA*cA / (1.0-cB)</tt>)"),
+ NULL);
}
#endif
diff --git a/operations/workshop/generated/blend.rb b/operations/workshop/generated/blend.rb
index dcda16b..5ece5cf 100755
--- a/operations/workshop/generated/blend.rb
+++ b/operations/workshop/generated/blend.rb
@@ -140,10 +140,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = \"gegl:#{name}\";
- operation_class->categories = \"compositors:blend\";
- operation_class->description =
- _(\"Image blending operation '#{name}' (<tt>c = #{formula}</tt>)\");
+ gegl_operation_class_set_keys (operation_class,
+ \"name\" , \"gegl:#{name}\",
+ \"categories\" , \"compositors:blend\",
+ \"description\" ,
+ _(\"Image blending operation '#{name}' (<tt>c = #{formula}</tt>)\"),
+ NULL);
}
#endif
diff --git a/operations/workshop/generated/negation.c b/operations/workshop/generated/negation.c
index 6ea2283..b66fd03 100644
--- a/operations/workshop/generated/negation.c
+++ b/operations/workshop/generated/negation.c
@@ -102,10 +102,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:negation";
- operation_class->categories = "compositors:blend";
- operation_class->description =
- _("Image blending operation 'negation' (<tt>c = 1.0 - fabs(1.0-cA-cB)</tt>)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:negation",
+ "categories" , "compositors:blend",
+ "description" ,
+ _("Image blending operation 'negation' (<tt>c = 1.0 - fabs(1.0-cA-cB)</tt>)"),
+ NULL);
}
#endif
diff --git a/operations/workshop/generated/soft-burn.c b/operations/workshop/generated/soft-burn.c
index ffcc0f9..9c57d70 100644
--- a/operations/workshop/generated/soft-burn.c
+++ b/operations/workshop/generated/soft-burn.c
@@ -102,10 +102,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:soft-burn";
- operation_class->categories = "compositors:blend";
- operation_class->description =
- _("Image blending operation 'soft-burn' (<tt>c = (cA+cB<1.0)?0.5*cB / (1.0 - cA):1.0-0.5*(1.0 - cA) / cB</tt>)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:soft-burn",
+ "categories" , "compositors:blend",
+ "description" ,
+ _("Image blending operation 'soft-burn' (<tt>c = (cA+cB<1.0)?0.5*cB / (1.0 - cA):1.0-0.5*(1.0 - cA) / cB</tt>)"),
+ NULL);
}
#endif
diff --git a/operations/workshop/generated/soft-dodge.c b/operations/workshop/generated/soft-dodge.c
index 6e2cf4f..1e594fa 100644
--- a/operations/workshop/generated/soft-dodge.c
+++ b/operations/workshop/generated/soft-dodge.c
@@ -102,10 +102,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:soft-dodge";
- operation_class->categories = "compositors:blend";
- operation_class->description =
- _("Image blending operation 'soft-dodge' (<tt>c = (cA+cB<1.0)?0.5*cA / (1.0 - cB):1.0-0.5*(1.0 - cB)/cA</tt>)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:soft-dodge",
+ "categories" , "compositors:blend",
+ "description" ,
+ _("Image blending operation 'soft-dodge' (<tt>c = (cA+cB<1.0)?0.5*cA / (1.0 - cB):1.0-0.5*(1.0 - cB)/cA</tt>)"),
+ NULL);
}
#endif
diff --git a/operations/workshop/generated/subtractive.c b/operations/workshop/generated/subtractive.c
index 1fd0a9b..b5c8bae 100644
--- a/operations/workshop/generated/subtractive.c
+++ b/operations/workshop/generated/subtractive.c
@@ -102,10 +102,12 @@ gegl_chant_class_init (GeglChantClass *klass)
point_composer_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:subtractive";
- operation_class->categories = "compositors:blend";
- operation_class->description =
- _("Image blending operation 'subtractive' (<tt>c = cA+cB-1.0</tt>)");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:subtractive",
+ "categories" , "compositors:blend",
+ "description" ,
+ _("Image blending operation 'subtractive' (<tt>c = cA+cB-1.0</tt>)"),
+ NULL);
}
#endif
diff --git a/operations/workshop/hstack.c b/operations/workshop/hstack.c
index d62b2d2..3ba5bd5 100644
--- a/operations/workshop/hstack.c
+++ b/operations/workshop/hstack.c
@@ -171,10 +171,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_invalidated_by_change = get_invalidated_by_change;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->name = "gegl:hstack";
- operation_class->categories = "misc";
- operation_class->description =
- _("Horizontally stack inputs, (in \"output\" \"aux\" is placed to the right of \"input\")");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:hstack",
+ "categories" , "misc",
+ "description" ,
+ _("Horizontally stack inputs, (in \"output\" \"aux\" is placed to the right of \"input\")"),
+ NULL);
}
#endif
diff --git a/operations/workshop/kuwahara.c b/operations/workshop/kuwahara.c
index 42d8eec..e5f30da 100644
--- a/operations/workshop/kuwahara.c
+++ b/operations/workshop/kuwahara.c
@@ -237,9 +237,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:kuwahara";
- operation_class->categories = "misc";
- operation_class->description = _("Edge preserving blur");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:kuwahara",
+ "categories" , "misc",
+ "description" , _("Edge preserving blur"),
+ NULL);
}
#endif
diff --git a/operations/workshop/lens-distortion.c b/operations/workshop/lens-distortion.c
index 377a43c..ccceeed 100644
--- a/operations/workshop/lens-distortion.c
+++ b/operations/workshop/lens-distortion.c
@@ -315,10 +315,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->name = "gegl:lens-distortion";
- operation_class->categories = "blur";
- operation_class->description =
- _("Copies image performing lens distortion correction.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:lens-distortion",
+ "categories" , "blur",
+ "description", _("Copies image performing lens distortion correction."),
+ NULL);
}
#endif
diff --git a/operations/workshop/linear-gradient.c b/operations/workshop/linear-gradient.c
index 6bc289d..b7b5c87 100644
--- a/operations/workshop/linear-gradient.c
+++ b/operations/workshop/linear-gradient.c
@@ -131,9 +131,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->no_cache = TRUE;
- operation_class->name = "gegl:linear-gradient";
- operation_class->categories = "render";
- operation_class->description = _("linear gradient renderer");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:linear-gradient",
+ "categories" , "render",
+ "description" , _("linear gradient renderer"),
+ NULL);
}
#endif
diff --git a/operations/workshop/mandelbrot.c b/operations/workshop/mandelbrot.c
index 7d8e99d..20d464d 100644
--- a/operations/workshop/mandelbrot.c
+++ b/operations/workshop/mandelbrot.c
@@ -138,9 +138,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->get_bounding_box = get_bounding_box;
- operation_class->name = "gegl:mandelbrot";
- operation_class->categories = "render";
- operation_class->description = _("Mandelbrot set renderer.");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:mandelbrot",
+ "categories" , "render",
+ "description" , _("Mandelbrot set renderer."),
+ NULL);
}
#endif
diff --git a/operations/workshop/max-rgb.c b/operations/workshop/max-rgb.c
index 802cbec..2cfc92e 100644
--- a/operations/workshop/max-rgb.c
+++ b/operations/workshop/max-rgb.c
@@ -114,9 +114,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
point_filter_class->process = process;
- operation_class->name = "gegl:max-rgb";
- operation_class->categories = "color";
- operation_class->description = _("Reduce image to pure red, green, and blue");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:max-rgb",
+ "categories" , "color",
+ "description" , _("Reduce image to pure red, green, and blue"),
+ NULL);
}
#endif
diff --git a/operations/workshop/radial-gradient.c b/operations/workshop/radial-gradient.c
index 5713836..b940de2 100644
--- a/operations/workshop/radial-gradient.c
+++ b/operations/workshop/radial-gradient.c
@@ -123,9 +123,11 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
operation_class->no_cache = TRUE;
- operation_class->name = "gegl:radial-gradient";
- operation_class->categories = "render";
- operation_class->description = _("radial gradient renderer");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:radial-gradient",
+ "categories" , "render",
+ "description" , _("radial gradient renderer"),
+ NULL);
}
#endif
diff --git a/operations/workshop/rawbayer-load.c b/operations/workshop/rawbayer-load.c
index 07b542e..543051c 100644
--- a/operations/workshop/rawbayer-load.c
+++ b/operations/workshop/rawbayer-load.c
@@ -147,14 +147,16 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->process = process;
operation_class->get_bounding_box = get_bounding_box;
- operation_class->name = "gegl:rawbayer-load";
- operation_class->categories = "hidden";
- operation_class->description =
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:rawbayer-load",
+ "categories" , "hidden",
+ "description" ,
_("Raw image loader, wrapping dcraw with pipes, provides the raw bayer"
" grid as grayscale, if the fileformat is .rawbayer it will use this"
" loader instead of the normal dcraw loader, if the fileformat is"
" .rawbayerS it will swap the returned 16bit numbers (the pnm loader"
- " is apparently buggy)");
+ " is apparently buggy)"),
+ NULL);
gegl_extension_handler_register (".rawbayer", "gegl:rawbayer-load");
gegl_extension_handler_register (".rawbayerS", "gegl:rawbayer-load");
diff --git a/operations/workshop/red-eye-removal.c b/operations/workshop/red-eye-removal.c
index 1f645f8..b197157 100644
--- a/operations/workshop/red-eye-removal.c
+++ b/operations/workshop/red-eye-removal.c
@@ -126,9 +126,11 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->categories = "enhance";
- operation_class->name = "gegl:red-eye-removal";
- operation_class->description = _("Performs red-eye-removal on the image.");
+ gegl_operation_class_set_keys (operation_class,
+ "categories" , "enhance",
+ "name" , "gegl:red-eye-removal",
+ "description" , _("Performs red-eye-removal on the image."),
+ NULL);
}
#endif
diff --git a/operations/workshop/snn-percentile.c b/operations/workshop/snn-percentile.c
index 6c7b4d5..d45decb 100644
--- a/operations/workshop/snn-percentile.c
+++ b/operations/workshop/snn-percentile.c
@@ -265,10 +265,12 @@ gegl_chant_class_init (GeglChantClass *klass)
filter_class->process = process;
operation_class->prepare = prepare;
- operation_class->name = "gegl:snn-percentile";
- operation_class->categories = "misc";
- operation_class->description =
- _("Noise reducing edge enhancing percentile filter based on Symmetric Nearest Neighbours");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:snn-percentile",
+ "categories" , "misc",
+ "description" ,
+ _("Noise reducing edge enhancing percentile filter based on Symmetric Nearest Neighbours"),
+ NULL);
}
#endif
diff --git a/operations/workshop/unpremul.c b/operations/workshop/unpremul.c
index e463286..5731af2 100644
--- a/operations/workshop/unpremul.c
+++ b/operations/workshop/unpremul.c
@@ -69,9 +69,11 @@ gegl_chant_class_init (GeglChantClass *klass)
point_filter_class->process = process;
- operation_class->name = "gegl:unpremul";
- operation_class->categories = "color";
- operation_class->description = "Unpremultiplies a buffer that contains pre-multiplied colors (but is marked as not having it)";
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:unpremul",
+ "categories" , "color",
+ "description" , "Unpremultiplies a buffer that contains pre-multiplied colors (but is marked as not having it)",
+ NULL);
}
#endif
diff --git a/operations/workshop/warp.c b/operations/workshop/warp.c
index b150e58..b039890 100644
--- a/operations/workshop/warp.c
+++ b/operations/workshop/warp.c
@@ -373,8 +373,10 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->prepare = prepare;
filter_class->process = process;
- operation_class->name = "gegl:warp";
- operation_class->categories = "transform";
- operation_class->description = _("Compute a relative displacement mapping from a stroke");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:warp",
+ "categories" , "transform",
+ "description" , _("Compute a relative displacement mapping from a stroke"),
+ NULL);
}
#endif
diff --git a/operations/workshop/whirl-pinch.c b/operations/workshop/whirl-pinch.c
index 19b2cb1..0a901eb 100644
--- a/operations/workshop/whirl-pinch.c
+++ b/operations/workshop/whirl-pinch.c
@@ -251,10 +251,12 @@ gegl_chant_class_init (GeglChantClass *klass)
operation_class->get_bounding_box = get_bounding_box;
operation_class->get_required_for_output = get_required_for_output;
- operation_class->name = "gegl:whirl-pinch";
- operation_class->categories = "distort";
- operation_class->description =
- _("Applies whirling and pinching on the image");
+ gegl_operation_class_set_keys (operation_class,
+ "name" , "gegl:whirl-pinch",
+ "categories" , "distort",
+ "description" ,
+ _("Applies whirling and pinching on the image"),
+ NULL);
}
#endif
diff --git a/tools/operation_reference.c b/tools/operation_reference.c
index 0761138..848fbec 100644
--- a/tools/operation_reference.c
+++ b/tools/operation_reference.c
@@ -259,7 +259,8 @@ static void category_index (gpointer key,
for (iter=operations, comma=FALSE;iter;iter = g_list_next (iter))
{
GeglOperationClass *klass = iter->data;
- if (strstr (klass->categories, "hidden"))
+ const char *categories = gegl_operation_class_get_key (klass, "categories");
+ if (strstr (categories, "hidden"))
continue;
g_print ("%s<a href='#op_%s'>%s</a>\n", comma?"":"", klass->name, klass->name);
comma = TRUE;
@@ -280,7 +281,8 @@ static void category_menu_index (gpointer key,
for (iter=operations;iter;iter = g_list_next (iter))
{
GeglOperationClass *klass = iter->data;
- if (strstr (klass->categories, "hidden"))
+ const char *categories = gegl_operation_class_get_key (klass, "categories");
+ if (!categories || strstr (categories, "hidden"))
continue;
g_print ("<li><a href='#op_%s'>%s</a></li>\n", klass->name, klass->name);
}
@@ -303,8 +305,9 @@ main (gint argc,
for (iter=operations;iter;iter = g_list_next (iter))
{
GeglOperationClass *klass = iter->data;
- const gchar *ptr = klass->categories;
- while (*ptr)
+ const char *categoris = gegl_operation_class_get_key (klass, "categories");
+ const gchar *ptr = categoris;
+ while (ptr && *ptr)
{
gchar category[64]="";
gint i=0;
@@ -358,12 +361,14 @@ main (gint argc,
for (iter=operations;iter;iter = g_list_next (iter))
{
GeglOperationClass *klass = iter->data;
- if (strstr (klass->categories, "hidden"))
+ const char *categoris = gegl_operation_class_get_key (klass, "categories");
+ const char *description = gegl_operation_class_get_key (klass, "description");
+ if (categoris && strstr (categoris, "hidden"))
continue;
g_print ("<tr>\n <td colspan='1'> </td>\n <td class='op_name' colspan='4'><a name='op_%s'>%s</a></td>\n</tr>\n", klass->name, klass->name);
- if (klass->description)
- g_print ("<tr>\n <td colspan='1'> </td>\n <td class='op_description' colspan='4'>%s</td>\n</tr>\n", klass->description);
+ if (description)
+ g_print ("<tr>\n <td colspan='1'> </td>\n <td class='op_description' colspan='4'>%s</td>\n</tr>\n", description);
list_properties (G_OBJECT_CLASS_TYPE (klass), 2, TRUE);
}
g_print ("</table>\n");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]