On Thursday 05 August 2010 03:29:28 am Richard Hughes wrote:
> On 2 August 2010 18:53, Hal V. Engel <hven...@gmail.com> wrote:
> > In fact I would like to migrate LProf to lcms2 for a number of reasons.
> > Currently LProf has an embedded modified version of lcms 1.17.  This was
> > needed to extend lcms to support the creation of VCGT tags since there
> > was no way to do this short of modifying the lcms code (lcms1 did not
> > have plugins).  With lcms2 the is no need for a customized version as at
> > most it will only need a plugin to handle this functionality (I have not
> > looked - does lcms2 have VCGT support?).
> 
> Yes, we're using it already in GCM. :-)
> 
> >   By migrating to lcms2 (and creating a VCGT plugin if needed) it
> > would be possible to remove the embedded version of lcms and this would
> > make things easier to maintain.
> 
> Great.
> 
> > The calls to lcms in LProf are fairly isolated in specific parts of the
> > code (most - 98% - are in liblprof) and this should make migrating to
> > lcms2 fairly straight forward.  But LProf does use some lcms calls that
> > are not part of the public interface of lcms (IE. internal calls) and
> > this might cause some issues for the migration.  Patches are welcome.
> >  Also what part of liblprof are you using (or planning to use)?
> 
> I'm planning to convert an it8 file to an icc file for trivial on the
> fly calibration, so really quite a lot of liblprof...
> 
> > Also currently liblprof is statically linked in the current LProf builds.
> > Should this be changed so that it is a shared library (easy to do)?  I
> > know that the digikam project also uses some code from an earlier version
> > of liblprof and perhaps having this as a shared library would make things
> > easier for everyone.  But at least some of the functionality that digikam
> > is using is now embedded in a Qt4 designer plugin that is no longer part
> > of liblprof so making liblprof shared may not help them.
> 
> I think the best idea would be:
> 
> 1. either merge lcmsprf back into lcms2
> 2. have lcmsprf as a seporate add-on library that compliments lcms2
> 
> Then it would be trivial to use lcmsprof as a shared library in lprof.
> 
> Point 1 would require Marti to accept a huge patch to lcms2 (which he
> might not be able/want to do) and point 2 would require splitting out
> the library to somewhere like github where we can all contribute to a
> shared version. If we did option 1 or 2, I would very much like to
> help converting it to use lcms2.
> 
> Comments welcome,
> 
> Richard.
> 

I don't think #1 is very practical or very likely for that matter.  In 
addition I believe that Marti has an agreement with his employer that he will 
not work on LProf so this is another reason that it is unlikely that this will 
end up being part of lcms2.  In addition this library is specifically there to 
support LProf and the project needs to maintain some degree of control over 
it.

#2 might be workable but I think that a better solution would be manage the 
library as part of LProf but in it's own source tree (with it's own build and 
so on) as a separate shared library sub-project.  

There are other parts of LProf that perhaps should be placed in separate 
libraries as well since this may be useful to other projects.

LProf now has a nice Qt4 designer plug-in for the CIE diagram that might be 
useful to other Qt/KDE based apps like digikam or krita that could be perhaps 
placed in a separate library.  Right now digikam is using an older forked 
version of the CIE diagram which used to be part of liblprof but this is now 
part of libqtlcmswidgets.  There are a number of Qt designer widget plug-ins 
in this library that might be useful to other projects that do color related 
stuff such as a profile selector, a reference file selector and the CIE diagram 
although the reference file selector and the lprofgauge plug-in are likely 
LProf centric and not too useful for other projects.  Some of these could use 
updating.  For example I would like to replace the  2D CIE diagram with the 3D 
gamut view that is part of iccexamin when that is generalized to make is 
usable by other projects (that is create a Qt designer plug-in that uses the 
iccexamin gamut view functionality and use this to replace the CIE diagram).

And the last possible library that could be separated out is the videoLUTutils 
library.  This is a C++ cross platform library for getting and setting the 
video card gamma tables.  The X11 code probably needs some updates for XRandR 
since I don't have access to a machine that supports XRandR.  But it does have 
working code for non-XRandR X11, Windows and OS/X and adding XRandR support 
should not be too difficult.

As a side note.  LProf has it's own IT8 library that is located in liblprof.  
Marti added full IT8 support to LCMS later on so this code is now redundant.  
A while back I migrated some parts of the LProf code to use the lcms IT8 calls 
but it is only partly done.  At some point I would like to migrate over to the 
lcms IT8 calls and remove the IT8 code from liblprof and I think this should 
be done as part of the lcms2 migration.

Hal 

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to