On Thu, 2006-06-22 at 00:35 +0200, Raphaël Quinet wrote:

> > The file plug-ins could as well use the functions via the PDB then.
> > What's the benefit of linking to them?
> Cleaner code (core/GUI separation, maintainable by different people),
> lower overhead (especially when changing many properties) and more
> importantly providing the start of a solution for avoiding the
> concurrency issues that I mentioned earlier.

Sorry, but I don't follow you on the first arguments, they seem
unrelated. Where the code lives has nothing to do with how clean it is.
So the argument for having this library now is that it allows avoiding
the concurrency issues. But that's something that we will only get later
anyway. That makes me think that it will be best to keep the code in a
plug-in, accessible over the PDB. That should give us everything we need
for 2.4 and avoids the need for defining an API now that we might have
to support for quite a while.

> > I am somewhat reluctant to see such code in the core, or the core
> > linking to it. Simply because experience shows that parsers aren't
> > perfect and can crash. I wouldn't want to see the core crash because
> > some camera manufacturer made a mistake and the camera creates images
> > with corrupt metadata.
> I understand your concerns.  However, I do not see another way to view
> and modify the metadata in real time.  Viewing the metadata should be
> like viewing any other image properties (info dialog) and doing this in
> a plug-in that does not know when the image or its metadata is modified
> means that the metadata displayed by the plug-in may not match the
> current data: wrong image dimensions, color space, etc.  And worse, the
> plug-in may override some changes to the metadata if it updates it after
> ignoring other changes that happened outside of its control.

I understand your concerns. But since you said that we aren't going to
have this code in the core for 2.4, what's the point of preparing that
move now? If we have a little more time, we can find other ways to avoid
the concurrency problem. The core could for example signal image changes
to plug-ins that ask for such notifications. That would be useful for a
lot of plug-ins and we could add such functionality right after 2.4.


Gimp-developer mailing list

Reply via email to