55 Commits
Author SHA1 Message Date
Marco Arnulfo b6d94b447b Drop a removed folder from the filter Enable Filters put aside 2026-10-23 19:35:06 +02:00
Marco Arnulfo 6c55a76e95 LR-LIB-FILTER: Cmd+L / Ctrl+L (View > Enable Filters) switches the library filter off and on again as it was 2026-10-23 17:38:34 +02:00
Marco Arnulfo 3ac21d18a5 LR-EXP-BITDEPTH: savePreset from the previous export drops a stored depth its format lacks 2026-10-21 12:40:04 +02:00
Marco Arnulfo bcef909d40 tests_import: without a library the imported profile keeps no file path at all 2026-10-21 10:28:39 +02:00
Marco Arnulfo 4a82c0774e tests_import: keep the folder rename comment with its own test 2026-10-21 10:17:57 +02:00
Marco Arnulfo 0c932b6958 LRC-DEV-VIEWOPTIONS: View Options (Cmd+J) chooses the lines of the loupe's Info 1 and Info 2 2026-10-18 19:41:59 +02:00
Marco Arnulfo 7b6eff73b3 KEYC-RATING: backslash keeps Show Original in the full-screen preview 2026-10-18 19:05:05 +02:00
Marco Arnulfo d5de74f6cd KEYC-RATING: backslash shows and hides the Filter Bar in the grids 2026-10-18 19:05:05 +02:00
Marco Arnulfo eabcae0fdc LR-EXP-BITDEPTH: judge a preset's bitDepth against the format the export writes
A preset without `format` lost its `bitDepth` before the call's `path` was merged in,
because it was judged against JPEG: `app.export {preset, path: a.png}` with a 16-bit
preset wrote an 8-bit PNG. Session::export_params now merges first and drops a preset's
depth only if the format written (with the caller's fallback) lacks it; a depth the call
passes is still validated. export.savePreset judges the depth at once only when the preset
has a `format`.
2026-10-18 13:45:08 +02:00
Marco Arnulfo be34283943 crop.set checks the minimum on the crop it stores, so an oversized rect can't come out a sliver (part of #1952) 2026-10-18 13:28:27 +02:00
Marco Arnulfo 302faf547b LR-EXP-BITDEPTH: check bitDepth against the format a path without a known extension gets
app.export with a path like `output` or `output.xyz` and no `format` skipped the depth
check: the desktop app then wrote JPEG and the headless backend PNG, both at 8 bits.
ExportOptions::export_format resolves the format written (with the caller's fallback for
such a path), from_params_or validates against it, and both callers use it instead of
their own override.
2026-10-18 13:27:07 +02:00
Marco Arnulfo b9159b0fce TIFF: keep the default 128 MiB intermediate buffer for small pixel budgets 2026-10-18 13:18:49 +02:00
Marco Arnulfo b67bb01952 TIFF: read strips and tiles larger than 128 MiB (fixes #1983) 2026-10-16 07:04:45 +02:00
Marco Arnulfo 38973dba3a Imported LUTs no longer leave a copy in the temp folder without a library on disk (part of #1952) 2026-10-16 06:45:40 +02:00
Marco Arnulfo 1162c2a018 crop.set refuses a crop smaller than the crop tool allows, instead of exporting 1×1 (part of #1952) 2026-10-16 04:09:25 +02:00
Marco Arnulfo e14db89462 LR-EXP-BITDEPTH: app.export refuses a bitDepth the format doesn't have (part of #1952) 2026-10-16 02:21:07 +02:00
Marco Arnulfo c8f741fd0b Contributors: add my name for the About window 2026-10-16 02:20:02 +02:00
Marco Arnulfo c5deea05e4 Merged develop settings are kept in range, as XMP import keeps them (fixes #1946) 2026-10-16 00:23:44 +02:00
Marco Arnulfo 79d726f856 LRC-PRINT-PAGE: Page Options print page numbers, page info and crop marks (gap 15)
The Print dialog's Page section gets Lightroom's Page Options for Single Image
and Contact Sheet: the page number at the bottom right, the print settings line
(sharpening, profile, resolution) at the bottom left, and crop marks at the
corners of each photo. They are `print.set {page: {pageNumbers, pageInfo,
cropMarks}}`, saved with templates, drawn in the preview and composed into the
PDF; marks and text turn white on a dark page.
2026-10-15 15:38:03 +02:00
Marco Arnulfo 728471fcf5 Before/After: a click on the Before view zooms in on the point clicked (fixes #1742) 2026-10-15 03:47:31 +02:00
Marco Arnulfo 2df471b142 Top bar: in full screen the left buttons move into the traffic lights' space (fixes #1763) 2026-10-14 20:19:21 +02:00
Marco Arnulfo 6f9aae0445 LR-PROF-DROPDOWN: a long profile name no longer widens the Edit panel (fixes #1759) 2026-10-14 20:02:11 +02:00
Marco Arnulfo 8a218bddc1 Edit panel: the Reset tooltip shows the platform's shortcut, Ctrl+Shift+R on Windows and Linux (fixes #1751) 2026-10-14 18:22:51 +02:00
Marco Arnulfo 17e05759b4 DNG export and Convert / Copy as DNG write the colour a raw without matrices opens with (fixes #1745) 2026-10-14 18:08:53 +02:00
Marco Arnulfo 3d80ed531c Before/After: a click on the Before view zooms in on the point clicked (fixes #1742) 2026-10-14 17:52:13 +02:00
Marco Arnulfo f360ad949d render --settings applies the preset in a .lcpreset, and refuses files it can't read (fixes #1730) 2026-10-14 16:25:30 +02:00
Marco Arnulfo 0cf062f508 LR-PROF-BROWSER: long profile names are cut short in a narrow panel (fixes #1634) 2026-10-14 12:58:40 +02:00
Marco Arnulfo 0f398f6dba Edit panel: the histogram clipping buttons stay clear of the hovered scroll bar (fixes #1640) 2026-10-14 12:33:09 +02:00
Marco Arnulfo 8628c160df Loupe: the info overlay's shadow is dark, not a second white copy of the text (fixes #1690) 2026-10-14 10:33:43 +02:00
Marco Arnulfo 61b4007c2e LRC-LIB-PEOPLE: a double click on an unnamed face opens its photo in the loupe (part of #1664) 2026-10-14 03:37:37 +02:00
Marco Arnulfo aaf7f2cc47 Loupe: the filter pill sits as far from the left edge as from the top (fixes #1645) 2026-10-14 02:39:16 +02:00
Marco Arnulfo 528a464740 Search: clearing the filters empties the search field too (fixes #1648) 2026-10-14 01:04:42 +02:00
Marco Arnulfo 0d8e3e3913 LR-IMP-ADD-DIALOG: an import ends showing its first photo, in All Photos when the view doesn't hold it, unless another photo was chosen meanwhile (fixes #1446) 2026-10-13 09:04:10 +02:00
Marco Arnulfo c10ca4e958 LR-IMP-PREVIEW-READ: a raw whose embedded preview can't be read still gets a thumbnail (fixes #1448)
The grid queues no render behind an unedited raw's quick thumbnail, since the embedded JPEG is
meant to be the thumbnail. But whether that JPEG can be read is only known when the quick job
runs, and `quick_thumb_job` had no fallback: when the preview loader returned nothing the job
failed with "no quick preview", the failure was remembered for that key, and the cell stayed
empty until an edit changed it. The quick job now carries the real thumbnail job as its last
resort, as `quick_view_job` already does for the loupe.
2026-10-13 09:01:48 +02:00
Marco Arnulfo 8155c118cd LR-PREF-DISPLAY: test that the 1:1 window is drawn with the screen's profile (#1365) 2026-10-13 07:46:27 +02:00
Marco Arnulfo 77d8558fc4 LR-CROP-STRAIGHTEN: a crop shrunk to fit by Straighten grows back as the angle returns (fixes #1388) 2026-10-13 02:55:39 +02:00
Marco Arnulfo 0fa8070647 AI Denoise: Install from file says why a model file is refused (fixes #1381) 2026-10-13 02:33:10 +02:00
Marco Arnulfo e1b29a3fd4 LR-IMP-CAMERA-COVERAGE: Nikon D7100 NEFs develop at Lightroom's frame, so its crops line up (fixes #1248) 2026-10-13 02:16:52 +02:00
Marco Arnulfo 713d81d64b KEY-SLIDER-TYPE: a typed slider value keeps editing after the click is released (fixes #1362)
egui gives the opening release's click to the readout, so the field under it surrenders the focus. Only the field's first two frames took it back: a click held any longer ended the edit, and the value could only be typed while holding the button.
2026-10-13 00:51:05 +02:00
Marco Arnulfo cd3a942376 LR-EDIT-LIGHT-CURVE-POINT: ⌥-drag moves a curve point a tenth as far, for fine adjustment (fixes #1363) 2026-10-13 00:47:34 +02:00
Marco Arnulfo f0d1ea9c4e Before/After wipe: the line stays in the middle of the view when zoomed in (fixes #1351)
A wipe drew its line through the middle of the photo. Zoomed in, that
point is usually off screen, so the whole view fell on one side of it
and showed only the Before (the original) or only the After. The line
now goes through the middle of the part of the photo on screen: the same
place at Fit, and in view at any zoom.
2026-10-13 00:14:43 +02:00
Marco Arnulfo c07035c444 CR2: as-shot white balance of the PowerShot G9 from its WBInfo preset rows (part of #1273) 2026-10-13 00:04:47 +02:00
Marco Arnulfo 3480c99b3e macOS: closing the window ends the process in on_exit, as menu Quit does (fixes #1331)
The close button let eframe drop the window while AppKit's run loop was
still running; AccessKit restored the content view's class and AppKit's
Touch Bar KVO observer threw on the next display cycle. on_exit now ends
the process on macOS once settings and library are saved and background
work has stopped, as #444 does for Quit from the menu bar. Same fix as
storytold/gridcraft#117.
2026-10-12 23:58:13 +02:00
Marco Arnulfo 5eee65edac ORF: black level from the main maker note for bodies without ImageProcessing; gate and bound the 0x1017/0x1018 gains (part of #1273) 2026-10-12 22:48:34 +02:00
Marco Arnulfo 07d7d5d498 M-export: a resized export keeps the edge it was asked for (fixes #1312)
Resize::apply rounds the size, then the render fit the frame into that box
again: on a frame a hair under 3:2 the refit gave 1333 x 1.4999999 = 1999.49
and lost a pixel of the long edge. Frame::fit now keeps a box that already has
the frame's aspect up to rounding, and output_size rounds the native size to
whole pixels first so float noise can't decide a half-pixel tie.
2026-10-12 21:05:42 +02:00
Marco Arnulfo 8c539426eb Docs: CR2 white level from the active area (#1272), 60D, 450D and 550D affected too 2026-10-12 21:02:48 +02:00
Marco Arnulfo d41de88c05 LR-IMP-FORMATS: active_rows steps an odd number of rows, so a plateau on red or blue sites alone is found (#1272) 2026-10-12 21:02:48 +02:00
Marco Arnulfo dd502bac9a LR-IMP-CAMERA-COVERAGE: Pentax PEF masked borders in raw-parity, the checklist and what's new (#1271) 2026-10-12 20:37:31 +02:00
Marco Arnulfo 13e803ab07 LR-IMP-CAMERA-COVERAGE: PEF trims masked lines a little above black, saturated lines outside masked ones, and keeps a lens-cap frame whole (#1271)
Masked lines are measured against the outermost line's level when it sits
just above BlackPoint (K-70, K-1), saturated outer lines count when dark
ones follow (645Z), and a frame whose interior is within the tolerance
keeps its whole area. Line means read samples with get(). Render cache
version 62: PEF frames change size.
2026-10-12 20:37:31 +02:00
Marco Arnulfo acbd08eb73 LR-LIB-DELETE: a file in Recently Deleted can be checked by hand in the import review (fixes #1285)
With "Leave them", the review refused every click on a file whose photo is in
Recently Deleted, and its "In Recently Deleted" badge was drawn over the
checkbox. Leave them now only keeps such files out of the default selection
(Check All and the file-type toggles skip them); a click checks one and it is
restored, as the import does by default. The badge goes under the checkbox
when it doesn't fit beside it.
2026-10-12 18:14:05 +02:00
Marco Arnulfo 73a10f5b6d ORF: as-shot white balance from maker-note 0x1017/0x1018 on the Olympus E-10 (part of #1273) 2026-10-12 17:41:40 +02:00
Marco Arnulfo a9812d0cb4 PEF: the dark-border tolerance is relative to the black level, not the interior, so dark real content stays (#1271) 2026-10-12 17:34:31 +02:00
Marco Arnulfo 6c033ea5dc PEF: masked rows and columns at the black level are trimmed without crop tags (fixes #1271) 2026-10-12 17:21:13 +02:00
Marco Arnulfo af269b1104 LR-IMP-FORMATS: CR2 white level from the active area, not the saturated masked rows above it (fixes #1272) 2026-10-12 17:16:04 +02:00
Marco Arnulfo a4716d9e4f LR-IMP-FORMATS: transparent areas develop on white instead of black (#1212)
The decoders keep the alpha plane, but to_working converted only the
colour, so transparent pixels kept the black most encoders store under
them: renders, previews, exports and contact sheets showed it. The
working image is now flattened onto white, in linear light like the
rest of the pipeline.
2026-10-12 13:15:19 +02:00