|
From: Ian <pb...@be...> - 2012-04-17 11:57:41
|
Argyll installs ccss files into \Users\<user>\AppData\Roaming\color or \ProgramData\color on Windows machines and other directories on Mac and Linux that are defined in the XDG Base Directory Specification. The installation is done by the i1d3css program, which is included in the HCFR project. i1d3ccss locates the X-rite .EDR files in a bunch of different places, from the installation directories to the install media, converts them to argyll format and then installs them. The argyll libs conveniently provide a function list_iccss() to iterate through the list of installed ccss files. I chose to use the argyll method as it totally hides the implementation details which change from mac to windows: the same code is used to find the files on both systems. Since we include the i1d3ccss program, it makes it really easy for the user of an i1d3, as they don't even have to know where to find the .EDR or ccss files on their drive. The argyll software will locate them automagically, convert them, and install them in a place we can find and load them, independently of system, with very little effort. I conveniently speak French, since I lived there for a number of years :) On 17/04/2012 08:03, John Adcock wrote: > Thanks for that, i wasn't sure if the conversion from edr populated the text parts sensibly. The existing code uses meter specific child directories of the install directory for the "calibration" files which serve a similar purpose. > In french this seems to be etalon so if you see that in the code that what that means. > > it's a toss up if it's better to keep compatible with argyll or create our own structure. > > John > > On 17 Apr 2012, at 03:55, "Ian"<pb...@be...> wrote: > >> A ccss sample file is identified either by it's filename or by the >> more friendly textual description that's embedded in the file itself, >> which will say something like "LCD WIDE GAMUT IPS". spectralType is just >> this textual description, which is always meant to be the spectral type >> of the device. I should have called it "ccssDescription" or something >> similar. >> >> I agree, it may be worth splitting the code into a separate class. I'll >> have a look into it... >> >> Ian >> >> On 16/04/2012 09:13, John Adcock wrote: >>> Ian >>> >>> Great! That saves me from doing it.... >>> >>> It sounds like your approach is similar to how I would have done it. >>> >>> A few comments though. >>> >>> Probably worth pointing out that ArgyllMeterWrapper code is cross platform so care is need to avoid platform specific stuff. I think it may be worth splitting out the ccss file handling code into a seperate class. Also we should try and maintain the ability to localize, so ideally we shouldn't be exposing stuff like SpectralType as strings. >>> >>> I'm not yet 100% sure I've got my head round the meaning of some of the header parts to the ccss and how that relates to how we should match them in the UI, but we can always work on that later. >>> >>> John >>> >>> >>> >>> >>> >>> --- snip --- >>> and implemented .ccss >>> spectral sample calibration files. These are important to get any degree >>> of accuracy on the i1d3. X-rite supply 4 generic spectral samples in >>> .EDR format that can be converted and installed using i1d3ccss. The >>> implementation pulls the files from the installed location and loads the >>> selected one into the device when CArgyllSensor::Init() is called. The >>> implementation itself is in the ArgyllMeterWrapper class (see below) >>> with the addition of a combox box field to the CArgyllSensorPropPage >>> dialog box. >>> --- snip --- >> >> >> ------------------------------------------------------------------------------ >> Better than sec? Nothing is better than sec when it comes to >> monitoring Big Data applications. Try Boundary one-second >> resolution app monitoring today. Free. >> http://p.sf.net/sfu/Boundary-dev2dev >> _______________________________________________ >> Hcfr-developer mailing list >> Hcf...@li... >> https://lists.sourceforge.net/lists/listinfo/hcfr-developer >> |