Paintop tutorial

JL VT pentalis at gmail.com
Tue Feb 28 00:36:56 UTC 2012


On Sun, Feb 26, 2012 at 11:10 PM, JL VT <pentalis at gmail.com> wrote:
> On Sun, Feb 26, 2012 at 6:00 PM, Francisco Fernandes
> <francisco.fernandes.j at gmail.com> wrote:
>> Hello JL!
>>
>> I had followed the README instructions. I did all over again with the
>> default
>> minimal paintop, but it did not work yet. I even put the qDebug message in
>> the
>> constructor but it didn't came out at all, so the plugin it's not loading.
>>
>> My KDE4 build configuration is on my $HOME, more specifically with my
>> development directory in BASEDIR=~/Projetos/C++/kde4 (so my source directory
>> is on
>> ~/Projetos/C++/kde4/src , my build is ~/Projetos/C++/kde4/build and my
>> installation
>> is in ~/Projetos/C++/kde4/inst ).
>>
>> This is what i have done to recompile and try to load the minimal paintop:
>>
>> * removed the modified "minimal" paintop directory and all its contents from
>> the calligra/krita/plugins/paintops
>> and removed "add_subdirectory(minimal)" from
>> calligra/krita/plugins/paintops/CMakeLists.txt
>>
>> * deleted  build/calligra and all its contents
>>
>> * recreated the calligra/krita/plugins/paintops/minimal/  directory and
>> copied the contents
>> of ~/mypaintop/Krita-Minimal-Brush into it
>>
>> * wrote in the krita/plugins/paintops/CMakeLists.txt the line:
>>  add_subdirectory( minimal)

You didn't delete the installation directory. Sometimes it is the
install directory causing conflicts.
To make sure everything works, always start from scratch, otherwise
you can't ever be sure if some little detail was causing the problem.

>>
>> * recreated the kde4/build/calligra directory and once in it I executed :
>> $ cmake -DCMAKE_INSTALL_PREFIX=$HOME/Projetos/C++/kde4/inst
>> $HOME/Projetos/C++/kde4/src/calligra -DCMAKE_BUILD_TYPE=Debug
>>
>> * did a "ccmake ." and let only the krita line with ON and regenerated the
>> configuration
>> (the exit is on http://paste.kde.org/429770/)

I don't see Krita in this configuration exit.
I think you missed the part where it appears.

In any case, the easiest way to ensure you're compiling Krita, is to...
1.- Leave Karbon disabled
2.- Turn the "CREATIVEONLY" flag ON.
That's all you need to compile only Krita.  (CREATIVEONLY causes only
Karbon and Krita to be compiled).

This is my exit from ccmake:

-----------------------------------------------------------------------------
-- The following OPTIONAL packages could NOT be located on your system.
-- Consider installing them to enable more features from this software.
-----------------------------------------------------------------------------
   * LibAttica  <https://projects.kde.org/projects/kdesupport/attica>
     Attica is used for Get Hot New Stuff.
     You need at least version 3.0 for uploading of resources to work.
   * Marble  <http://techbase.kde.org/Projects/Marble/>
     KDE4 World Globe Widget library
     Required by RDF, Kexi Forms and Reports to show locations on a map
   * LittleCMS (2.0 or higher)  <http://www.littlecms.com>
     Color management engine
     Optional replacement for LittleCMS 1.18. Can be used for color
management and Krita
   * OpenCTL (0.9.10 or higher)  <http://www.opengtl.org>
     Free Color Transformation Language implementation (part of OpenGTL)
     Required for High Dynamic Range Color Spaces, YCbCr and LMS support
   * OpenShiva  <http://www.opengtl.org>
     OpenShiva interpreter for the Shiva Kernel Language (part of OpenGTL)
     Required for Shiva based Generators and Filters
   * QtShiva  <http://www.opengtl.org>
     Qt bindings for the OpenShiva interpreter (part of libQtGTL)
     Required for Shiva based Generators and Filters
   * Spnav  <http://spacenav.sourceforge.net/>
     3Dconnexion device driver and SDK
     Required by SpaceNavigator 3D mouse plugin
   * Okular  <http://okular.kde.org/>
     Okular ODP Plugin
     Required to build the Okular OpenDocument Presenter plugin

-----------------------------------------------------------------------------

-- ---------------- The following applications will be built ----------------
-- krita
-- --------------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/pentalis/GIT_TEMPLE/TEACH/build/calligra

>>
>> * in the minimal_paintop_plugin.cpp i wrote "qDebug() << "Loading the
>> minimal plugin..." ; " in the
>>    class constructor.
>>
>> * did a "make" in the kde4/build/calligra
>>
>> * did a "make install" in the kde4/build/calligra
>>
>> * did a kbuildsyscoca4 ( the exit is in http://paste.kde.org/429806/ )
>>
>> * executed krita (the console exit is in http://paste.kde.org/429818/)
>>
>> I verified the installation and in it had the following files:
>>
>> /home/chicao/Projetos/C++/kde4/inst/lib/kde4/kritaminimalpaintop.so
>> /home/chicao/Projetos/C++/kde4/inst/share/apps/krita/images/krita-minimal.png
>> /home/chicao/Projetos/C++/kde4/inst/share/kde4/services/kritaminimalpaintop.desktop
>>
>> Do you have any idea what I'm doing wrong?

I think you haven't done nothing wrong so far. I installed the minimal
brush from scratch and it doesn't appear in the list of paintops too.

But I think I know why this is so. When that brush was made, it
worked. It no longer works, and I think it is because of a new
mechanic in Krita, that paintops need to have a default brush to work.

I get this error when I load Krita:

krita(24585) KisPaintOpRegistry::instance: The following brush engines
do not provide a default brush and are removed ()
krita(24585) KisPaintOpRegistry::instance: The following brush engines
do not provide a default brush and are removed ()

I have the hunch that such brush engine is the Minimal Paintop. I
might be wrong.

I suggest you check other paintops like the Chalk Paintop and try to
replicate that one instead, or to find what the Minimal Paintop is
missing to be fully valid.
That should be a good exercise in becoming familiar with how plugins
in Krita work.

I would've done that myself but I need to sleep now.

Let me know how things go on your end!, Good luck!


More information about the kimageshop mailing list