Fading Memories

About

Ramblings about books and other things that will soon fade from my memory.

Boudewijn Rempt

index | rss1.0

Check out my sculpture website: www.boudewijnrempt.nl.

There's more...

Creative Commons License
The original artwork is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.

Roundabout through identi.ca

    follow me on Identi.ca

    Categories, too

    Find


    Archives

    Other things here at valdyas.org

    2011-11-25

    Krita in history...

    "Azes is now being associated with the creation of the era of 58 BC that was to be known through the centures as the Krita, Malava or Vikramaditya, samvat, era. Possibly the era was also calculated for use in astronomy as the term krita, created, would suggest, but was given status by association with royalty." Romila Thapar, The Penguin History of Early India, p. 220

    2011-10-08

    Two worrying bugs

    Krita uses OpenGTL, a very, very cool techology. We use it for filters and for colormodel definitions (mainly for floating point colorspaces). OpenGTL uses LLVM internally to compile from its domain specific language to fast native code, on the fly. Ultra-cool stuff, in short.

    But recently, I've had two bug reports that worry me a lot, and I do not know how to handle them:

    It looks like there's problem having an application that links to llvm running on a system that uses the radeon driver. I'm not sure, llvm being black magic to me... I also don't know who to approach in the gallium/radeon/llvm communities about this issue, and neither are the reporters. But if this is true, Krita has a big problem, and so have other applications that make use of the cool possibilities of llvm.

    If you have any suggestions, please mail me directly!


    2011-05-20

    Third Krita Sprint First Day

    While I was forced by circumstances for forego the production of t-shirts for this sprint -- and I feel bad about that! -- the first day of the Third Krita Sprint has been great. Yesterday, our webmaster Bugsbane, a.k.a. Kubuntiac and Krita hacker Dmitry Kazakov arrived in Deventer already, and this morning we took the train to Amsterdam, to the the Blender studios. We're crammed around the same glass table where last year selected Krita hackers saw a sneak preview of the Sintel movie. Feels weird!

    Assembled today were artists David Revoy, Animtim, Silvio Heinrich and Kubuntiac, as well as hackers Adam, Dmitry, Sven, Lukas, Matus (tomorrow is his birthday!), Dmitry, Silvio (again, this guy puts in a double appearance). We got a surprise visit from a bunch of Danish game designers here for a game jam at the Binger Filmlab, who, of course, got a full demo.

    The selection system in Krita was redesigned, bugs were filed and solved, lunch was consumed on a road-side terrace in the wonderful sunshine, dinner was had at the Blender team's usual Thai restaurant -- and we made plans for tomorrow.

    We'll start off around 10 with an artists session: all artists present are going to take about half an hour to work in Krita, a projector connected so we all can follow. We call it the "demo and gripe" sessions. That way the developers can learn about the way different artists really work, and we can spot glitches and issues with usability. We are going to try to record this session, both sound and screencast and make it available afterwards. No promises though, we might run into glitches there!

    The afternoon is for the whole team to get a list of highly important issues that hamper artists most so we can set the priorities for the year following this sprint. After that -- it's hacking and discussion time!


    2011-01-15

    Lamented unmaintained features in Krita

    Krita 2.3 is really pretty good -- although following the release we've found a number of rather serious issues, especially when working with images in the 50-100 megapixel range. But on a less important note, there are quite a few features in Krita that never really got any love after they were initially coded.

    The pattern creation tool is one of those, and it's getting more important now since it's not possible to use patterns as a color source for freehand painting. The pattern creation popup was coded in 2006 by Bart Coppens (who is also responsible for quite a few other features in Krita but who's too busy with his Phd these days to code for Krita).

    As you can see, it's quite simple:

    There's a preview, an update button, an use-it-now button and an add-to-predefined patterns button. If you try to make your pattern from a big image (like this 6000x4000 image), you get a warning, and the pattern will be downscaled to fit in 1000x1000. That's because otherwise it's pretty easy to run out of memory! Oh, and since yesterday you can select whether you want to create your pattern from the current layer or from the whole image.

    What's missing is using the selection, naming the pattern, exporting the pattern and who knows what else -- I haven't yet checked what other apps provide. Managing existing patterns is pretty primitive as well. And the layout of the popup is a bit of an embarrasment!

    But there you have it -- a nice small feature that's suddenly become important. It was fine in 2006, but in 2011, we expect more of it. So... If you suddenly feel inspired to hack on this, join us on #krita on irc.freenode.net and we'll get you started!


    2010-09-13

    How's Krita shaping up?

    (This is a way more personal thing that a Last Week in Krita (which I hope to be writing today as well -- and I need to start working on the promo literature for 2.3, work on the manual and the first-run demonstration image) so I'm finally writing about something KDE-related on my own blog again!)

    So, to the point: how's Krita shaping up? I have several times said last year and during this year that I wanted Krita 2.3 to be end-user ready, no excuses. No longer a promising project but a solid deliverable. That doesn't mean it needs to have every single feature conceivable, but an artist has to be able to sit down in the morning, start Krita, start sketching, painting and at the end of the day, he should have had a smooth experience, a productive day and a desire to put in some more hours in the evening because he's having fun.

    Well, we're not quite there yet: David Revoy did try to do just this a week or so ago, but there were still annoyances and bugs he ran into. And there are still major bugs and crash bugs -- and those will be in Krita 2.3 Beta 1 which should be released soon. Those bugs will block creating a release candidate for Krita 2.3 -- and we're working hard on fixing them.

    For 2.3, some features we have been working on haven't made the cut again -- mostly stuff I was working on, like the PSD import filter, the MyPaint brush engine or the color mixing palette. I've been absorbed a bit too much by my day job (working on KOffice), writing stuff for and about Krita, and even being a maintainer of an app means that you spend a lot of time coordinating, not coding. And there's been a lot going on my private life as well -- but that's not an excuse.

    But all in all, and with these caveats -- in my opinion Krita has shaped up very well in the past nine months. We went from extremely slow, very abstürzfreudig to pretty smooth and quite dependable. Just check out the art people have created with Krita -- and then imagine what is possible with the finished 2.3! (And isn't the new showcase page nice?) Now for the final lap!


    2010-03-03

    Writing a custom widget...

    One of the dangers of having a real interaction designer look at your application is that they are apt to suggest that some special widget might make your app much nicer, much more efficient, much more usable. And they are right, of course. Which sucks because writing a custom widget that respects the application style is not fun, at least not in Qt, but I haven't seen any toolkit that makes it fun.

    And a custom widget in this context is not a form with two or three existing widgets in a layout and some signals to connect them.

    So let's look at the widget Peter suggested we use instead of KDE's or Qt's spinboxes and sliders. The needs are clear: we need a numerical input widget that shows visually what part of the total is enabled. Mouse wheel, tablet tilt and drag need to decrease or increase the value, clicking somewhere in the widget needs to set the value to that level. It should show the value as numbers inside the widget. Spinbox arrows and behaviour would be nice. It should have double and int support. And finally, it should have an option for exponential or segmented behaviour (1 - 10: stepsize 1, 10-100, stepsize 10, 100-100 stepsize 100).

    So, what we are creating is a sort of legitimate bastard child of a progress bar, a spinbox and a slider, all in one area. Something that looks a bit like this, but less like a progressbar:

    Well... Sven has spent half a day on this, I've spent a day on it... I guess this is not our forte. There doesn't seem to be much documentation on the topic of creating widgets from scratch. I've also been looking for exising Qt implementations, but haven't found anything. So... If there is anyone who knows where I can find a widget like this, or who would like to help Krita by implementing it, please, please, please tell me!


    2009-10-21

    Krita is compiling

    On two laptops, prior to running the unittests again. Last time I tried them -- four hours ago -- I had zero failures. And yesterday, Krita's bug count in bugzilla had dropped below 40; today it's 42 again. And that includes a couple of nasty crashers, where we might have a choice between leak and crash, or worse: between disabling a feature and crashing. And there are some important issues among the non-crashers, too, issues that really should be solved.

    But we've been fixing bugs like mad, mostly me and Sven Langkamp, since Lukas is working on his thesis (which is about brush engines for Krita, yay!) and Cyrille is finishing up his phd. There are a couple of bus that we really need Cyrille for, even.

    The bug fixing has been very rewarding, even though our ace beta testers, Enkithan, M4v, Gaizka and Bugsbane have been doing their darnest to keep the bug count at over 42. And there's more cool stuff: Kubuntiac (on the forum, who is Bugsbane in bugzilla) has been working on Krita's website, and when we've migrated the content from the old website over, we're ready to flick the switch and krita will have it's own website, with lots of content, links to techbase and to userbase.

    (Note: we have disabled the following plugins for 2.1: glsl filters, painting with the wave filter, kross-based scripting, together cooperative painting, panorama stitching, the chinese paintbrush (not sumi-e, that's in), an experimental brush engine, the graphicsmagick import/export plugin (photoshop, gimp, gif etc.) if you have GraphicsMagick newer than 1.2 and the perspective transformation tool.)

    And have you all seen Enkithan's wonderful Dungeon girl illustration, all done in Krita? That's why I'm spending twenty leisure hours a week on Krita!

    Tomorrow Cyrille will tag the first release candidate of KOffice 2.1...


    2009-05-25

    Another feature

    And another contributor: Edward Apap, better known on irc as Antiquark, has created a new dialog for krita that makes it possible in an easy way to extend the canvas size. This is a patch that we had in readiness for some time already, but with the imminent release of 2.0, we can add stuff to trunk again!

    Welcome to the Krita team, Antiquark!


    2009-05-22

    A new feature for Krita

    Yesterday, I took a day off from serious things like redesigning the library structure of KOffice, working on the Krita part of the redesigned KOffice website, trying to optimize the hell out of freehand painting and several other things, like being too sick to actually think straight for two consecutive moments and so not making much progress with any of these things.

    I took a holiday, in short, a chance to add a nice little feature to Krita: image backgrounds.

    An image background is a pattern that is tiled beneath the root layer, so that if there is anything transparent in your image, the pattern is seen below. Most useful to have a nice background, perhaps paper-like, when sketching.

    This morning it was done:

    Now this was just a little thing to play with, but there are several fun things about it: for one thing, I have resurrected a class that Patrick Julien wrote in 2002 and was originally responsible for painting the checker pattern. We've got different code for that now, that makes it even clearer that the checks aren't part of your image, but this class is very well suited to painting a tiled background.

    Another thing is that MyPaint has a similar feature, so ideally we'd like to be able to interchange, through OpenRaster, images made in Krita and in MyPaint. We'll need to extend OpenRaster for that, though, since MyPaint saves the background as a layer as big as your image filled with the tiles, and Krita (will) save(s) the background as a property of the image.

    And there is a small list of TODO's caused by this little feature, todo's that are actually almost all simple Junior Jobs:

    • enable Add, Remove, Reset buttons for background pattern management.
    • label the background patterns somehow, allow tagging
    • add solid-color background patterns and use a categorized view for them
    • add a custom-color background pattern
    • add lots of nice patterns
    • integrate with custom image widget (the one you see on startup)
    • integrate with image properties dialog
    • add to loading/saving of KisImage in .kra and .ora
    • set pattern on double click
    • allow non 64x64 pattern tiles

    2008-11-15

    Loading old Krita files

    Oh the shame! It so happens that I have only two running versions of Krita: 1.6, to compare trunk with, and trunk. Now, as I said earlier, I happen to be working on loading and saving, and I suddenly thought that it would be way cool to be able to test loading Krita images saved from older versions.

    But I don't have those versions, and I don't have images saved with those versions either... So: todays plea for help is "anyone who has Krita images, preferably with more than one layer, saved with Krita version 1.4 and 1.5, please, please contact me -- then I can test whether Krita trunk can still load old images."