On 09/11/2010 10:14 AM, Øyvind Kolås wrote:

> Looking at the code babl doesn't create a double-format, but when
> registering a color model conversions to/from a (perhaps synthesized)
> double format is provided to be able to regression test.

I'm sure you think this all totally obvious, but it's actually really 
confusing. ;o)

An example:
- I registered a color model "HSV" and its components, but no format.
- Now I can successfully register a conversion between "RGBA" and
   "HSV", all components are (implicitly) double
- BablFishPath.html shows a format "HSV double"
- But "HSV double" doesn't actually exist as a format. Trying to
   register a conversion to/from babl_format("HSV double") gives
   an error: babl_format("HSV double"): not found
- In contrast, when I _use_ babl (i.e. not inside babl)
   babl_format ("HSV double") works just fine.
- Then again, babl_format ("RGB double") always fails, both inside
   babl and in userland.

Maybe there is a red line somewhere in there which I fail to see, but 
right now I'm just hopelessly confused and wouldn't know how to sanely 
describe the situation in the docs.

My knee-jerk proposition would be:
Automatically register a double format for every model that is 
registered. Is there any downside to that?

(I thought before that happens already but failed to realize that I had 
followed the call hierarchy to somewhere in babl/tests)

> Empty spots in what, if you are referring to
> http://gegl.org/babl/BablFishPath.html
> then the empty spots are the spots where babl is finding its own way,

I still don't understand that. What is 'its own way'?
E.g. the "CMYK float" row has only empty spots. Picking one of them, I 
get e.g. 'Reference CMYK float to CIE Lab u16' in the popup window.
How can babl possibly find its own way from CMYK to CIE Lab u16 without 
hopping over several extension-supplied conversions?

> the single dots are where there are direct conversions and the bars of
> varying vertical height indicate how many steps a multi step
> conversion takes.

Those two even I understood. ;)  But I'm still riddling over the red bars.

Gegl-developer mailing list

Reply via email to