Repository navigation
MintPRINT 1.2.6
1.2.6 Fixed monochrome jobs printing in colour, driver revision 41.3.
- COLOR= (the Printer Engine colour mode) was only ever forwarded
to the printer as the IPP print-color-mode job attribute - a
request the printer's firmware can honour or ignore. The actual
raster/JPEG pixel data sent alongside it stayed full colour
regardless, across all five engines (JPEG, PostScript, PWG
Raster, PDF, URF), since none of them had any grayscale handling
at all. On hardware that doesn't strictly honour the hint, a
"monochrome" job printed in colour - confirmed on real hardware.
- driver/driver_core.c's mp_job_write_row() now desaturates the
row itself (integer ITU-R BT.601 luma, no floating point)
whenever COLOR= is monochrome, auto-monochrome, bi-level,
process-bi-level or process-monochrome - the PWG5100.3/RFC 8011
keywords that mean "black ink only" - before it reaches any
encoder, so the output is black and white regardless of whether
the printer itself respects the IPP hint.
1.2.5 Maintenance release: safer defaults, no more indefinite driver
hangs, correct AmigaOS 3.9 detection, driver revision 41.2.
- driver/ipp_client.c's connect()/recv()/send() were plain blocking
calls with no timeout - a printer that accepted a connection or a
job and then went silent (e.g. a Samsung C480W hanging on a valid
image/urf job, GitHub issue #66) could hold the driver, and the
application printing through it, forever. All three are now
timeout-bounded (8s connect, 20s read/write), with a distinct
result code and debug log line for a timeout specifically
- Fresh installs no longer default to a hardcoded LAN address
(192.168.0.51:80) in either MintPrint Settings or the driver's
own config - both now default to empty and do nothing until a
real address is set, instead of a startup Query or even a print
job silently probing some other device on the network
- Driver/GUI generation detection now reads workbench.library's
version instead of exec.library's - AmigaOS 3.9 and similar
software-only OS updates can leave exec.library at whatever the
Kickstart ROM shipped with, which was misdetecting real 3.9
systems as needing the classic pre-V44 driver build
- Installing/updating DEVS:Printers/MintPRINT is now atomic: copies
to a temp file, verifies the full size landed, then swaps it in -
an allocation failure, short write, or full disk partway through
used to be able to destroy a previously-working driver with no
way back
- Fixed the Help menu ("MintPrint Settings Help...") silently doing
nothing - it built its Multiview command line with the literal
PROGDIR:MintPrintSettings.guide, but PROGDIR: is scoped to the
process that has it, not inherited by the new process spawned to
run Multiview
- Query now shows a live printer status (Ready, Busy, Stopped, or a
specific problem - Jam, Door Open, Toner Empty, Out of Paper,
Supply Low) next to the ink/toner levels, from printer-state and
printer-state-reasons
- Fixed sluggish loading of the duplex-hint art on real hardware:
its IFF decoder's debug output was hitting real stdio instead of
MintPrint Settings' Workbench-safe status box, likely forcing a
hidden console open. Its per-pixel colour-to-screen-pen matching
is now cached instead of recomputed on every redraw
- Reduced the GUI's stack requirement from 384 KiB to 128 KiB (the
256 KiB IPP response buffers behind that figure are heap
allocations now, not stack)
- Relabeled "Printer IP/Host" to "Printer IPv4" - only numeric
addresses were ever actually supported
- Fixed entering an invalid address and pressing Query closing the
entire Settings window instead of just reporting the error
- Fixed garbled AmigaGuide help text (words run together with
stray gaps) - the help file's @wordwrap/@smartwrap directives
were reflowing hand-formatted, already-wrapped paragraphs and
splicing their hanging-indent whitespace into the middle of
lines
What's Changed
- MintPRINT 1.2.5: no more indefinite driver hangs, correct AmigaOS 3.9 detection, and several fixes by @boingball in #65
- Fix monochrome print mode producing colour output by @boingball in #67
Full Changelog: 1.2.4...1.2.6