Re: [Gimp-developer] [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 -- Jakub Steiner [EMAIL PROTECTED] signature.asc Description: PGP signature
Re: [Gimp-developer] [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 ([EMAIL PROTECTED]) 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 -- [EMAIL PROTECTED] http://www.home.unix-ag.org/simon/ ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] [Q] Future of Gimp
Daniel Carrera ([EMAIL PROTECTED]) 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 -- [EMAIL PROTECTED] http://www.home.unix-ag.org/simon/ ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] [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, -- Daniel Carrera Graduate Teaching Assistant. Math Dept. University of Maryland. (301) 405-5137 -- distrain: distrain (di-STRAYN) verb tr., intr. To seize the property in order to force payment for damages, debt, etc. ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] [Q] Future of Gimp
Daniel Carrera ([EMAIL PROTECTED]) 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 -- [EMAIL PROTECTED] http://www.home.unix-ag.org/simon/ ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer