MyPaint and goats at LGM2012

Already covered in the news from LGM was the release of GIMP 2.8, and that GIMP 2.10 will be fully GEGLified. The goat-invasion branch which has most of that work, the result of 3 weeks of pippin and mitch on a couch hacking together, has already landed in master. This means that GIMP now has support for high bit-depth workflows for most operations. Finally.

Putting the goat in MyPaint

During LGM I started working on using GEGL in MyPaint. I have already mentioned this idea several times, so it was time to stop talking and get hacking.

As a first step in making use of GEGL I wanted to replace the current surface implementation with one based on GeglBuffer. Since GeglBuffer already provides tiling, and can store any buffer data supported by Babl this turned out to be easy. Øyvind (pippin) added the semi-quirky pixel format we currently use* in MyPaint to Babl, and I was able to get a rough working GEGL based Surface implementation the first evening.

The MyPaint brush engine working on top of GeglBuffer

* RGBA premultiplied alpha, in 16 bit unsigned integers with  2^15 being the maximum value.

The next couple of days went to moving to the GeglBufferIterator API instead of gegl_buffer_{get,set} to have zero-copy access to improve performance, and improving GEGL and GEGL-GTK so that some of the hacks in the initial implementation could be removed.

Most of the work is in the gegl branch of MyPaint. A simple test application, mypaint-gegl.py, is included, and you can read README.gegl for how to try it out. Warning: only intended for curious developers at this stage.

A lots of work remains to be done for MyPaint to be able to fully use GEGL. The progress is tracked in two bugs, one for MyPaint work and one for GEGL issues. Because one cannot combine PyGObject with PyGTK, it will likely not be possible to fully integrate GEGL in MyPaint before porting to PyGI and GTK+ 3.

Oh, in case the goat references are lost on you – check the GEGL page on wikipedia.

MyPaint and OpenRaster talks

One of my goals for this year was to give a presentation at a conference. And I can now say that I have achieved that goal.

I gave a talk about MyPaint at Libre Graphics Meeting 2011 in Montreal, Canada: MyPaint – the past, the present and the future.

[hdplay id=1]

Download in Ogg/Theora

I will also be giving a lighting talk at the DesktopSummit in Berlin about OpenRaster. It looks like this will be on August 7th at 14.00, but you should of course come for the whole week. Just look at the awesome program!

 

Going to Libre Graphics Meeting 2011 in Montreal!

So, it is confirmed, I’m going to LGM 2011! I was at LGM last year, and I expect this year to be just as good. Hopefully I’ll also be giving a talk this time, about MyPaint and/or OpenRaster.

If you are interested in free and open source graphics software, or the production of freely licensed graphical works, you should go too! See the press release for more information, or go straight to submit a talk proposal. If you cannot be there but still want to show your support, please consider donating.

I guess this means I should order the tickets soon…

LGM2010 writeup

This weekend I attended Libre Graphics Meeting in Brussels, and got to meet a bunch of great people from lots of different projects. Got to meet people working on similar things (at least in the same ballpark) as MyPaint, like Krita, GIMP and Nathive. Also got to meet and hang out with some of the awesome people on the Durian Open Movie project. They were using, and were more fond of, MyPaint than I thought.  Also chatted with several other users, some of which were using MyPaint as a part of their workflow in a professional environment. Good stuff.

The entire conference was very professionally executed, no technical or organizational problems, yet they were able to maintain a nice cosy atmosphere. The only thing I didn’t quite like was the food, but thats mostly a matter of personal preference (they only served vegetarian, and I’m a quite dedicated carnivore).

There were plenty of good talks, and if you’re interested in them you should check out the video recordings done by River Valleys. I also attended some workshop/BoF sessions, here is my take on them:

OpenRaster BoF

The OpenRaster BoF turned out to be quite different from what I expected. I expected only a couple of people from Krita, GIMP and MyPaint to show up. But no, we had lots of people attending, even professional standards people from Adobe, w3c and Opera! I also somewhat suprised myself (ok, I know that I like to talk and am not afraid to do so, but still), by taking an active role. We did get useful things done, like consensus on that we want to define a minimal baseline standard, and to have fallbacks for things extending upon the baseline. The concrete specs have not been settled, but hopefully we (MyPaint+Krita people mainly) can take care of that pretty soon.

I hope to try out some implementation ideas for fallbacks soon, and to improve the GIMP implementation, but school is keeping me very busy now a days. In fact, the first evening in Brussels was spent finishing my bachelors thesis report, and sunday was spent on my final report in my english class. And its far from over yet…

A Libre Graphics Foundation?

There was a birds-of-a-feather session for a potential “foundation” to support and promote libre graphics projects. Apparently these ideas have come up before, but this year it seems to be gathering some traction so it might actually happen. Different people have different views on what exactly it should be about of course; some are looking in the direction of Blender Foundation/Institute, doing open projects, funding developers, and having official teaching; others are more interested in having common documentation about libre graphics software for users. In any case, a common resource and face for libre graphics projects would be good. But in the end it will boil down to what people step up and make happen, I suspect. Discussions are ongoing on the create @ freedesktop.org mailinglist, so jump in if this tickles your fancies.

LGM2011

In the discussion during the last day, Montreal and Vietnam were proposed as locations for the next LGM. I’d love to go either way, haven’t been to Asia nor North-America. Perhaps even do a talk of my own? Still, it’s much further away, so it might require a very interesting program, depending what I’m doing at that time and how busy I am. We’ll see. If if turns out to be more of an end-user conference, and less of a developer/contributor meeting I’d love to have David Revoy and/or Ramon Miranda do MyPaint workshops. That would be beyond awesome.

In the meantime, it looks like GUADEC will be my next conference, only 8 weeks away. I’m already excited!