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
[Gimp-developer] Re: [Q] Future of Gimp
[EMAIL PROTECTED] (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 ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
[Gimp-developer] ANNOUNCE: Gimp-Print 4.3.12
Gimp-Print 4.3.12, released March 29, 2003, is a development release of this package. Gimp-Print is a suite of printer drivers that may be used with most common UNIX print spooling systems, including CUPS, lpr, LPRng, or others. These drivers provide high quality printing for UNIX (including Macintosh OS X 10.2 and newer) and Linux systems in many cases equal to or better than proprietary vendor-supplied drivers, and can be used for many of the most demanding printing tasks. This software includes the Print plug-in for the Gimp, and Ghostscript and CUPS drivers, including Foomatic data. The print plugin for the Gimp requires the Gimp 1.2 (later versions of the Gimp are not supported). The CUPS driver requires CUPS 1.1.15 or higher. The IJS-based GhostScript plugin driver requires GNU Ghostscript 6.53 or later, ESP Ghostscript 7.05 or later, or APFL GhostScript 7.04 or later. Users of Macintosh OS X 10.2 and above can use this package, as the printing system is based on CUPS, which is supported by Gimp-print. Note that Macintosh OS X 10.0 and 10.1 (including 10.1.5) cannot use this package. Please read the README file for full instructions on installing this package. Gimp-Print 4.3.12 contains the following major changes over Gimp-Print 4.3.11: 1) It is now possible to use all supported floating point and string options with the CUPS driver. At present, the CUPS driver supports all options other than curves. 2) The ink type setting is now optional for the Epson driver. If the default setting is chosen in the CUPS driver, or the check box for this is left unchecked in the GIMP plugin, an appropriate ink type will be selected for the paper and printer chosen. 3) Full bleed is now offered as an option on Epson printers that support it. The full bleed now correctly overprints the edge of the paper. 4) The contrast adjustment now has an option to use either linear contrast adjustment (which is what Gimp-print has traditionally used) or fixed endpoint (which is what most applications use). 5) All printers will now work correctly with EvenTone dithering. 6) Problems with the Epson Stylus Photo 2100/2200 and Epson Stylus Pro 1 have been fixed. -- Robert Krawitz [EMAIL PROTECTED] Tall Clubs International -- http://www.tall.org/ or 1-888-IM-TALL-2 Member of the League for Programming Freedom -- mail [EMAIL PROTECTED] Project lead for Gimp Print --http://gimp-print.sourceforge.net Linux doesn't dictate how I work, I dictate how Linux works. --Eric Crampton ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer