RSS/Atom feed Twitter
Site is read-only, email is disabled

[Q] Future of Gimp

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

9 of 10 messages available
Toggle history

Please log in to manage your subscriptions.

[Q] Future of Gimp Daniel Carrera 29 Mar 01:08
  [Q] Future of Gimp Simon Budig 29 Mar 01:20
   [Q] Future of Gimp Daniel Carrera 29 Mar 02:24
    [Q] Future of Gimp Simon Budig 29 Mar 03:54
    [Q] Future of Gimp Michael J. Hammel 29 Mar 04:20
     [Q] Future of Gimp Guillermo S. Romero / Familia Romero 29 Mar 15:50
      [Q] Future of Gimp Sven Neumann 30 Mar 22:18
    [Q] Future of Gimp Jakub Steiner 03 Apr 13:01
20030329074404.GA2325@math.... 07 Oct 20:21
  [Q] Future of Gimp Simon Budig 29 Mar 14:25
Daniel Carrera
2003-03-29 01:08:35 UTC (about 21 years ago)

[Q] Future of Gimp

Hello,

I have a couple of questions on the future releases of Gimp:

1) What will be the next 'stable' release number? 2) Will it be based on Gtk+2?
3) How hard will it be to port current script-language bindings to the new Gimp?
Where can I learn more about making such bindings? 4) FilmGimp has a neat Frame Manager and I wish that regular Gimp had that. Is there any chance that this might happen? Is it something that could be done as a plugin?

Thanks for your help,

Simon Budig
2003-03-29 01:20:34 UTC (about 21 years ago)

[Q] Future of Gimp

Daniel Carrera (dcarrera@math.umd.edu) wrote:

Hello,

I have a couple of questions on the future releases of Gimp:

1) What will be the next 'stable' release number?

1.4.0. Gimp follows the same numbering scheme as the Linux Kernel and 2.0 is reserved for some major things that have not yet happened.

2) Will it be based on Gtk+2?

Yes. The current development version already is.

3) How hard will it be to port current script-language bindings to the new Gimp?

I think that the basic infrastructure for calling PDB-Functions basically is the same as in earlier Gimp Versions. Some PDB-Functions have been renamed so you might need to fiddle a bit.

Where can I learn more about making such bindings?

Look at the existing bindings and the libgimp documentation.

4) FilmGimp has a neat Frame Manager and I wish that regular Gimp had that. Is there any chance that this might happen?

Yes. However, this will not happen for 1.4.

Is it something that could be done as a plugin?

I am not really familiar with FilmGimp's Frame Manager, so I am not really sure what stuff would be necessary to do. However, Gimp Plugins/Extensions can do a lot and I think there is a chance to do this that way.

Bye,
Simon

Daniel Carrera
2003-03-29 02:24:50 UTC (about 21 years ago)

[Q] Future of Gimp

3) How hard will it be to port current script-language bindings to the new Gimp?

I think that the basic infrastructure for calling PDB-Functions basically is the same as in earlier Gimp Versions. Some PDB-Functions have been renamed so you might need to fiddle a bit.

What is a PDB function? Is that what people use to make bindings?

Where can I learn more about making such bindings?

Look at the existing bindings and the libgimp documentation.

The reason why I ask is that I can't find the documentation. Could you plese tell me where the documentation is?

I am not really familiar with FilmGimp's Frame Manager, so I am not really sure what stuff would be necessary to do. However, Gimp Plugins/Extensions can do a lot and I think there is a chance to do this that way.

The main thing is that it can step through images. When you click on a different image it doesn't open a new window with the image, rather it replaces the image in the already-open window by the one you selected. In this way, you can step through a sequence of images.

Is there a libgimp function that would let me change the image in a window that is already open?

Thanks,

Simon Budig
2003-03-29 03:54:24 UTC (about 21 years ago)

[Q] Future of Gimp

Daniel Carrera (dcarrera@math.umd.edu) wrote:

3) How hard will it be to port current script-language bindings to the new Gimp?

I think that the basic infrastructure for calling PDB-Functions basically is the same as in earlier Gimp Versions. Some PDB-Functions have been renamed so you might need to fiddle a bit.

What is a PDB function? Is that what people use to make bindings?

Yes, and to write plugins etc - except that some plugin-authors are probably not aware of that fact. Gimp maintains a Procedural DataBase with various functions. Libgimp has some functions to access this Databasea (search, execute) plus a lot of wrappers around this functions. Basically for a language binding you have to use these pdb-access functions to map the pdb functions into the target language.

http://developer.gimp.org/api/1.3/libgimp/libgimp-gimpproceduraldb.html

Where can I learn more about making such bindings?

Look at the existing bindings and the libgimp documentation.

The reason why I ask is that I can't find the documentation. Could you plese tell me where the documentation is?

The libgimp documentation gets build when you compile the Gimp from CVS - not sure about the tarballs. A more or less current version is available at http://developer.gimp.org.

I am not really familiar with FilmGimp's Frame Manager, so I am not really sure what stuff would be necessary to do. However, Gimp Plugins/Extensions can do a lot and I think there is a chance to do this that way.

The main thing is that it can step through images. When you click on a different image it doesn't open a new window with the image, rather it replaces the image in the already-open window by the one you selected. In this way, you can step through a sequence of images.

Is there a libgimp function that would let me change the image in a window that is already open?

I think gimp-displays-reconnect is what you are looking for.

Bye, Simon

Michael J. Hammel
2003-03-29 04:20:56 UTC (about 21 years ago)

[Q] Future of Gimp

On Fri, 2003-03-28 at 19:24, Daniel Carrera wrote:

The main thing is that it can step through images. When you click on a different image it doesn't open a new window with the image, rather it replaces the image in the already-open window by the one you selected. In this way, you can step through a sequence of images.

Ah yes. The flipbook thing. I remember Ray Feeney asking for such a thing when I interviewed him.

The easiest way to implement this now would be to load the images in as separate layers and then manage the sequence via layers. The drawback with this method is that if you want layer processing on each image, you have to keep track (in your plugin) of what new layers you've added that will be associated with which image. Not terribly difficult - essentially you'd be using GIMP as a processing engine only and use your Plug-in for specifying what needed to be done (blurs, color enhancements, etc. on specified locations for series of images, for example).

Simon Budig
2003-03-29 14:25:23 UTC (about 21 years ago)

[Q] Future of Gimp

I hope you don't mind that I reply to the list also - this might also be interesting to others.

Daniel Carrera (dcarrera@math.umd.edu) wrote:

On Sat, Mar 29, 2003 at 03:54:24AM +0100, Simon Budig wrote:

What is a PDB function? Is that what people use to make bindings?

Yes, and to write plugins etc - except that some plugin-authors are probably not aware of that fact. Gimp maintains a Procedural DataBase with various functions. Libgimp has some functions to access this Databasea (search, execute) plus a lot of wrappers around this functions. Basically for a language binding you have to use these pdb-access functions to map the pdb functions into the target language.

http://developer.gimp.org/api/1.3/libgimp/libgimp-gimpproceduraldb.html

I've read this page, but I don't feel any closer to understanding this. What is a procedural database? Why would I want to touch it when I'm trying to make language bindings?

For a short explantation of the PDB have a look at http://www.home.unix-ag.org/simon/gimp/guadec2002/gimp-plugin/html/

Shouldn't I try to make bindings around all the other libgimp functions, like gimp_image_scale() or things like that?

The point is, that this is not necessary. If you look at the libgimp implementation of gimp_image_scale() you'll see that it is a short wrapper around a PDB call:

gboolean gimp_image_scale (gint32 image_ID, gint new_width, gint new_height) {
GimpParam *return_vals;
gint nreturn_vals;
gboolean success = TRUE;

return_vals = gimp_run_procedure ("gimp_image_scale", &nreturn_vals, GIMP_PDB_IMAGE, image_ID, GIMP_PDB_INT32, new_width, GIMP_PDB_INT32, new_height, GIMP_PDB_END);

success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

gimp_destroy_params (return_vals, nreturn_vals);

return success; }

Most libgimp functions look exactly this way. So, if you want to look at it this way the libgimp is (except the PDB-access stuff) basically a C-binding. Bindings for other languages don't need to use gimp_image_scale() from libgimp, they can use their wrapper around gimp_run_procedure directly. IIRC the Perl bindings don't have fixed wrappers around all PDB functions. They dynamically search the PDB with some heuristics if a function gets called. This has the advantage that it can provide bindings to PDB functions the author (of the binding) at the time of writing did not know about.

I don't understand how PDB relates to the rest of Gimp.

Basically the PDB *is* the GIMP. Ok, this is not exactly true, but as far as plugins and bindings it is. You cannot access image manipulation functions that are not entered in the PDB - fortunately most functionality is available via the PDB.

Thank you for your help.

I hope this helps.

Bye,
Simon

Guillermo S. Romero / Familia Romero
2003-03-29 15:50:55 UTC (about 21 years ago)

[Q] Future of Gimp

mjhammel@graphics-muse.org (2003-03-28 at 2120.56 -0600):

On Fri, 2003-03-28 at 19:24, Daniel Carrera wrote:

The main thing is that it can step through images. When you click on a different image it doesn't open a new window with the image, rather it replaces the image in the already-open window by the one you selected. In this way, you can step through a sequence of images.

Ah yes. The flipbook thing. I remember Ray Feeney asking for such a thing when I interviewed him.

Is not that GAP, Gimp Animation Plugin? The 1.2 version here has a menu named Video, and has commands like the ones you talk about, including one named VCR Navigation. Dunno current status of GAP for 1.3/1.4, I just barely remember some notes in changelo about cvs reorganization.

GSR

Sven Neumann
2003-03-30 22:18:32 UTC (about 21 years ago)

[Q] Future of Gimp

Hi,

"Guillermo S. Romero / Familia Romero" writes:

Is not that GAP, Gimp Animation Plugin? The 1.2 version here has a menu named Video, and has commands like the ones you talk about, including one named VCR Navigation. Dunno current status of GAP for 1.3/1.4, I just barely remember some notes in changelo about cvs reorganization.

Yes, GAP has a very nice Video Navigator plug-in which is able to exchange the displayed image in the GIMP image window.

As I announced a few days ago, GAP for GIMP-1.3 now lives in its own CVS module (gimp-gap). It compiles and seems functional but I didn't do much testing.

Salut, Sveb

Jakub Steiner
2003-04-03 13:01:03 UTC (about 21 years ago)

[Q] Future of Gimp

V So, 29. 03. 2003 v 02.24, Daniel Carrera napsal:

The main thing is that it can step through images. When you click on a different image it doesn't open a new window with the image, rather it replaces the image in the already-open window by the one you selected. In this way, you can step through a sequence of images.

The navigator from GAP does just that. GAP is available in Gimp 1.2 and has been moved to a separate module for 1.4 (gimp-gap). There was supposed to be an early 1.3 release but I'm unable to find the appropriate link now.

cheers