libGimp
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.
libGimp | Mariano Cuenze | 16 Jul 22:08 |
libGimp | Sven Neumann | 19 Jul 08:29 |
libGimp | Frédéric | 19 Jul 09:02 |
libGimp | Mariano Cuenze | 20 Jul 03:37 |
libGimp
Hi.
I am new in this list. I had subscribed because i want to use the gimp
in a way I had found little documentation (maybe i had looked for it in a
wrong way ).
Gimp is a very nice development, and a great tool, I know its possible
to use it like a user (thought its user interface), add it plug-ins (in
scheme or python), and use it in a batch mode. But I want to extend it to
allow to use its api from another program (suppose i had a console program
and I need to edit a photograph, it would be nice to have access to a
libgimp utility -and all its dependencies files- with the minimum install
process).
Why? I am trying to develop a mozilla component to add this feature.
I hope the short description above its enough clear to ask you: any tips
or suggestions for this task? I think its a big and complex task but I want
to try.
Thanks in advance.
Mariano.
libGimp
Hi,
On Sun, 2006-07-16 at 17:08 -0300, Mariano Cuenze wrote:
Gimp is a very nice development, and a great tool, I know its possible to use it like a user (thought its user interface), add it plug-ins (in scheme or python), and use it in a batch mode. But I want to extend it to allow to use its api from another program (suppose i had a console program and I need to edit a photograph, it would be nice to have access to a libgimp utility -and all its dependencies files- with the minimum install process).
I think you misunderstood what libgimp is doing. There is no image manipulation functionality in libgimp. libgimp is just used to allow the GIMP core and it's plug-ins to communicate. Without the GIMP core running, libgimp is useless. So you can't build an application, link to libgimp and use all the GIMP functionality. What you can do is to write a plug-in that communicates with a running GIMP process (or even to gimp-console, which is a gimp binary without the user interface).
Sven
libGimp
On Wednesday 19 July 2006 08:29, Sven Neumann wrote:
Gimp is a very nice development, and a great tool, I know its possible to use it like a user (thought its user interface), add it plug-ins (in scheme or python), and use it in a batch mode. But I want to extend it to allow to use its api from another program (suppose i had a console program and I need to edit a photograph, it would be nice to have access to a libgimp utility -and all its dependencies files- with the minimum install process).
I think you misunderstood what libgimp is doing. There is no image manipulation functionality in libgimp. libgimp is just used to allow the GIMP core and it's plug-ins to communicate. Without the GIMP core running, libgimp is useless. So you can't build an application, link to libgimp and use all the GIMP functionality. What you can do is to write a plug-in that communicates with a running GIMP process (or even to gimp-console, which is a gimp binary without the user interface).
Does GEGL work like Mariano thought libgimp work? In that case, it is maybe a better idea to start looking at GEGL, has it will be, in the future, the image manipulation library used in The Gimp...
libGimp
Sven:
Really, thanks for your repply.
Yes, I misunderstood. Then suppose that I develop that plug-in,
something that allow an interproccess comunication with the GIMP, i still
will have to install the GIMP, to start it in some way, and then to use it.
I wonder if it is a good solution to use interproccess comunication instead
of link or add it to a project (may be I cant still see the dimension of the
task). Is it more difficult? or is there nothing developed that will make
more easy the task? or is it impossible for some reason? or the plug in way
can be a good starting point?
Another possibility can be: add to the gimp-console, this plug-in
ability, or develop something like the gimp-console with this functionality,
and allow it to be compiled like a library.
But, if the way is a plug-in, it must have two parts: one (that
must be installed in GIMP) that is responsible to expose the GIMP
functionality, information about the environment (the plug-ins installed,
the GIMP version,..). And a client part, that encapsulate the interproccess
comunication. Because the GIMP runs on a big amount of systems, do you
recommend something about the kind of ic that is the best to use?
GIOChannel? signals? socket? pipe? another? In some point, the idea is, form
a console test program, and like the first possible step:
#include "gimp_remoteclient.h"
int main (void)
{
Gimp_Remote_Start ( );
Gimp_Image aGImg = Gimp_Remote_OpenImage ( "aImg.png" );
/*in a future, add image manipulation, filters and layer access,...*/
Gimp_Remote_SaveImageAs ( aGImg, "AImg2.png", Gimp_ImageFormat::PNG
);
Gimp_Remote_End ( );
return 0;
}
I am sorry about my little knowledge about this idea and how to
implement it -I really want to extend GIMP in this direction, I think it
will be very nice.
Thanks in advance.
Mariano.
On 7/19/06, Sven Neumann wrote:
Hi,
On Sun, 2006-07-16 at 17:08 -0300, Mariano Cuenze wrote:
Gimp is a very nice development, and a great tool, I know its possible to use it like a user (thought its user interface), add it plug-ins (in scheme or python), and use it in a batch mode. But I want to extend it to allow to use its api from another program (suppose i had a console program and I need to edit a photograph, it would be nice to have access to a libgimp utility -and all its dependencies files- with the minimum install process).
I think you misunderstood what libgimp is doing. There is no image manipulation functionality in libgimp. libgimp is just used to allow the GIMP core and it's plug-ins to communicate. Without the GIMP core running, libgimp is useless. So you can't build an application, link to libgimp and use all the GIMP functionality. What you can do is to write a plug-in that communicates with a running GIMP process (or even to gimp-console, which is a gimp binary without the user interface).
Sven