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?