Re: [Gimp-developer] gimp_image_parasite_find, GimpImage, and metadata

2011-02-12 Thread Bill Skaggs
Also I should have pointed you to the documentation at:

http://developer.gimp.org/api/2.0/libgimp/libgimp-gimpimage.html#gimp-image-parasite-find

  -- Bill
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] gimp_image_parasite_find, GimpImage, and metadata

2011-02-12 Thread Bill Skaggs
On Sat, Feb 12, 2011 at 12:01 AM, Ulysses Levy wrote:

>  I'm poking around plug-ins/metadata/metadata.c and I want to get
> gimp_image_parasite_find (image_ID, METADATA_PARASITE) to work.
>
> I'm pretty sure gimp_image_parasite_find expects a parameter of type
> GimpImage, so I guess what I'm really asking for is the correct API to get
> the current GimpImage from a plug-in.
>
> No, image_ID is simply an integer.  Core structures such as GimpImage do
not get passed to plug-ins, so
plug-ins can't make use of them.   Instead things like images, layers, etc
are represented by integer labels.
(Formally, by values of type GIMP_PDB_IMAGE, GIMP_PDB_LAYER, etc, but in
fact those are just integers.)
The value of the image_ID is actually available as one of the params of the
"run" function -- you should be
able to figure out the standard way to access it by glancing at a couple of
existing plug-ins.

  -- Bill
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Google Summer of Code 2011 - Project Ideas/Suggestions

2011-02-12 Thread Michael Natterer
On Sat, 2011-02-12 at 18:31 -0500, Liam R E Quin wrote:
> On Sun, 2011-02-13 at 01:04 +0200, LightningIsMyName wrote:
> 
> a couple of comments
> 
> > Make menus searchable
> > 
> > ... i.e. have a textbox, in te menu for example, and anything typed
> > will be matched against all menu items and their blurbs and maybe
> > something more (like procedures not registered in menus).
> 
> I still think the right way to do this is to have all the menus
> constructed through scripting, or at least to have ways to override and
> inspect all the menus from scripting.

The menus are defined in XML files which bind code-defined actions
to menu items. This stuff if fully introspectable and an experienced
GIMP coder can hack up a usable menu search in one day. Hardly a GSoC
project that would keep a new GIMP hacker busy for longer than two
weeks.

Tumbs down from here.

As to creating menus by scripting, I really don't see what would be
the purpose of that. The way we construct menus is completely to
GTK+ standards, with some GIMP specific additions. Overriding menus
from scripts feels like over-configurability to me and hardly like
a way to foster usability.

ciao,
--mitch


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Google Summer of Code 2011 - Project Ideas/Suggestions

2011-02-12 Thread Liam R E Quin
On Sun, 2011-02-13 at 01:04 +0200, LightningIsMyName wrote:

a couple of comments

> Make menus searchable
> 
> ... i.e. have a textbox, in te menu for example, and anything typed
> will be matched against all menu items and their blurbs and maybe
> something more (like procedures not registered in menus).

I still think the right way to do this is to have all the menus
constructed through scripting, or at least to have ways to override and
inspect all the menus from scripting.


> Implement the free transform tool
> 
> For exact specifications, see:
> http://gui.gimp.org/index.php/Transformation_tool_specification
> 
> (may be offline at the moment)
It had better not be :-) Let me know if there are problems with it.

[...]

> --
> Porting GIMP plugins to GEGL operations

Implementing a compatibility framework to run older plugins and scripts
once gegl is in place might be the best way to go here.  Think of all
those scripts on the gimp.org Web site...


> Adaptive Image Cloning (aka Semaless Cloning)

Sounds interesting.

I'd add maybe

Macro recording (actions), possibly with pop-up dialogue boxes to ask
for values;

Font selection using tags (preferably compatibly with fontmatrix and
inkscape at least)

Undo/redo/"again"

Integrate vector layers with gegl

Better HDR support - e.g. aligning layers, (I think there may be patents
on the various hugin algorithms for combining images though)

Fractal image upscaling (required by many stock agencies these days)

PhotoShop CS6 :-) import/export

But right now, some of the most important areas are
(1) single window mode design and implementation and subsequent
redesign :-)
(2) ability to do at least basic > 8bit-per-channel processing,
preferably using gegl
(3) user interface design for everything else



-- 
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
Ankh: irc.sorcery.net irc.gnome.org www.advogato.org

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] Google Summer of Code 2011 - Project Ideas/Suggestions

2011-02-12 Thread LightningIsMyName
I'm starting this thread to list ideas for Google Summer of Code 2011,
for the GIMP project. Since in the last year collecting ideas was done
partially by the mailing list, let's try it again this year and keep
most ideas here.

One should aslo take a look at GEGL's page about contributing (too bad
GIMP doesn't have something like that):
http://gegl.org/contribute.html

Here is a list of ideas from 2010, that are still not implemented, and
*may* be relevant.

--
--
JavaScript scripting in the core and/or plug-ins - using GNOME Java
Script infrastructure (GJS)

GIMP scripts and plug-ins can be written in Scheme, Perl, Python and
C. Scheme is always available, but limited in its application in
regard on image manipulation. Additionally, as a list-processing
language, it may appear as weird to most users. Its main purpose is
scripting workflows for repetitive work.

The Perl binding is currently the least supported one and not
available on platforms other than Unix. The Python binding and the C
libraries are current the most powerful ones.

Javascript could take over Scheme's role as the genreral purpose
scripting language for GIMP.

[Note]: At least for scheme, there are no debuggers for scripting in
GIMP, and only tracing is supported. It would be neat if as a part of
this project, a javascript debugger will be integrated so scripts
could be debugged in a sane way. Again, this is not a part of the
original project suggestion (as suggested last year), but this is
something that could be helpful.
--
--
Make menus searchable

... i.e. have a textbox, in te menu for example, and anything typed
will be matched against all menu items and their blurbs and maybe
something more (like procedures not registered in menus).

--
--
Implement the free transform tool

For exact specifications, see:
http://gui.gimp.org/index.php/Transformation_tool_specification

(may be offline at the moment)

--
--
Replace the GimpSizeEntry widget

Right now both the code and the UI is a mess. The unit should for
example be in the text entry itself instead of in a combo box

--
--
Brush selector wigdet

More precisely one that is also capable for brush transform input
(size/angle/aspect ratio).

--
--
Slicing tool

One of the most requested features by web designers and/or interface
designers, is the addition of a slice tool. Currently slicing images
inside GIMP can only be done in grids (using guides and the guillotine
action) and you can't split just one rectangle in the middle.

For example, the following slice can not be achieved:

---
|||
|||
|||
|||
-||
|||
---


--
--
Porting GIMP plugins to GEGL operations

There are many many GIMP plugins that would need eventually to be
converted to GEGL operations, if we want to use them in future
versions of GIMP.




Now, I'll throw in a first idea myself:

--
--
Adaptive Image Cloning (aka Semaless Cloning)

Direct cloning of parts from one image to another, usually ends in bad
results because of different lighting conditions and other settings
(such as white-balance) which causes the color of the cloned part not
to match the source image and look out of place. There are some
techniques to solve this, by using poisson equations and some other
methods.

It differes from the existing heal tool, since it is meant for taking
one area from an image, and paste it smoothly in some other area. The
current algorithm implemented by the healing tool allows to remove
local irregularities (such as dots, hairs, etc.) very well, but
experiments of using it to do "adaptive cloning" of areas (for example
copying a person from one image to the other) do not produce good
results.

(It should be said that I'm a bit biased torwards this idea, because I
want to work on it as a student in GSoC and I already collected papers
about it. Still, I'd like a lot to see somthing like this in GIMP, no
matter who implements it)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] gimp_image_parasite_find, GimpImage, and metadata

2011-02-12 Thread Ulysses Levy
I'm poking around plug-ins/metadata/metadata.c and I want to get 
gimp_image_parasite_find (image_ID, METADATA_PARASITE) to work.


I'm pretty sure gimp_image_parasite_find expects a parameter of type 
GimpImage, so I guess what I'm really asking for is the correct API to 
get the current GimpImage from a plug-in.


ps - sorry for the newbie question

Thanks,
-uly
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer