v4.2.0
35 new or changed things and 46 fixed problems and 2 documentation updates in this release.
✨ What's new
-
ChromIQ measures a chart with a CR30. It is a low-cost spectrophotometer
with no ArgyllCMS support of any kind, so finding it, identifying it,
calibrating it and reading a patch are all ChromIQ's own work, over USB and
over Bluetooth. It calibrates the instrument for you, showing both steps as a
picture with the current one marked, and offers the dark reference as a tick
box because a CR30 has no black tile. It also says plainly what it cannot do:
a white calibration cannot be checked by software, because the instrument
reports the same value whatever is under the cap. Read single patches works
with a CR30 too. The instrument was reverse engineered on real hardware, and
the protocol notes, the captures and the experiments that turned out wrong are
public at https://github.com/itsab1989/chromiq-cr30-research. Used so far on
macOS over USB and over Bluetooth and on Windows on ARM over USB, each with a
real instrument and a real chart, and over Bluetooth on Windows 11, where a
user reported connecting, calibrating and measuring without trouble. Linux
should work and nobody has tried it. -
A magnet at the measuring opening can no longer spoil a reading in
silence. A magnet makes a CR30 take a white calibration instead of a
measurement and hand back its stored white-tile value, which looks like an
ordinary patch colour, and a laptop lid, a fridge door or the instrument's own
cap will do it straight through a sheet of paper. ChromIQ learns your own
instrument's tile value (one press with the cap on over USB, two over
Bluetooth), files it against that instrument so a second CR30 never inherits
the first one's, then refuses such a reading, stops the measurement and offers
to recalibrate on the spot. Everything measured before that moment is already
saved. Over Bluetooth there is no equivalent signal, so use the cable if you
have it. -
Space, or Enter, takes the reading, once your instrument's tile is
learned. That is not only convenience: pressing the instrument's own button
moves it by about ten times its own measurement noise, 0.5 %R against
0.05 %R, both measured, so keeping it still is measurably more accurate. -
See where the instrument will sit. A CR30's 33 mm body hides the patch the
moment you lower it, so the measurement preview now draws that body to scale,
dashed, on the patch you are being asked for: line it up on screen, note which
neighbours it covers, and put the instrument down so those same neighbours are
evenly covered. A second, much smaller circle appears only when there is a
problem, the 4 mm measuring opening, shown when the patch is too small for it.
Both figures come from the manufacturer's own specification. -
A Bluetooth report, for when the instrument will not connect. Tools ▸
Instruments. It separates the three cases (your computer's Bluetooth sees
nothing, something is offering the service a CR30 uses, ChromIQ's own search
accepts it) and writes a file you can send. It never asks the instrument to
measure or to calibrate. -
Twenty ready-made CR30 charts, from Knut. Ten on A4 and ten on US Letter,
from 77 patches on one sheet to 1,260 across three, eight of them hexagonal so
that more round patches fit the page. They sit in their own CR30 group in the
Presets dropdown and in the built-in presets bubble. Picking one builds the
chart straight away: the colours are fixed, and every layout setting can still
be changed. -
Neutral, a third appearance. A designed greyscale scheme rather than Light
with the colour turned down: one accent value, five-cell rules where the tab
hues used to be, and every icon redrawn to read without colour. Choose it in
Preferences beside Light and Dark, which are unchanged, checked view by view. -
The scanner and camera window asks what the profile is for. Three choices:
an everyday scanner or camera profile, a profile so the scanner can stand in
for a measuring instrument, and a printer profile measured with that scanner.
Picking one sets the profile type, the quality and the white point handling to
suit it, so the three settings that decide whether the profile is any good are
not something to remember. They also follow the size of your target: under 100
patches ChromIQ starts from shaper plus matrix at Medium quality with "Map
chart white to white", at 100 and above from the XYZ table at High with "Scale
white to a perfect white surface". Nothing is locked, settings you saved
yourself are never moved, and the window says which setting differs rather
than changing it back. -
Auto align, in the scanner and camera window. Press it and ChromIQ tries
to place the grid on the chart's patches for you, turning it the right way up
if the scan was made sideways. It is an addition, not a replacement: nothing
runs until you press it, one press puts your corners back exactly, and when it
is not confident it says so and moves nothing rather than guessing. It works
on all 25 bundled targets. On photographs it is much weaker, and dragging the
corners roughly around the chart first is what makes it work on a cluttered
desk. -
The scanner and camera window is two panels. The preview and its controls
moved to the right, so the twelve wheel-turns of scrolling it used to take to
reach the last control are now none, and it fits a 1280 screen in the twelve
languages it was measured in. The preview takes the space the window gives it
instead of staying pinned at its minimum, and the six buttons under it are
grouped by what each one acts on. -
Windows: one place to get an instrument driver. For ArgyllCMS's supported
devices and for the CR30's USB bridge. ChromIQ checks what is bound, offers
the right package, asks for consent before anything elevated happens, says
what it changes on your machine before you click, and says what it did
afterwards. -
"Show row numbers", on any chart. ChromIQ has always printed a number
beside each row on a SpectroScan chart, which together with the letters along
the top lets you find one patch among several hundred the way you find a
square on a map. There is now a checkbox for it in the layout panel, next to
"Show strip indicators", for every instrument. Every chart you have already
made looks exactly as it did: the setting starts out as "whatever this
instrument normally does". Switching it on reserves 7.5 mm down the left edge,
which the patch estimate and the built chart both take into account. -
Check & Refine is a proper import door. Browse for a measurement that is
not in one of your projects and ChromIQ asks where it belongs, in the same
window Build Profile uses; it used to make a project without asking. A third
answer, "Just check it where it is", copies nothing, makes no project and
writes the report next to the file, and the window says what that costs you. -
A profile keeps its accented name. A profile called Müller-Prüfdruck used
to arrive as M?ller-Pr?fdruck in Windows' colour management, because the ICC
field ArgyllCMS fills cannot hold an accent. ChromIQ writes the name into the
field that can, and reads it back in its own Profile Info window. -
The ColorMunki's dial is drawn. Both calibration windows show the wheel
turned to the mark that window is asking for, so the two cannot be confused. -
The scanner and camera help is written as steps, with the reasoning kept
aside. Both printable cards are built around the three scenarios: the steps
are what to click, and the longer explanations sit under them as notes you can
open if you want them. On paper every note is printed, because a sheet has
nothing to click.
🔁 Changed
-
The scanner's Profile type control no longer says something nothing
measured. Four hundred profile builds on two targets, scored only on patches
the fit never saw, settled where each type wins: shaper plus matrix below
about a hundred patches, a lookup table above it. The help says so and points
at where you can read your own patch count. The Lab table clips anything
lighter than the chart's own white, so the XYZ one is marked as the
recommended lookup table. -
The white point options say which profile types they suit rather than one
of them being called the default, because that default costs real accuracy on
the two matrix types. "Restrict white, black and primaries" now shows as
ticked when your white point choice includes it; the flag was always being
sent and the box did not say so. What is stored stays your own value. -
Every warning, information and question sign in the app is ChromIQ's own.
The platform's signs were still showing in 70 places across 13 files. All
three are drawn for Light, Dark and Neutral, and Neutral stays hueless. -
Explanation has left the Create Chart sections for the ⓘ it belongs to.
Four blocks of standing text now ride on the information icon of the control
they describe, with the first line also in the hover tooltip. 246 px of
vertical space returned in English, 262 in German, and the panel did not get
wider in any language. -
Patch size and Patch scale have moved into Basic, next to "Prioritise
patch size", where the help has always said they were. -
The chart legend fades out when you point at it, so you can see the
patches underneath. On a chart whose patches run to the paper's edge it has to
rest on the last row, and it now simply gets out of the way. -
An unmeasured calibration chart is treated as an experiment. Replace one
and it is not kept, the way a profile run's chart is not kept; a calibration
that has been measured is always archived to the project's "cal/old" folder.
The window says which of the two is about to happen. Before this it promised
to keep a chart and then deleted five files. -
The scanner window checks that what it read is the chart you meant. It
compares the reference against the chart, the read against the reference, and
looks for clipping, before it builds anything. -
A preset no longer names your project after itself. Loading a built-in
preset with the name box empty used to name the project after the preset, so a
folder, the name printed on the chart and the finished ICC could all end up
called something like "i1Pro-A4-162p-1page-Portrait-w7.5mm". ChromIQ asks you
for a name, in a window that takes the answer and builds the chart. -
The bundled CMYK profile is no longer Adobe's. ChromIQ was redistributing
USWebCoatedSWOP.icc, which Adobe's licence does not permit. It is replaced
by ArgyllCMS's public-domain equivalent. -
Your log reaches about three times further back. A debug line recorded
every help icon the app built, around three fifths of everything ChromIQ
wrote, and pushed the entries that diagnose real faults out of the file. -
Return no longer presses the button that discards a chart, and the Tools
menu is capped and scrolls instead of growing past the bottom of smaller
screens. -
The profile Algorithm list is two entries, and both of them work. It had
eight. Five of them could never build a printer profile: ArgyllCMS builds a
printer profile as a lookup table or not at all, and colprof refuses a gamma,
shaper or matrix model for one before it has read a single measurement. A
sixth, "XYZ cLUT + matrix", built a file identical to plain "XYZ cLUT",
because the matrix it promised is thrown away for a printer. What is left is
"Lab cLUT" and "XYZ cLUT". The gamma, shaper and matrix models are not gone
from ChromIQ: they suit a scanner or a camera, and the scanner and camera
window still offers them there, where they work. -
Three of those entries also named the wrong algorithm. colprof's own
names ares = shaper+matrix,G = single gamma+matrixand
S = single shaper+matrix; ChromIQ called them "Single gamma + matrix",
"Gamma + matrix (forced)" and "Single gamma + matrix (forced)". "Single" in
ArgyllCMS means one tone curve shared by all three colour channels, not
"forced", and the entry ChromIQ labelled as a gamma model was the shaper one,
which ArgyllCMS calls the better of the two. The scanner window's names were
right all along. -
If a project of yours was saved with one of the entries that has gone, it
still opens, and ChromIQ tells you what it did. "XYZ cLUT + matrix" becomes
"XYZ cLUT", and the profile that builds is unchanged, because for a printer
the two were the same file. Anything else becomes "Lab cLUT", with a line
saying the stored setting could not build a printer profile at all. Nothing
is changed behind your back and nothing is thrown away. -
The scanner and camera window no longer offers "Shaper + matrix" or
"Matrix only" while "Profile my printer from this scan" is ticked. That
tick makes it a printer profile, so the same ArgyllCMS rule applies. With the
tick off, all four types are there as before. -
Quality is no longer greyed out for the shaper and matrix profile types.
It was greyed out and then sent to ArgyllCMS anyway, so it was doing
something you were told it did not do and could not change. It does apply:
for a lookup table it sets the table's resolution, and for the shaper and
matrix types it sets how finely the tone curves are fitted. Measured, it
changes the profile for every type. -
The twelve translations were read end to end, and the English was corrected
where they found it wanting. Translating a string means reading it, which
is a review nobody else performs, and it turned up things no test could see.
The CR30 patch instruction said "Take the magnetic cap off the measuring end
first, with the cap on, the CR30 reads its own white tile". Read past the
second comma and "with the cap on" attaches to taking the cap off. Five more
sentences ran two clauses together on a comma. A help card told you to tick
"Also save scanner-profiling files" when the box says for this chart too,
and another quoted "Sides" and "Top/bottom" for boxes that read Sides
(vertical) and Top/bottom (horizontal). One window was titled "Check the
dark calibration" over a body about the dark reference, while the rest of the
app calls that act a black calibration. The connection-lost line said
[WARN]where the line under it says[ERROR], and the app was evenly split
between the two spellings. And "Unexpected Color
Response" is now "Unexpected Colour Response", which is how the app spells
colour everywhere else, including in the help card that quotes this window. -
A help card no longer names a control in English in a window that renames
it. The folder guide tells you what printcal's "Re-calibrate" and "Verify"
modes compare against, and ten of the twelve languages had left those two
words in English, so a German reader was told to look for a control that
reads Nachkalibrieren on screen. Four smaller cases went with it, and the
log tag is now English in every language rather than translated in some
strings and not others in the same log.
🔧 Fixed
ChromIQ can now measure a chart with a CR30, the first instrument it drives
itself instead of handing to ArgyllCMS. The scanner and camera window asks what
the profile is for and sets itself up for that job. There is a third appearance,
Neutral, for anyone who would rather the app did not use colour to say things.
And a long list of faults that had been shipping for months is gone: a
measurement lost when you quit, an under-exposed scan that built a bad profile
and then rated it best of the run, a Windows driver installer that had never
installed a driver, and a "Save As" in the patch editor that handed back a
different chart.
Eleven betas, folded into one list. Everything below is measured against 4.1.4.
-
Tools ▸ Build profile with scanner or camera sits still when you press a
radio. Switching "Create profile using:" between a ChromIQ chart and a
bought target resized the whole window, from whatever height you had dragged
it to back to the height it opens at: 700 px became 936 in English and 952 in
German. The same click also slid both of those radios 79 px down the column
(94 in Russian), because the explanation of why the printer scenario is not
offered for a bought target appeared above them. The explanation is still
there, in full; it now appears below the radios, where it cannot push them,
next to the option it tells you to choose instead. -
The usage-scenario help is one line each, with the rest behind the ⓘ.
Three paragraphs under three radios took 150 px off the top of the left
column. Every word of them is now behind the ⓘ beside "Usage scenario: what
is this profile for?", and the three lines that stayed still say which
scenario to pick and that the second one builds the profile the third one
needs. The left column is 105 px shorter, and the window is narrower in five
languages as well: German 709 px to 662, Italian 707 to 663, Dutch 681 to
661, French 706 to 668, Spanish 697 to 679. -
Opening the Advanced section no longer widens the window. It never did
before, but only by accident: the gloss paragraphs happened to be wide enough
to absorb what the Advanced editor needs. With the glosses down to one line,
five languages would have grown by up to 54 px on a disclosure. The pane is
now sized for the section it will have to show, and is still narrower than it
used to be in every language. -
Two frames under the chart preview no longer touch the edges of the pane.
The "Measured from Preview" frame sat flush against the panel separator and
"Chart layout information" flush against the right edge of the window. Both now
keep a 16 px gap, which is the inset the rest of that tab already uses. The
preview above them is unchanged. -
A measurement is no longer lost when you quit. Closing ChromIQ during a
measurement killed the reader, and the reader only writes its file on a clean
exit, so the reading was gone with no warning. Quitting now asks, the way
every other way out of a session already did. -
"Save and stop" saves. It was sending the reader a key it rejects, so the
session never ended and nothing was written. "Keep measuring" now keeps
measuring instead of stranding the session. -
A single corrupt byte in a measurement no longer destroys it. One zeroed
byte in a.ti3made ChromIQ read the whole file as a different encoding and
replace it with nonsense. -
The optional calibration window no longer closes ChromIQ, and its "Skip
this step" button now does something. Both faults appear only with an
instrument that offers optional calibration, such as a SwatchMate Cube, and
both took the measurement in progress with them. -
Importing a measurement can no longer end the app. Four separate causes: a
folder ChromIQ cannot write to, a disk that is full, a drive or share that has
gone away, and a project whose ownproject.jsonhas been damaged. Each now
says what went wrong and leaves everything as it was. -
A measurement can no longer be filed into the wrong project. Picking a
folder whose name contains something like a space (a Finder duplicate, an
unzipped hand-off, a Dropbox conflicted copy) used to make an empty project of
a slightly different name and then complain that it had no chart in it. A
project behind a symlink, on an external drive or on a NAS could take the
measurement into whatever project happened to be open instead. -
A measurement refused as not belonging to the chart no longer leaves a run
behind, under a window saying nothing had been changed. The same check now
covers the other road into a run: choosing an existing run that happens to
hold no chart used to accept anything at all, in silence. -
A print that never happened is no longer recorded as one. A sleeping
printer or a cancelled dialog left a record saying the sheet had been printed
through the profile, which then silently changed the yardstick every dE in the
report was measured against. That record also travels with the chart when a
run is duplicated; it used to be dropped, so the guard that asks whether the
sheet was converted when it was printed stopped firing on the copy. -
A measurement report that could not be saved said nothing at all, while a
report that saved announced itself, so the failure looked exactly like
success. It now says so, and says first that the measurement itself is safe. -
Saved measurement reports were re-graded by whatever the thresholds say
today. A report is a record of a judgement made on a day; it now keeps the
thresholds it was judged with and the verdict it was given. -
A refine-strips list is no longer overwritten in place. It was written
under one fixed name, so re-checking a run destroyed the list from the check
before it. They are numbered now, like the quality reports beside them, and a
file written by an older version is left exactly where it is. -
A new run opens on your defaults, not on the last run's settings. The
instrument, the paper, the layout mode, both indicator checkboxes, the stamp
option, the Guided settings and the gamut options were all inherited from
whichever run you had been looking at, and then stored on the new run as
though you had chosen them. -
An under-exposed scan built a profile with no warning, and the app rated it
best of the run. Measured at 21.7 dE out. The scan is now judged before it
is trusted, and one too dark to profile from says so instead of producing a
plausible, wrong profile. -
A sheet photographed ten degrees off square was accepted as correctly
placed. Keystone is measured against a limit now rather than assumed away:
328 correct placements separate cleanly from 106 wrong ones. -
The alignment diagnostic drew no outline, so a correct read looked
misaligned; zooming it interpolated away the very edges being judged; and a
refusal could not be diagnosed from the log. All three now say what happened. -
A scan that is not the target you chose, an unreadable reference, and a
scanin diagnostic image loaded as a scan each said nothing, or blamed the
wrong thing. Each now names what it found. The profile self-check also had no
floor and no guard against a meaningless number. -
The scanner white-point default clipped every original brighter than the
chart's own board. New scanner profiles start from a better default, and the
help no longer says "1.00 makes no change", which is the opposite of what it
does. Nothing in ChromIQ used to say that a scanner profile meant to stand in
for a measuring instrument must be built for that purpose; it does now. -
"Save As…" in the patch editor turned a chart ChromIQ had laid out into a
different chart. A change made in June switched the editor's ChromIQ layout
engine off without anyone noticing, so the saved chart came back with extra
fill patches, a different strip grid, and without the sidecar that records its
layout, which the measuring path reads. Measured on a 525-patch i1Pro chart:
525 patches became 528 and a 21 by 25 strip grid became 24 by 22. It now saves
back identical, patch for patch and strip for strip. "Apply / Save ▸
Overwrite" was never affected. If you kept a chart saved this way, save it
again from the editor to get the layout back. -
An i1Pro chart lost its automatic bidirectional reading whenever the project
was reopened. The instrument a chart names is written into the chart file by
the layout stage, and after a reopen ChromIQ looked for it in the wrong file
and found nothing, so the i1Pro family lost the setting that lets a strip be
swiped either way, the preview's bidirectional arrow was wrong, and the pace
row fell back to the i1Pro minimum sample count. -
"Prioritise chart area" now honours your left margin. The 7.5 mm band that
carries the row numbers was reserved outside it in every mode, so a 1 mm
margin put the first patch at 8.5 mm. It sits inside the margin now, in the
one mode whose whole contract is that the patch area is exactly the margin
box, and the panel warns when the margin is too tight for the numbers. The
margin readout also says what it measures, "Left (to first patch)", and
explains the two things that legitimately sit in that space. -
A hexagonal patch was reported smaller than it prints. The layout panel
gave the row pitch as the patch height, so an 11.3 mm hexagon was listed as
11.3 by 9.8 when it actually stands 13.1 mm from point to point. Hexagons
interlock, so the pitch is real and useful, but it is not the patch: the panel
now gives the patch size, and a separate "Row pitch (mm)" line for honeycombs.
Nothing about the charts themselves changed, only what was reported. -
On a hexagonal chart, two layout controls did nothing and did not say so.
With the strips pinned, neither "Patches per strip" nor "Minimum patch height
(% of width)" could change the chart, because a honeycomb interlocks: its
height follows from its width, and the strip count already decides the size.
Both are locked where they cannot work, with the reason on the row's
information button, and both stay live where they genuinely do something. -
The seed box read 0 while the chart on screen had been built with something
else. With "randomise patch order" on and no fixed seed asked for, the
engine drew its own seed and nothing carried it back to the box, and 0 is a
valid seed rather than a placeholder, so the box was reporting a wrong answer
as fact. The seed itself was never lost: it is written into the chart file,
the chart's sidecar and the build log, and all three always agreed. -
Row numbers fit the row they name. On a tall chart the automatic size was
taken from the patch width, so the numbers printed over each other into an
unreadable ladder. They also stay inside the "Text distance to edge" limit
instead of walking to the paper's edge on charts with more than ninety-nine
rows. -
A flagged patch keeps its whole red ring on a hexagonal chart, where the
neighbouring patch used to be painted over part of it; loading a new chart
no longer shows the previous chart's measurements; and the legend no
longer lands at the top of the sheet, over the column letters, on charts
whose strip geometry is not recorded. -
Windows: a project name that was accepted and then could not be written.
Names of about 111 to 120 characters passed the name box and then failed when
ChromIQ wrote the chart, because Windows limits the whole path rather than
each folder name. The limit is worked out from the longest file ChromIQ
actually creates, and a project you already have opens whatever it is called.
A name too long for the filesystem is now refused with an explanation instead
of failing halfway and leaving a half-made project behind. -
Two projects whose names differ only in capitals no longer overwrite each
other's chart. ChromIQ kept the name you typed while the folder kept its
own, so one run could hold two charts, each invisible to the other. -
A bracket in a project's folder name no longer hides its chart, and an
asterisk no longer lets one project claim another's files. -
A project with an umlaut can be opened after a trip through a backup drive
or a Windows machine. Older Mac disks, and Windows, store accented names
differently from a modern Mac, and ChromIQ used to find none of the project's
files afterwards while telling you the chart was missing. On Windows it could
be worse than invisible: a different chart was used in its place. -
Everything ChromIQ writes now names its encoding, so a file written on
Windows and read on a Mac, or the reverse, arrives as what was written. This
is GitHub issue #178. -
On Windows, every measurement lost its own bookkeeping. ChromIQ's
measuring engine reports what it is doing as it goes, and a Windows chart path
likeC:\Users\…was written into that channel without escaping, so the
message carrying the strip map and the patch count was thrown away silently,
on every measurement. macOS and Linux were unaffected, because their paths
have no backslashes. -
Windows: the "Install USB Driver…" button had never installed a driver.
Not for any of the 28 supported instruments, not on any architecture, not
once. It passed an option the tool it runs does not have, so that tool printed
its usage text and exited cleanly, and ChromIQ read that as success and
reported an installed driver every time, having installed nothing. It named no
destination either, so anything it did extract went wherever the elevated
process happened to start; and an instrument that still had a driver recorded
against it from a different USB port made ChromIQ believe the device was ready
and never offer to install anything at all. Found by testing that path against
real hardware for the first time. -
Windows: ArgyllCMS cannot use WinUSB, and ChromIQ told users to choose it in
seven places. An instrument bound to WinUSB is invisible to ArgyllCMS. The
driver helper installs libusb-win32 now, and the Zadig instructions no longer
point at the one driver that cannot work. If you followed the old advice, the
helper puts it right: rebinding was tested on an X-Rite i1Studio, from
** No ports found **back to a working instrument. ChromIQ also refuses
outright to install WinUSB on a USB-serial instrument, whatever asks it to. -
A project whose name ends in an underscore and digits silently lost its
exports, and the ICC filename and the description embedded inside it
disagreed when no description was given. -
A window can no longer open taller than your screen and take its buttons
with it. Long messages are widened rather than stretched, anything left over
goes behind "Show Details", and no message window, tool window or patch editor
can open past the edge of the usable screen. The patch editor opened 1280 by
820 whatever screen it was on, which put Apply / Save… and Close under the
bottom edge of a smaller laptop, and three controls in the scanner window
opened past the bottom of the screen for the same underlying reason: a window
was placed before it was sized, and nothing put it back. -
The app no longer crashes when a tool window is opened after a spot read
ends badly, and a scroll bar that was crashing the app outright in some
windows is fixed. -
"Build anyway" was drawn as "uild anywa" in three windows that built their
own buttons and never called the helper that has fitted them since #130, and
four instruction labels were painted in the one colour that cannot carry a
word: 1.25:1 in Light and 1.02:1 in Dark, against the 4.5:1 that AA asks
for. Now 13.6:1, 5.1:1 and 12.1:1. -
Fourteen German sentences named buttons that do not exist, including all
three buttons of the window that decides whether your measurement is kept, and
four languages could not say where a measurement was running: Italian,
Portuguese, Polish and Russian glued a preposition to a translated label and
produced ungrammatical text. Each language now supplies the whole sentence. -
A chart whose paper size is larger than printtarg can lay out no longer
answers with a wall of usage text. The two custom paper boxes also offered
sizes up to 9999 mm, and printtarg stops at 4000; both agree with the tool
now, and the values ChromIQ sends are checked against what printtarg accepts
before it is started at all. When a tool does refuse a chart, the patch editor
says what happened in ChromIQ's own words and quotes the one line of the
tool's answer that means something, instead of showing you the raw output. -
Layout settings restored from a chart folder are range-checked, not only
checked for the right names, so a hand-edited or damagedmeta.jsoncannot
pass a value the tool refuses. -
A profile build that ArgyllCMS refused for this reason produced no
message. It wrote no profile, opened no window and left one line in the
log. It now says what happened and what to change. This is the same silence
the beta 11 note described for a setting that never existed, and it was still
there for five settings that do. -
The "estimate" column described the chart you had before, not the one on
screen. Generating a chart, or picking a preset, left the estimate showing
the previous chart's patch count and strip count, so loading two presets one
after the other looked as though the two columns had swapped. Both columns now
follow the chart in front of you. The charts themselves never changed.
📘 Documentation
THIRD-PARTY-NOTICES.mdstates the terms for everything ChromIQ ships,
measured per file rather than assumed. The bundled scanner targets are marked
AGPLv3, matching ArgyllCMS, whose patch geometry they carry. No recognition
file changed, and ChromIQ itself remains GPLv3.docs/cr30_platform_support.mdis the CR30 page: what each platform
needs, what has been tried on hardware and what has not. On Windows the
instrument is reached through a serial driver, not WinUSB; macOS needs
nothing; on Linux the driver is in the kernel and your user needs permission
to open the serial port.
Every fixed entry above starts with what you would have noticed, so you can find the one that was bothering you without knowing what caused it.
Installation: Open the DMG, drag ChromIQ to Applications, eject, then launch.
ChromIQ is ad-hoc signed (not notarized). On macOS Sonoma+ the right-click → Open trick often fails with "Apple cannot check it for malicious software." If that happens, remove the quarantine flag in Terminal:
xattr -dr com.apple.quarantine /Applications/ChromIQ.app
Then double-click as normal.
Requires macOS 13+ (Ventura) and ArgyllCMS 3.5.0 at /Applications/Argyll/bin.
☕ ChromIQ is free and always will be — if it saves you time or ink, a coffee is a kind way to say thanks. Completely optional, and the app stays fully featured either way.