Hi,
I tried to using gegl:contrast-curve filter from Python with following code.
set up for filters
# add filter to top layer
self.curve_filter0 = Gimp.DrawableFilter.new(self.rlayers[0], "gegl:contrast-curve", "Contrast Curve Filter")
self.curve_filter0.set_blend_mode(Gimp.LayerMode.REPLACE)
self.curve_filter0.set_opacity(1.0)
self.config_c0 = self.curve_filter0.get_config()
pointsX=[i/255. for i in range(256)]
pointsY=[x * 0.5 for x in pointsX]
curve=[p for xy in zip(pointsX,pointsY) for p in xy]
self.config_c0.set_property("sampling-points", 256)
self.config_c0.set_property("curve", curve)
self.curve_filter0.update()
self.rlayers[0].append_filter(self.curve_filter0)
Gegl reference says that gegl:contrast-curve takes “sampling-points” and “curve” as arg.
https://gegl.org/operations/gegl-contrast-curve.html
However I encountered following error messages.
“ self.config_c0.set_property(“curve”, curve)
TypeError: object of type GimpDrawableFilterConfig-gegl-contrast-curve' does not have property curve’”
And if I comment out this line and run this program, no error message found. It seems that gegl:contrast-curve only accepts “sampling-points” as property.
I also tried to use property name “Curve”, but the result was same.
Is this my fault or bug?