0

Where can I find vala binding for libgimp?

Or, can someone point me to clear (complete) instructions to get it from gimp source code? The instructions at https://wiki.gnome.org/Projects/Vala/Bindings are really too light for me.

Brandon Minnick
  • 13,342
  • 15
  • 65
  • 123
v1nce
  • 735
  • 9
  • 20
  • The answer is likely "Join the GIMP project and help to create what you want". – Michael Schumacher Dec 25 '17 at 13:53
  • I'm afraid this won't happen. Too unfriendly community for me. – v1nce Dec 29 '17 at 15:08
  • Hm... I'm part of this community. What instances made you think it is unfriendly? – Michael Schumacher Dec 29 '17 at 16:39
  • This is not against you. From years, from time to time I post some questions on #Gimp and got no responses (that's ok as it's how irc works, but a bit strange given the numbers of users) or harsh comments (this is stupid (or so on) even when what I suggested finally got incorporated in gimp... just 5 years later). – v1nce Dec 30 '17 at 10:54
  • Hm... I got access to the IRC logs of the years past, if you could tell me what nick you have used I could look this up. What exactly was it what got incorporated now, btw? – Michael Schumacher Dec 30 '17 at 10:56
  • Sorry no special nickname. Mypaint brushes tool. – v1nce Dec 30 '17 at 12:27

1 Answers1

3

There are no Vala bindings for GIMP at this time. GIMP has had it "cross-process", "cross-language" procedure calling for long before gobject introspection (GIR) was in place, and that is exposed as the Procedural Database (PDB), which can be browsed at GIMP's help menu.

However, these PDB calls have never been re-written to take advantage of GIR, and can not be accessed in this way. There have been over the years several language bindings for GIMP using the PDB, all of it but for Python's and Script-fu had fallen unmaintained over the years. GIMP-Perl was long lived, and used to even be packaged in some Linux distributions. Other than that, there have been at least experimental bindings for Java and Ruby.

On the other hand, all image and pixel manipulation being made in current GIMP (the 2.9 development branch, soon to become GIMP 2.10) is made through GEGL (Generic Graphics Library). GEGL is a modern gobject library that can be used with gobject introspection bindings, and will work from Vala using the instructions on the page you linked in the question.

jsbueno
  • 99,910
  • 10
  • 151
  • 209
  • Vala bindings for the related GEGL library are available from distributions' development file packages. If not currently available (for example [Debian](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=877555)) then the binding can be downloaded from https://github.com/nemequ/vala-girs/blob/master/vala/vapi/gegl-0.3.vapi – AlThomas Dec 27 '17 at 00:08
  • This was not (only) for pixel manipulation but more for adding more file formats (or rather more complete). I got a working version I wrote for gimp-sharp years ago. But as gimp-sharp looks going to be unmaintained too I think this was just a waste of time. – v1nce Dec 29 '17 at 15:05