Mid-Stroke Color Updates from plugins / Building Krita app in docker

Hello, everyone!

I am currently trying to make a plugin that takes MIDI input, calculates a color mix from a palette, and sets krita’s foreground color. Most of the code comes from here: GitHub - 443eb9/ExtendedColorSelector · GitHub . It is currently in a MVP state, so it kinda works. However the problem I am currently trying to solve is:

  1. Color updates to the brush do not take effect until a stroke is finished

Which hinders the workflow a bit more than I had wished for.

The updates are sent via the canvas’s KisCanvasResourceProvider setFgColor which emits a sigFgColorChanged signal. So my next attempt would be to hack kis_color_source classes to be Q_Objects with a slot for that purpose. This brings me to my second problem:

  1. I cannot seem to build an app image with the changes, neither locally on linux nor inside the docker environment.

Something is fundamentally wrong with the container the way I obtain it, with a lot of issues, like that the container is coming with the wrong python version, and other dependencies missing. The current issue is “libqt5BodyMovin.so" is missing”, for which there appears to be no ubuntu system library since I already install literally all of the libqt5 packages that are not alternative implementations of others (the OpenGL -gles variants) into the container.

I believe to have stuck to the recommended way of building krita on linux (apart from manual fixes).

I hope someone can help me complete the project. I see some possibilities:

A) The Docker container I fetch is incorrect and setting it up then becomes simple.

B) There already is a way to modify krita’s foreground color mid-stroke from a plugin-side.

Thank you in advance!