Hi Sven,
Sven Neumann wrote:
"William Skaggs" <weskaggs@xxxxxxxxxxxxxxxxxxx> writes:
So at the most concrete possible level, here is a suggestion on how to start:
Step 1: Add a "Color Management" page to the Preferences.
Step 2: Add "enable/disable color management" and "working colorspace" options to the page. To start with, sRGB will be the only option for the latter, but the infrastructure should not build in any assumption that this will always be true.
GIMP really won't care what this working space is; as far as the core is concerned it's just a filename, so why limit it to sRGB even temporarily?
Step 3: In the file-loading code, after an image has been loaded, check for the presence of parasites called either "icc-profile" or "colorspace". If one of these is found, execute the color management plug-in.
Step 4: Write a color management plug-in.
Sounds good except that Step 4 should be first.
Sure, but the plugin will depend on the implementation of the other stages. The guts of the plugin, thanks to lcms, will be pretty trivial - far simpler than the separate plugin; the most important factor will be the design of its user interface, and supporting factors, e.g. do we support tagging images both with an actual profile, or with the filename of a profile, and such like.
There are a couple of other issues that might warrant discussion with the developers of lcms; how to go about comparing profiles for equality for instance (we want to be able to avoid converting between an embedded profile and the working space if they are in fact the same profile!)
All the best, -- Alastair M. Robinson