Repository navigation
Releases
Negs 0.15.0
Negs 0.15.0
The Mac app is redrawn: dark ink, Newsreader type, and the film and paper as
a label under the photograph. It now keeps a library, with ratings, picks, a
grid, edits saved per photograph and batch export, and shows every
photograph developed. Fuji X-Trans RAWs decode sharp on Windows, Linux and
the web, and the web app speaks Chinese.
Everywhere
- Fuji X-Trans RAWs decode sharp. They were demosaiced with a bilinear
average that left them as if blurred by 1 to 1.5 px. Negs now uses a
Markesteijn pass, which matches LibRaw's within about 1% at every spatial
frequency on the X-T1 and X-E2 samples. It costs time: a 16 MP X-T1 frame
decodes in 0.5 s instead of 0.14 s. This is every X-Trans file on Windows,
Linux and the web, and on the Mac whenever Apple RAW declines one (X-T1,
X-E2). Bayer and every other sensor decode as before. - Film and paper catalogue. The catalogue says which films are Fotufilm
ports and which of those are modelled from sample photographs rather than
datasheets. - Faster edits to the print. Changing the print, the scan or the post
controls reuses the film side kept on the GPU, about 3.5 times faster.
Exports are unchanged.
Mac
- A new look. The Mac app is redrawn in dark ink, with its names and
numbers set in Newsreader. The toolbar is gone: a slim title bar shows the
file's name, and no control in the app uses the system blue. - The film and paper as a label. Under the photograph, in large type,
the film and the paper it's printed on. Click either to open a tray of
stocks along the bottom of the window: click a stock to try it, step
through them with ← and →, and keep one with Return or Done. - A library. Each photograph keeps its rating, flag and edits in a
.negsfile beside it. Filter the folder, select photographs, copy and
paste edits (⌘C, ⌘V), duplicate, delete to the Trash with undo, and export
a batch with its ratings in the files. - The strip and the grid. The strip keeps each photograph's
proportions. The grid grows out of it (G, or a double-click on the
photograph) and folds back into it, in packed rows under a sentence that
says what it shows. Click selects, double-click opens, pinch resizes.
Picks are boxed in grease pencil, rejects crossed out and ratings starred
with quick asterisks, each by hand and a little differently on every
photograph; edited photographs have a dot. In the grid, the current
photograph and each one selected are boxed again in yellow. - Every thumbnail developed. The strip and the grid show each
photograph as Negs develops it: edited ones with their edits, unedited
ones with a default film and paper you choose in Settings. The nearest to
your view come first, and a photograph opens on its developed thumbnail.
A thousand photographs take about four minutes. The cache holds up to
1 GB and Settings can empty it. After an update, the last version's
thumbnails stand in until the new ones are ready. - Quicker opening. A photograph opens on a quick frame at its matched
exposure, then the settled one. - Low Power Mode. The grid develops only the thumbnails on screen, one
at a time, and the rest of the folder once Low Power Mode is off. - The inspector. Prep, Lab and Output as tabs, their settings as
modules that open and close, each with a dot when it's been edited. A
tab's count opens a list of its edits, each with a reset, and Reset all. - Enlarger › Shifts move. Link the magenta and yellow shifts so that
they move Together, in Opposite ways, or Separately. Linked sliders reset
together. - Crop with trim marks. ⌘K or the trim marks round the photograph:
drag the corners or edges, straighten with the dial under the photograph,
and turn it a quarter with the arrows at the dial's ends (⌘R, ⌥⌘R). The
aspect ratios, orientation and size are in the panel. - Image Only. F hides the strip, the status line and the panel, and
leaves the photograph with its caption and the film and paper under it.
F or Esc brings back what was showing. - Upside down. Hold T to see the photograph upside down and judge its
composition alone; let go to turn it back. Nothing about the photograph
changes. - The sheet behind the photograph. Settings › Viewer › Sheet offers
Darkroom (the default), Black, Charcoal, 22% grey, Middle grey, Light grey
and Paper, with the caption, label and marks inked to suit. A film border
or dark mat that would vanish into the sheet gets a soft light table
under it. - Fotufilm films. Settings › Photographs › Films can show All of the
Fotufilm films, only those From datasheets, or None. The film you are
using stays listed. - A sharper fit. The fitted photograph is resampled to the screen's
pixels with Lanczos in linear light. - Presets as tiles. Click a tile to apply it, drag to sort, drop files
on the pane to import them. - Settings in three tabs. Photographs (what a new photograph starts
with), Speed and Upkeep, each a short page in the inspector's style, so
the window fits a small screen. A slide film's paper is struck through. - Questions in the window. Alerts are drawn in the app's own style,
under the title bar, with the Return button marked ↩. The status line
says in words what the app is doing, and the export's progress is drawn
in ink. - VoiceOver. The marks, modules, crop controls and alerts are labelled,
and the grid reads in its own order. - Pasting the edits of an unedited photograph no longer marks edits.
- The film strip holds still entering and leaving full screen, and there is
no grey bar across the top in full screen. - Clicking the paper's name in the film tray shows the papers; before, a
click on a tile there could print the photograph on a film.
Windows
- The save dialog keeps the JPEG quality and size you type. Before, they
were read after the dialog closed and the typed quality never reached the
encoder.
Linux
- Settings opens at its full height, not one row.
- The open film and paper previews keep their height on the AppImage's
GTK 4.16, and a grip under them resizes them (double-click resets it).
Web
- Chinese. getnegs.com/try has a zh-CN
interface, picked from your browser's language or in Settings ›
Language. - Settings can hide the Fotufilm films, or those not from datasheets.
- 40 MP X-Trans RAWs open on phones, demosaiced more simply for the reduced
copy.
Thanks
The Chinese web interface comes from
Orieileen.
Negs 0.14.0
Negs 0.14.0
A new Prep tab gets your photograph ready before it goes on film, with
tone, colour and detail controls and a match to your camera's brightness.
29 new film stocks join the catalogue, from Velvia 50 and Kodachrome 25 to
HP5 Plus and Aerochrome. Print Curves get a graph you can drag, the film
grid gets search and favourites, and changing film or paper on a large
photograph shows a preview sooner.
Everywhere
- Prep. A new tab before Lab, for the photograph you start from:
Highlights, Shadows, Contrast, Lift and Gain; Color Boost and Saturation;
Midtone Detail; and an Exposure control of its own. White balance, lens
corrections and input colour move here from the Lab. Every control is
neutral by default, and a neutral Prep leaves the render exactly as
before. Prep is saved with the photograph and kept when you apply a
preset. - Match camera brightness. With this switch in Prep on, a RAW is
developed as bright as its camera's own preview; JPEG, PNG and TIFF files
are matched to their original pixels. The match follows the look: change
film, paper, preset, negative exposure or white balance and it's solved
again. Prep's Exposure slider adds to the match, so your offset survives
a change of film. Save and Export wait for a pending match. Settings ›
Match new photographs to camera brightness turns it on for new photos
(on by default in the desktop apps). - 29 new film stocks: 24 colour and 5 black-and-white, adapted from
Fotufilm by MUAStudio Inc. (CC BY-SA 4.0). Each
has its own grain and edge print. Some are modelled from
sample photographs rather than datasheets and are marked approximate.
The full list is below. - Grain for black-and-white films. Tri-X 400 had no grain settings of
its own and was about as fine-grained as T-MAX 100. It now gets its
datasheet's granularity, so existing Tri-X 400 edits come out
grainier. - Film search and favourites. A search field over the Film grid
matches every word you type against each film's name and group; Return
picks the first match, Escape clears it. Star a film or paper to put it
at the top of the grid. New users start with Gold 200, Portra 400,
Ektar 100 and Fujicolor C200 starred. - Quicker film and paper changes. On a large photograph, choosing a
film or paper (or Undo) first shows a preview at the size of the window,
then the full-size one. Going back to a film you just used is quicker
too. - New photographs start fresh. Opening a photograph now resets the
adjustments, keeping your film, paper, Image Size and output colour. To
carry the previous photograph's edits over, as before, choose Settings ›
New photographs › Keep the previous edits. Relaunching still restores
your last session with its edits. - Post is now Output and holds Image Size and Border. Its old tone and
saturation controls are replaced by Prep, which works on the photograph
before the film rather than on the finished print, so there's no exact
conversion: saved sessions with those Post edits open with them reset
to neutral. Lab exposure is now called Negative exposure. - The Lab shows each group's basic controls plus anything you've changed;
Show all controls shows the rest.
Mac, Windows and Linux
- Print Curves graph. A graph at the top of Print Curves shows the
paper's response with your photograph's film exposure behind it. Drag
the middle handle sideways for Print exposure, the side handles for Slow
and Fast gamma and the curve for Gamma; double-click a handle to reset
it. RGB, R, G and B show the neutral curve or one layer. - Scopes. An RGB histogram or RGB waveform above the controls. Drag
the handle below it to resize it. - Film format menu in Lab › Camera: 110, Half frame, 35 mm, 6×4.5 /
6×6, 6×7, 6×9 and 4×5, or Custom… for the long-edge slider. Existing
edits render as before. - A help tooltip on every control and group.
- Fit no longer enlarges a small photograph past 1:1.
- The window can't be made narrower than its two columns.
- Settings can set a custom viewer background colour.
- Limit preview to 12 MP and Use less memory for export move to
Settings. They're now app preferences, outside Undo and Reset.
Mac
- The export panel's Size field keeps what you type. Before, typing a
size like 1600 emptied the field on each keystroke and exported at
2048. - On macOS versions with Apple RAW 9, Negs tries it first, then Apple
RAW 8, then its own decoder.
Windows
- A redrawn look. Controls, typography and spacing are redrawn; dark
mode follows the system without white flashes; Windows 11 gets rounded
corners. The menus and the window's actions are in the title bar, the
photograph's tools in a pill on the canvas, and Adjustments | Presets at
the top of the column. Tab scrolls to the focused control. - No more flicker switching tabs or entering crop, and no flash of the
startup photograph while you edit.
Linux
- Prep, Match camera brightness, the scopes, the Print Curves graph, film
search, favourites and help tooltips, as on Mac and Windows. - The AppImage prefers X11/XWayland when it's available, which avoids a
GTK crash reported on some Wayland desktops. SetGDK_BACKENDto choose
yourself; Wayland-only desktops still use Wayland.
Web
- getnegs.com/try gets Prep | Lab | Output,
Match camera brightness, film and paper previews, film search and
favourites, a Settings sheet with an Advanced controls option, and
tooltips on every control. Touch screens work on at most 4.4 MP to stay
within a phone's memory.
New film stocks
Colour negative: Fujifilm Pro 160NS, Superia 200 (approximate) and
Superia Reala 100; Kodak Kodacolor 100 and Aerocolor IV 2460; CineStill
800T and 400D (approximate); Lomography Color 100 (approximate);
Harman Phoenix 200 (approximate); LomoChrome Metropolis and Turquoise
(approximate).
Slide: Kodachrome 25 and 200; Fujifilm Velvia 50 and Astia 100F;
Agfachrome 50, 100 and 200.
Motion picture: Fujifilm Eterna 500, Eterna Vivid 500, F-64D and
Reala 500D.
Infrared: Kodak Aerochrome III 1443 (approximate) and Fotufilm
Infrared Color (creative).
Black-and-white: Ilford HP5 Plus, FP4 Plus and Delta 3200; Kodak
T-MAX 100; Fujifilm Acros 100 II.
Thanks
The Prep tab, camera brightness matching, the RGB waveform and the Apple
RAW 9 → 8 fallback come from yosoyelchris's
fork of Negs. The new film profiles are adapted from Fotufilm by MUAStudio
Inc.; licence and changes are in data/FOTUFILM_LICENSE.txt and
data/CHANGELOG.txt.
Negs 0.13.0
Negs 0.13.0
See every film, paper and preset on your own photograph before you choose
it. Lens corrections arrive on Windows and Linux, and Negs now also runs in
the browser.
Everywhere
- Film, paper and preset previews. Film and Paper are now foldouts
that open into a grid of thumbnails: your photograph developed with each
stock, grouped like the old menus. Click a tile to choose that stock.
Each preset in the Presets list shows your photograph with that preset
too. Thumbnails are made only while the main preview has nothing else to
do. On a slower computer, turn off Film, paper and preset previews in
Settings to go back to the simple menus. - Keep paper when changing film. A new setting, off by default, keeps
the paper and its print development as they are when you choose another
film. Otherwise Negs still switches to the paper made for that film. - Reset a slider by double-clicking it. Before, you had to
double-click the slider's title. On Mac and Windows, Option/Alt-click
also resets a slider. - Preflash on the GPU. Prints with a preflash now come out the same on
the GPU as in the reference render when the print exposure isn't 1 or the
scanner's white correction is on. Before, such prints differed from the
reference by up to about 14 ΔE00 at a print exposure of 0.7. - More accurate wide blurs on the CPU fallback (32-bit), most visibly with
wide DIR couplers. - Moving the enlarger's M/Y shifts or the preflash no longer rebuilds the
engine's calibration for each preview.
Mac
- Lens corrections now also work on RAW files that Apple's decoder opens
but can't correct, such as the Fujifilm X100V's. - Fixed white balance on Olympus ORF files: every mode except As Shot did
nothing. - The photograph from your last session is now in the window as soon as it
appears, about 0.3 seconds after launch instead of 0.65.
Windows
- Lens corrections. Supported RAW photographs get a Lens
corrections checkbox after RAW White Balance. It corrects distortion
and vignetting using the data the camera stored in the file (DNG, Sony,
Fujifilm, OM System/Olympus and Panasonic). It is on for newly opened
photographs and after Reset. Sessions from older versions keep their
framing until you turn it on. - Show Original now follows changes to lens corrections, white balance and
input colour.
Linux
- Lens corrections. A Lens corrections switch in the RAW group,
for the same cameras and with the same behaviour as on Windows.
Web
- Negs runs in the browser at getnegs.com/try.
Negs 0.12.0
Negs 0.12.0
Mac
- Lens corrections. Supported RAW photographs get a Lens corrections
toggle in the Camera section, using Apple's RAW decoder to correct lens
distortion and vignetting. Corrections start enabled for new photographs
and after Reset Adjustments. Existing sessions keep their previous framing
until you enable the toggle. Holding the original follows the same setting.
Linux
- The native per-user download now bundles OpenBLAS, fixing engine startup
when OpenBLAS is not installed on the system. Update by running the
installation command again. The Arch package continues to use system
OpenBLAS.
Negs 0.11.0
Negs 0.11.0
Negs for Linux now runs on any x86_64 distribution, as a Flatpak or an
AppImage, and gets the presets panel.
Linux
- Flatpak and AppImage downloads. The Flatpak
(negs-0.11.0-linux-x86_64.flatpak) runs sandboxed on the GNOME runtime
and sees only the photos and folders you open. The AppImage
(Negs-0.11.0-x86_64.AppImage) is a single file for Ubuntu 24.04 or newer,
current Fedora, Arch and similar distributions, with nothing to install.
Both still use your GPU through Vulkan. See the README for install steps. - Open Folder… opens a folder and shows all of its photographs in the
film strip. - Presets. A Presets page in the sidebar (F8) saves, applies, renames,
reorders, imports and exports film and Lab presets, as on Mac and Windows. - The Linux app's ID is now
io.github.noahhaasis.negs. Installing the Arch
package or per-user bundle over an older version removes the old launcher
entry; settings and presets stay where they were. The Omarchy opacity rule
matches both IDs.
Everywhere
- Reference (f64) exports are about 30% faster on the CPU: grain is now
generated on all channels and layers at once, with byte-identical results. - Mac: clicking outside a text field ends editing.
Negs 0.10.0
Negs 0.10.0
Presets on Mac and Windows, and colour-managed input and previews on every
platform.
Presets (Mac and Windows)
- Save your film, paper and Lab settings as a preset, apply it in one undo
step, and rename, delete or reorder presets by dragging. Crop, borders,
Image Size and Post adjustments stay as they were. - Import and export Python spektrafilm GUI-state JSON presets, including
community presets. The Presets panel supports file drag and drop.
Linux has the shared preset engine; its presets panel is still to come. - Saved DIR coupler and halation settings now take effect instead of being
overwritten by the film stock's defaults. Changing film resets them to
the new stock's values; older editing sessions migrate automatically.
Colour management
- JPEG, PNG and TIFF files are read in their own colours. Negs now
honours embedded ICC profiles (matrix and LUT profiles, evaluated exactly),
PNG colour chunks and EXIF colour space. iPhone Display P3 photos, Adobe RGB
camera JPEGs and ProPhoto TIFFs no longer come out flat or oversaturated.
Untagged 8/16-bit files are read as sRGB, untagged float TIFFs as linear
sRGB. CMYK and HDR (PQ/HLG) files are refused with a message rather than
shown wrongly. - Existing edits of JPEG/PNG/TIFF photographs will look different. Earlier
versions read their values as linear ProPhoto RGB, which lifted shadows and
distorted saturation. Your saved edits are kept and not rewritten; they are
simply applied to correctly read colours now. To get the old reading back,
set Input Colour → Read as → Manual (ProPhoto RGB, curve off). RAW files are
unaffected by this. - Input Colour (Lab tab, non-RAW files): Automatic shows what was
detected; Assume reads the file as sRGB, Display P3, Adobe RGB, ProPhoto RGB
or Rec. 2020 (optionally linear); Manual is the old behaviour. The CLI has
--input-colour auto|manual|SPACEand--input-linear; params files that
setio.input_color_spacekeep their old meaning. - RAW colours outside sRGB are kept. The RAW decoders no longer clip
negative channels, and rawler's highlight step no longer clips, so saturated
RAW colours reach the film model. Expect small changes in very saturated
areas of RAW photographs. - The preview shows the export's colour space. Scan & Color → Output →
Colour space (and every Save/Export) sets the space the preview develops
in. On a wide-gamut display you now see Display P3 / Adobe RGB colours while
editing, and Fast export reuses the preview in any space, not just sRGB.
Save Preview to another space says that it converts. - Wide-gamut exports are finished in their own space. Borders and the 35mm
strip keep their colours in Display P3, Adobe RGB and ProPhoto files, and
Post adjustments and resizing use the file's own tone curve. - ProPhoto RGB (and DCI-P3) exports now match the sRGB export within gamut
(they differed by up to about 1.4 ΔE). sRGB, Display P3 and Adobe RGB exports
are unchanged.settings.output_adaptation: "direct"restores the old
behaviour. - Input colours with a negative X, Y or Z (from very wide camera gamuts,
camera matrices or noise) are moved onto the nearest chromaticity the film
lookup accepts instead of folding into wrong hues. All other colours are
unchanged.settings.spectral_boundary: "upstream"restores the old
arithmetic.
Fixes
- Print white and black correction now include preflash in their reference
exposures, matching the preflash used to develop the photograph. - Mac: the New Preset button is easier to see when it is available.
Negs 0.9.1
Negs 0.9.1
A bugfix release.
- Mac, Windows and Linux: the inspector no longer jumps while you drag a
slider. With Limit preview to 12 MP off, or a photograph larger than
the display, the quick preview shown during a drag made the Image Size
notice appear or change, pushing the sliders below it down until the
drag finished. The notice now always describes the finished preview.
Negs 0.9.0
Negs 0.9.0
- Linux: the inspector now has every control the Mac and Windows apps have.
Film Base and Print Base, Balance Print (re-solves the print filters so
midgray stays neutral), and the per-film grain controls: granularity,
uniformity and grain size per layer. They start at the chosen film's own
values, reset to them, and follow it when you switch films. B&W films show
a single emulsion. - Linux: new edits start on Kodak Gold 200 and Portra Endura, as on the Mac
and Windows. - Linux now passes the same checks against Python spektrafilm experimental
as the Mac and Windows: every film, paper and Lab slider renders within one
8-bit step of Python, and grain matches it in strength and size. - Windows: the installer and portable download are no longer labelled
"experimental".
Coming from 0.7.0? 0.8.0 moved Negs onto Python spektrafilm's experimental
branch, so renders and exports look different from 0.7.0. It added Film
Curves, Film Base, Print Base, Balance Print and the new grain controls;
Image Size, which develops at a chosen pixel count; 8- and 16-bit saves in
sRGB, Display P3, Adobe RGB or ProPhoto RGB with an embedded ICC profile;
3D LUT export; and the Windows and Linux apps.
Negs 0.8.0
Negs 0.8.0
- Negs now follows Python spektrafilm's experimental branch. Film and print
profiles, density curves, white balance, DIR couplers (with Langmuir
saturation), multilayer grain, halation presets, gamut compression defaults,
camera colour filters and auto exposure all come from experimental, and
colour-space conversions are checked against colour 0.4.7. The scan is no
longer clipped before the final output, so renders and exports differ from
0.7.0. - New inspector controls: Film Curves (overall, fast/slow and per-channel
gamma, developer exhaustion), Film Base, Print Base and Balance Print, which
re-solves the print filters so midgray stays neutral, and experimental's
grain controls. - Image Size resizes the photo to a chosen pixel count before the film
simulation, up to 128 MP, so grain and halation scale with the output.
RAW highlights stay intact while resizing. - Saves choose bit depth (8 or 16 bit PNG and TIFF), colour space (sRGB,
Display P3, Adobe RGB, ProPhoto RGB) and JPEG quality. Every file embeds
its ICC profile. - Export a 3D LUT of the current look.
- The film strip refreshes when the folder changes.
- Negs remembers the rendered startup frame, and Settings has "Remove All App
Data and Quit…". - Blurs now reflect at the image borders, as in Python.
- Negs is also available as an experimental app for Windows and for Linux
(Arch and Omarchy).
Negs 0.7.0
Negs 0.7.0
- A collapsible film strip in the image viewer shows the other photos in the
folder, so you can move between them without going back to the file picker. - Borders take a width and a colour. Solid and Keyline share the mat width and
colour, Keyline adds its own line width and colour, and Film's width adds
black around the frame. With the defaults, bordered exports are unchanged. - Exports can fit a long or short edge.