Re: [Gimp-developer] [Q] Future of Gimp

2003-04-03 Thread Jakub Steiner
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

2003-03-29 Thread Simon Budig
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

2003-03-28 Thread Simon Budig
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

2003-03-28 Thread Daniel Carrera
  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

2003-03-28 Thread Simon Budig
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