Hi
I’m trying to use Colour Adjustment in scripting.
For all filter layer types the method I use to determinate how to set parameters is very simple.
Example with a filter layer Gaussian blur
from krita import *
doc=Krita.instance().activeDocument()
# get current active node (assume it's a filter layer)
an=doc.activeNode()
# get filter object
f=an.filter()
# get filter configuration
cfg=f.configuration()
# print configuration
print(f, f.name(), cfg.properties())
Returns:
<PyKrita.krita.Filter object at 0x7f2bf83515e0> gaussian blur {'horizRadius': '4.6', 'legacy': '', 'lockAspect': 'true', 'vertRadius': '4.6'}
So now it’s easy to change filter layers properties, as I know that we have 'horizRadius' and 'vertRadius' properties:
cfg.setProperty('horizRadius', 10)
cfg.setProperty('vertRadius', 15)
f.setConfiguration(cfg)
an.setFilter(f)
f.startFilter(an, 0, 0, doc.width(), doc.height())
But for a Colour Adjustment it doesn’t works
Returned info are:
<PyKrita.krita.Filter object at 0x7f2bf8351670> perchannel {}
So, looking how XML exported parameters for a filter are defined, I tried things like this:
c0=[(0,0), (116,55), (255,255)]
c=[(0,0), (255,255)]
filterConfig=InfoObject()
filterConfig.setProperties({
'nTransfers': 8,
'curve0': c0,
'curve1': c,
'curve2': c,
'curve3': c,
'curve4': c,
'curve5': c,
'curve6': c,
'curve7': c
})
c0="0,0;116,55;255,255;"
c="0,0;255,255;"
filterConfig=InfoObject()
filterConfig.setProperties({
'nTransfers': 8,
'curve0': c0,
'curve1': c,
'curve2': c,
'curve3': c,
'curve4': c,
'curve5': c,
'curve6': c,
'curve7': c
})
But it doesn’t work.
So, I’m wondering if this filter parameters can be set like other filters through scripting.
And if yes, how…? 
And if it’s not possible, is it a bug or something that hasn’t been implemented?
Note: same problem with Cross-channel filter, that also use curves…
<PyKrita.krita.Filter object at 0x7f2bf83515e0> crosschannel {}
Grum999