GIMP# 0.17 released

December 2, 2010 at 1:10 pm | Posted in C#, GIMP | 10 Comments

Yesterday evening I released GIMP# 0.17. Highlights for this release:

  • a new plug-in to generate QR-codes. See also my previous blog post about this.
  • a new Trim plug-in. Not really earth-shattering but it behaves in exactly the same way as the Photoshop version. I needed this to make more Photoshop action files runnable within GIMP.

  • There are now 400+ Unit tests guarding the quality of the code.
  • Major code clean-up, using C# 4.0 features. The caveat is that you now have to use Mono 2.8 or higher to build GIMP#

Enjoy!

10 Comments »

RSS feed for comments on this post. TrackBack URI

  1. gtk-sharp-2 is also a dependency, at least on Arch Linux. I made a PKGBUILD, it compiles and shows up in Gimp, but the various effects still just segfault on my end. E.g. if I try image -> Trim:


    Parameters: 3
    param.Size: 36
    param.type.Size: 4
    param.type.Data: 32
    0 Int32
    param.Size: 36
    param.type.Size: 4
    param.type.Data: 32
    1 Int32
    param.Size: 36
    param.type.Size: 4
    param.type.Data: 32
    2 Int32
    gimp-sharp: fatal error: Segmentation fault

  2. Hi Kevin,

    Could you check if the most basic plug-in Average (in /Filters/Blur) also segfaults? The Render method in this plug-in is only 5 lines. Maybe you can add a couple of Console.WriteLine statements to track where exactly it goes wrong.

    I’ll try to install Arch Linux as a VirtualBox image, but this might take some time.

    • With no changes:


      Parameters: 3
      param.Size: 36
      param.type.Size: 4
      param.type.Data: 32
      0 Int32
      param.Size: 36
      param.type.Size: 4
      param.type.Data: 32
      1 Int32
      param.Size: 36
      param.type.Size: 4
      param.type.Data: 32
      2 Int32
      gimp-sharp: fatal error: Segmentation fault

      After changing Render to:

      override protected void Render(Drawable drawable)
      {
      Console.WriteLine("x");
      var iter = new RgnIterator(drawable, _("Average"));
      Console.WriteLine("x");
      var average = drawable.CreatePixel();
      Console.WriteLine("x");
      iter.IterateSrc(pixel => average.Add(pixel));
      Console.WriteLine("x");
      average /= iter.Count;
      Console.WriteLine("x");

      iter.IterateDest(() => average);
      Console.WriteLine("x");
      }

      Parameters: 3
      param.Size: 36
      param.type.Size: 4
      param.type.Data: 32
      0 Int32
      param.Size: 36
      param.type.Size: 4
      param.type.Data: 32
      1 Int32
      param.Size: 36
      param.type.Size: 4
      param.type.Data: 32
      2 Int32
      x
      gimp-sharp: fatal error: Segmentation fault

      so it’s (at least) the first line of that function.

      • The RgnIterator constructor is pretty straightforward. Only way it can segfault is when drawable is null. Could you check this by printing it?

        Console.WriteLine(“x: ” + drawable);

        Just to make sure that my hypothesis is right.

      • hypothesis confirmed:


        {
        Console.WriteLine("x: " + drawable);
        Console.WriteLine("x");
        var iter = new RgnIterator(drawable, _("Average"));
        Console.WriteLine("x");
        var average = drawable.CreatePixel();
        Console.WriteLine("x");
        iter.IterateSrc(pixel => average.Add(pixel));
        Console.WriteLine("x");
        average /= iter.Count;
        Console.WriteLine("x");

        iter.IterateDest(() => average);
        Console.WriteLine("x");
        }

        gives

        Parameters: 3
        param.Size: 36
        param.type.Size: 4
        param.type.Data: 32
        0 Int32
        param.Size: 36
        param.type.Size: 4
        param.type.Data: 32
        1 Int32
        param.Size: 36
        param.type.Size: 4
        param.type.Data: 32
        2 Int32
        x:
        x
        gimp-sharp: fatal error: Segmentation fault

  3. Will you ever start warning translators beforehand?🙂

    • Hey, at least I included your previous translation😉

      But the two new plug-ins (Trim and QR-codes) aren’t translated yet.

  4. […] I promised two GIMP# releases. Unfortunately I only managed to release GIMP# 0.17. […]

  5. Hello Maurits!
    thanks for having thought to the QR plug in for gimp..
    but it is only to be compiled..
    I have windows and tried everything to compile it, cygwin and make all the installation and bla bla, but i’ve not succeed – it is the first time.
    Can you please compile it and distribute it for windows?
    I saw you have version 0.13 gimp-sharp, buut there’s not the QR plug in there…
    Oh geeez, i hope really you have time.
    Could you send me an email if yuuo do it?
    thank you a lot!
    Luigi

  6. Hello Maurits!
    thanks for having thought to the QR plug in for gimp..
    but it is only to be compiled..
    I have windows and tried everything to compile it, cygwin and make all the installation and bla bla, but i’ve not succeed – it is the first time.
    Can you please compile it and distribute it for windows?
    I saw you have version 0.13 gimp-sharp, buut there’s not the QR plugin there…
    Oh geeez, i hope really you have time.
    Could you send me an email if yuuo do it?
    thank you a lot!
    Luigi


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.
Entries and comments feeds.

%d bloggers like this: