SilverNode

SilverNode documentation

Everything about SilverNode on one page: use your browser’s search (Ctrl⌘+F) to find what you need. Numbers on a screenshot are explained in the list next to it. New here? Start with the 󱓞 Quick start.

§1 󱓞 Quick start

SilverNode edits RAW photos straight from your folders. This page is the shortest way from a folder of photos to an edited one: five steps. The rest of the documentation tells the whole story of each.

§1.1 󰝰 1. Open a folder

SilverNode works on folders of RAW photos (󰄀 Camera support). When you start it, the folders of your computer are in the file browser at the left of the 󰕰 Grid. There is nothing to import: see 󰋹 Your photos stay in their folders.

Figure 1. The window of SilverNode, with the file browser at the left.
  1. 1 The file browser: your folders. Open the one with your photos.

Point at a folder, and the Open button shows on its row: click it.

Figure 2. A few folders, with the pointer on one.
  1. 1 The folder the pointer is on.
  2. 2 The Open button of that folder. Click it, and the photos of the folder fill the 󰕰 Grid.

§1.1.1 Or drag photos in

You can also drag photos from your computer’s file manager (Explorer, Finder, Files, File Pilot, …) onto the window of SilverNode:

  • Several photos: SilverNode opens their folder in the 󰕰 Grid, with the photos you dragged selected. Drag photos of one folder at a time: only those in the folder of the first are selected.
  • One photo: SilverNode opens its folder and that photo, straight in 󱬠 Develop.
  • A folder: SilverNode opens it, as with Open.

§1.2 󰕰 2. Pick a photo in the Grid

The 󰕰 Grid shows the photos of the folder as tiles.

Figure 3. The 󰕰 Grid, with a folder open.
  1. 1 Your folders. Open another one here at any time.
  2. 2 The photos of the open folder. Click one to select it, Shift+click to select a range. Double-click a photo to open it for editing, or select it and press Enter / Tab.
  3. 3 󰕰 Grid is where you are, 󱬠 Develop is where you edit one photo, 󰒓 Settings is for the settings.
  4. 4 󰌵 Tips: short tips about what you are doing. They show up here when there is one: see 󰌵 Tips.

Rate the selected photos with 1 to 5, and mark a bad one as rejected with Toggle rejected X: see 󰓎 Rating and rejecting. More about the Grid: 󰕰 Grid at a glance.

§1.3 󱬠 3. Edit it in Develop

Figure 4. The 󱬠 Develop workspace, with a photo open.
  1. 1 The photo, with your edit. Hold Esc to see it as it was before (󰇉 Seeing the photo before), hold Z to look at it at full size (󰍉 Zooming in).
  2. 2 The adjustments: the sliders that change the photo. Scroll down for more, and see 󰘮 The adjustments for what each one does. A double-click on a slider puts it back.
  3. 3 The key of a slider. Press it, move the mouse, and click: the fastest way to adjust. See 󰂫 Adjusting with the keyboard and the mouse.
  4. 4 The histogram and the vectorscope: how the light and the colors of the photo are spread.
  5. 5 󰕰 Grid takes you back to the photos, and so does Tab.

If you don’t know where to start: let SilverNode set the exposure and white balance with AutoEdit Alt⌥+E (󰁨 AutoEdit), then refine from there with Exposure and Temperature. Undo Ctrl⌘+Z takes back whatever you did (󰕌 Undo and Redo). Next photo: → / Space. More about Develop: 󱬠 Develop at a glance.

§1.4 4. Edit more than one photo

Edits are saved next to each photo, as you make them. Photos from one session look alike: copy the edit of one with Copy... Ctrl⌘+C and put it on others with Paste Ctrl⌘+V, make a preset of it, or select a number of photos in the 󰕰 Grid and use the adjustment keys on all of them at once (󰂫 Adjusting with the keys).

§1.5 5. Export

When a photo is done, select the photos in the 󰕰 Grid and use Export selected photos as album... Ctrl⌘+E: they are written as JPEG files, to share or to print (󰈇 Exporting). Your RAW files are never changed.

§1.6 And then

󰔎 The interface is about the language and the colors of SilverNode, 󰍉 The command palette finds every command by name, and the 󰌵 Tips system shows you faster ways to work, as you work.

§2 󰋹 Your photos stay in their folders

SilverNode has no catalogue. There is nothing to import, and no database of all your photos somewhere on your computer that has to stay in step with them. You open a folder, and everything SilverNode knows about its photos is in that folder, next to them.

So a folder is complete on its own: copy it to a backup disk, move it to an archive, put it on another computer, rename it. Open it there in SilverNode and every edit, rating and rejection is still there. Nothing is lost when a folder moves, and nothing outside it has to come along.

§2.1 What is in a folder

A folder of photos after working in it with SilverNode:

Holiday 2024/
├── IMG_0412.CR2
├── IMG_0412.sna            your edit of IMG_0412.CR2
├── IMG_0413.CR2
├── IMG_0413.sna
├── ...
└── silvernode.thumb_db     thumbnails, to open the folder quickly

§2.1.1 Your RAW files are never changed

SilverNode only reads your RAW files. Everything you do to a photo is written next to it, in its sidecar file: the original stays exactly as the camera made it, and you can always go back to it.

§2.1.2 The sidecar files

Every photo you change gets a sidecar: a small file with the photo’s name and the extension .sna, in the same folder. It holds:

A sidecar is plain text (JSON), readable in any text editor. SilverNode writes it as soon as something about the photo changes. Without its sidecar, a photo opens as it came from the camera.

A preset you apply is copied into each photo’s sidecar: the photos keep their look, also in a folder you archive, and on a computer that doesn’t have that preset.

§2.1.3 󰆼 The thumbnail database

silvernode.thumb_db keeps a small version of every photo of the folder, so that the 󰕰 Grid fills in an instant the next time you open it, instead of decoding every RAW file again. It holds the photos as they come from the camera; your edits are applied to them when they are shown.

It is only a cache: everything in it can be made again from the RAW files. You can delete it at any time, or leave it out of a backup to save space; SilverNode makes a new one the next time the folder is opened. The setting Use a thumbnail database turns it off altogether. When the disk of the folder is nearly full, SilverNode keeps it in your computer’s temporary folder instead.

§2.2 󰝰 Folders SilverNode makes

Only when you ask for it:

  • rejected/: Move rejected photos to the rejected folder moves the rejected photos there, each with its sidecar: out of the way, but not deleted.
  • export_album/: where Export… (Exporting to files) puts the exported photos, unless you choose another folder.
  • export/: where automatic export puts the photos.

§2.3 󰒓 What is not in the folder

What belongs to you rather than to a photo is kept in SilverNode’s own settings folder: the settings, your presets, your keyboard shortcuts, the folders the file browser had open, the license, and the log. None of it is needed to open a folder with its edits.

The undo history is not saved at all: it lasts while the folder is open.

§3 󰄀 Camera support

SilverNode doesn’t have a list of cameras of its own: it reads RAW files with the decoders of two other projects, and works with the cameras they know. That is most of them, but not all, and a camera in their lists can still be one SilverNode can’t use. This page says how a file is read, what SilverNode needs of a camera, and what to do if yours doesn’t load.

§3.1 How a file is read

When SilverNode opens a RAW file, it asks two decoders, one after the other:

  1. RawSpeed, the decoder that darktable uses as well.
  2. LibRaw, when RawSpeed doesn’t know the file.

Two kinds of files go to LibRaw straight away: Canon’s CR3 and Sony’s SRF. The first that succeeds is the one used: you don’t choose.

So the lists of those projects tell you most of what you want to know: LibRaw’s supported cameras, and, as darktable uses the same decoders, darktable’s camera support list is a good first indication.

§3.2 What SilverNode needs of a camera

A camera that the decoders read can still fall outside what SilverNode does. It needs:

  • square pixels, and
  • three color channels, with the RGB color model.

SilverNode develops the RAW data itself, and knows the usual layouts of the color filters on a sensor: the Bayer pattern most cameras have, and the X-Trans pattern of Fujifilm.

None of this can be settled from a list for every camera. To be fully sure, try SilverNode with photos of your camera before you buy it: the beta is there for that.

§3.3 When a photo doesn’t load

A file that SilverNode can’t read shows in the 󰕰 Grid as a tile with a crossed-out picture, and the reason in red:

Figure 5. A file that is not a RAW file at all, next to a photo that loads.
  1. 1 The crossed-out picture: no photo could be made of this file.
  2. 2 Why: the message of the decoder that gave up. Here, the file is no RAW file at all: Cannot determine file type.

The other photos of the folder are not affected. Usually a file that SilverNode can’t read is one of these:

  • a camera the decoders don’t know yet: look for it in the lists above;
  • a file that is damaged, or was cut short when it was copied: copy it from the card again;
  • a file of a camera that does not fit what SilverNode needs (What SilverNode needs of a camera).

If your camera should work and doesn’t, send an email to support@silvernode.io, with the camera and the message from the tile; a sample file helps most. If you would like to try to add the camera yourself: Adding a camera yourself.

§3.4 Adding a camera yourself

RawSpeed and LibRaw are not built into SilverNode: both are linked dynamically, as libraries that come with it. That means you can build your own version of either, and use it in place of the one that comes with SilverNode, to experiment with support for a camera that isn’t known yet.

SilverNode’s builds are made from forks that expose the symbols it needs. The addresses are in SilverNode’s acknowledgements:

Both libraries are written in C++, so the library you build has to match the one SilverNode is built with: they have to agree on the C++ ABI. SilverNode is built with the Zig toolchain, which means Zig’s libc++ as the C++ standard library, and C++20 (-std=c++20). Build with Zig, or with clang against libc++, in C++20. A library built against another standard library, such as libstdc++, or with another C++ standard, can look as if it loads and still fail or crash.

Build the library from there, and put it where the one of SilverNode is. Keep a copy of the original, so that you can go back. SilverNode then reads the camera, as far as your change makes a decoder read the file: How a file is read says which decoder tries first, and which comes next. If it works, contribute your work to the project: that is the way to get your camera supported for everybody, in SilverNode and in the other programs that use that decoder.

§3.5 Your camera and your lens

The camera that took a photo is read from the file and shown with the photo’s details (󱬠 Develop at a glance). It also decides which lenses are candidates for lens correction: a camera the lens database doesn’t know is shown in red there (Letting SilverNode pick the lens).

§4 󰕰 Grid

The 󰕰 Grid shows every photo of the open folder as a tile: its file name, the photo with your edit, and its star rating. The 󰕰 Grid button at the top, or Go to Grid Tab, comes back here from 󱬠 Develop. Double-click a tile to open the photo in 󱬠 Develop.

A rated folder. The dimmed tiles are rejected photos.
Figure 6. A rated folder. The dimmed tiles are rejected photos.

§4.1 󰕰 Grid at a glance

Figure 7. The whole window, in the 󰕰 Grid.
  1. 1 The menu bar: everything SilverNode can do, with its keys.
  2. 2 󰕰 Grid, 󱬠 Develop and 󰒓 Settings: switch between them.
  3. 3 󰌵 Tips: short tips about what you are doing. The light bulb lights up when there is a new one: see 󰌵 Tips.
  4. 4 Your folders: point at one and click Open to see its photos here. See 󰝰 1. Open a folder.
  5. 5 The toolbar: filters, tile size, reload and grouping. See 󰕰 Grid toolbar.
  6. 6 The photos of the open folder. See 󰄭 Selecting photos, and 󰂫 Adjusting with the keys for adjusting them with the keys.
  7. 7 Your presets, each shown on the photo you clicked last. Double-click one to put it on all selected photos; right-click it to rename or delete it.
  8. 8 Click the narrow strip at the edge of the window to tuck the panel on that side away: it slides out again when the pointer reaches the edge. Click the strip once more to keep the panel open.

§4.2 󰄭 Selecting photos

A click selects one photo. Shift+click selects every photo from the selected one up to the one you click; Ctrl+click (⌘+click on a Mac) adds a photo to the selection, or takes it out. Most of what you do in the 󰕰 Grid works on all selected photos at once: rating, rotating, AutoEdit, pasting adjustments, adjusting with the keys.

With the keyboard:

  • The arrow keys move from photo to photo, Page Down and Page Up a screen at a time, Home and End to the first and last.
  • With Shift, the arrow keys grow the selection: Expand selection right Shift⇧+→.
  • (De)Select all A / Ctrl⌘+A: selects every photo, or none when all are selected already. Clear selection Esc.

§4.3 󰈈 Quick preview

Space shows the selected photo large, on top of the 󰕰 Grid. The arrow keys go to the next and previous photo while it is open, so you can look through a folder quickly; Space again closes it.

The quick preview.
Figure 8. The quick preview.

§4.4 󰓎 Rating and rejecting

Give the selected photos one to five stars with the number keys 1 to 5; 0 / ` takes the rating away again. Toggle rejected X marks them as rejected, or not rejected anymore: a rejected photo stays in the 󰕰 Grid, dimmed, until you filter it out. These are in the Photo menu too. The stars also show at the bottom of each tile:

A photo with four stars.
Figure 9. A photo with four stars.

Keys drawn with a dashed border, like the number keys here, go by their place on the keyboard, not by what they type: on a keyboard where the key in the place of 1 types something else, press that key.

The rating and rejection are saved in the photo’s sidecar file, next to the RAW file, together with its edit.

§4.5 󰕰 Grid toolbar

Figure 10. The toolbar above the 󰕰 Grid.
  1. 1 The filter: which photos the 󰕰 Grid shows. It has three parts, the next three items: see 󰈲 Filtering.
  2. 2 󰈈 󰩹 A toggle button: show the rejected photos.
  3. 3 󰈈 󰗠 A toggle button: show the photos that are not rejected.
  4. 4 Show only photos with at least this many stars.
  5. 5 󰛬 󰛭 Smaller or larger tiles.
  6. 6 󰑐 Reload: read the folder again, for photos added since it was opened.
  7. 7 Group the photos: see 󱡠 Grouping.
  8. 8 󰶼 󰶹 Jump to the previous or next group.

§4.6 󰈲 Filtering

The filter hides photos from the 󰕰 Grid; it doesn’t change or remove anything. It has three parts, in the toolbar (1), which work together: a photo is shown when the eye button for it is down, the first for a rejected photo and the second for the others, and when it has enough stars.

Figure 11. The filter, set to four stars and more.
  1. 1 󰈈 󰩹 A toggle button, the first eye: it shows the rejected photos. A button that is down shows its photos; both start down. Switch it off to put the rejected photos out of sight.
  2. 2 󰈈 󰗠 A toggle button, the second eye: it shows the photos that are not rejected. Switch it off to look at only the rejected ones. With both buttons off, no photo is shown.
  3. 3 The stars: click a star to show only the photos with at least that many stars. Clicking the same star again shows all photos again. The stars hold for the rejected photos you show, too.

With the filter as in the figure, only the photos with four or five stars are left:

The folder of , filtered to four stars and more.
Figure 12. The folder of Figure 6, filtered to four stars and more.

The View menu has the stars of the filter with keys: Alt⌥+3 shows the photos with at least three stars, and so on for the other numbers. Clear filters Alt⌥+Backspace puts the whole filter back, all three parts: both eye buttons down and no minimum of stars, so all photos show again.

When the filter hides every photo, the 󰕰 Grid says so, with the number of photos in the folder. A photo you rate while a filter is on normally drops out of view at once; with the setting Re-apply filters immediately off, the filter is only applied again when you switch between the 󰕰 Grid and 󱬠 Develop.

§4.7 󱡠 Grouping

The grouping list in the toolbar (7) splits the 󰕰 Grid into groups with a title:

The ways to group.
Figure 13. The ways to group.
  • By Date and By Month: when the photos were taken.
  • By Camera and By Lens: what they were taken with.
  • By Rating: one group per number of stars, and No stars.
  • No Grouping: all photos together again.
Figure 14. The 󰕰 Grid grouped by camera.
  1. 1 The group’s title: here, the camera.
  2. 2 Click the arrow before the title (󰅀) to fold the group away, and again (󰅂) to unfold it.
  3. 3 The number of photos in the group, as the 󰕰 Grid shows them: with a filter on, the ones it lets through.

The jump buttons in the toolbar (8) scroll to the previous or next group: quicker than scrolling through a long folder.

§4.8 󰟄 The right-click menu

Right-click a photo for a round menu of what you can do with the selected photos: move towards an item and click.

Figure 15. The menu of the 󰕰 Grid.
  1. 1 󰑥 Rotate Left: a quarter turn, counterclockwise.
  2. 2 󰑧 Rotate Right: a quarter turn, clockwise.
  3. 3 󰁨 AutoEdit: SilverNode sets the exposure, white level and white balance of each selected photo, in one step that Ctrl⌘+Z takes back: see Applying AutoEdit.
  4. 4 󰧑 Learn AutoEdit: teaches AutoEdit from how you edited the selected photos: see 󰧑 Teaching AutoEdit.
  5. 5 󰁪 Reset All: takes every adjustment of the photos back to its start.
  6. 6 󰈇 Export…: export the selected photos to files: see Exporting to files.
  7. 7 󰆏 Export to clipboard: the same, to the clipboard: see 󰆏 Exporting to the clipboard.
  8. 8 󰏌 Reveal…: show the RAW file in your file manager.

§4.9 󰁨 AutoEdit

AutoEdit looks at a photo and sets its exposure, white level and white balance for you, as a start to edit from. It works on the selected photos in the 󰕰 Grid, and on the open photo in 󱬠 Develop.

§4.9.1 Applying AutoEdit

Choose AutoEdit in the right-click menu or the Photo menu, or press Alt⌥+E. SilverNode looks at each photo and sets the three adjustments, in the background: for a whole selection it is one step that Ctrl⌘+Z takes back. Afterwards the sliders show what it chose, to refine from there, and in 󱬠 Develop the Edit Quality dial (1) says how sure AutoEdit is of its edit.

§4.9.2 󰧑 Teaching AutoEdit

AutoEdit sets those adjustments from values that come with SilverNode. Learn AutoEdit (AutoEdit: Learn Shift⇧+Alt⌥+E, in the Photo menu, and in 󱬠 Develop too) replaces them with your own taste: edit some photos by hand until you like them, select them in the 󰕰 Grid and choose Learn AutoEdit. From then on, AutoEdit edits other photos the way you edited those.

Each time, it starts over: what AutoEdit knew before is replaced by what it learns from the photos you have selected now, so select all the photos you want it to learn from together. What it learnt is kept while SilverNode is open, and is forgotten when you close it.

§4.10 󰂫 Adjusting with the keys

The keys that adjust a photo in 󱬠 Develop work here too, on the selected photos: 󰂫 Adjusting with the keyboard and the mouse describes them, from the keys to the cancelling. Select the photos you want to change, one or a whole group of them (a range with Shift+click, or (De)Select all A / Ctrl⌘+A), press the key, move the mouse, and click.

Figure 16. Adjusting the exposure with E on three selected photos.
  1. 1 The selected photos: all of them change, by the same amount from where each of them is: one photo may be brighter than another to start with, and still is after it.
  2. 2 What the keys are driving, next to the pointer. With a value in 󱬠 Develop; here without, as every photo has its own. See While you drag.

The whole drag is one step to undo for all the photos, and a cancel puts every one of them back.

§5 󱬠 Develop

󱬠 Develop is where you edit one photo. The adjustments are in the panel on the right. Next photo → / Space and Previous photo ← / Shift⇧+Space go through the photos of the folder; Go to Grid Tab goes back to the 󰕰 Grid.

§5.1 󱬠 Develop at a glance

Figure 17. The whole window, in 󱬠 Develop.
  1. 1 Image Quality and Edit Quality: how good SilverNode thinks the photo is, and how sure it is of the edit AutoEdit made for it, out of 20. They show a dash until AutoEdit has looked at the photo.
  2. 2 The photo: its exposure settings, when it was taken, the camera, the lens, the author, the file and its size in pixels. When the camera doesn’t say exactly which lens it was, the lenses it could have been are listed: see 󰄄 Lens correction.
  3. 3 Create preset: save the adjustments of this photo as a preset.
  4. 4 Your presets, each shown on this photo. Double-click one to put it on this photo, and on the other photos selected in the 󰕰 Grid; right-click it to rename or delete it.
  5. 5 The photo, with your edit. Hold Z to look at it at full size: see 󰍉 Zooming in.
  6. 6 Its star rating: set it with the number keys, see 󰓎 Rating and rejecting.
  7. 7 The histogram and the vectorscope: how the light and the colors of the edited photo are spread.
  8. 8 The exposure settings of the photo, once more, below the scopes.
  9. 9 The adjustments, from top to bottom: scroll down for more. See 󰘮 The adjustments.

The narrow strips at the left and right edge fold the side panels away, as in the 󰕰 Grid (8); Toggle all panels Shift⇧+N / Shift⇧+Tab folds both away at once, for a large photo, and brings them back.

§5.2 󰟄 The right-click menu

Right-click the photo for a round menu: move towards an item and click, or press the key in its corner while the menu is open. In gradient mode, the right-click opens the gradients’ menus instead.

Figure 18. The menu of 󱬠 Develop.
  1. 1 󰑥 Rotate Left, Shift⇧+R: a quarter turn, counterclockwise.
  2. 2 󰑧 Rotate Right, R: a quarter turn, clockwise.
  3. 3 󰁪 Reset All, Backspace: takes every adjustment back to its start.
  4. 4 󰁨 AutoEdit, A: SilverNode sets the exposure, white level and white balance, as AutoEdit in the 󰕰 Grid does; 󰧑 Teaching AutoEdit teaches it your taste.

These keys only pick an item of the open menu; Rotate left Ctrl⌘+R, Rotate right Ctrl⌘+Shift⇧+R and AutoEdit Alt⌥+E work without it.

§5.3 󰍉 Zooming in

The photo is fitted to the window. To judge detail, such as sharpness or noise, look at it at full size. It only changes how you look: the photo and your edit stay as they are. The histogram and vectorscope reflect the portion of the photo that is currently on-screen.

The photo fitted to the window, the pointer on the face.
Figure 19. The photo fitted to the window, the pointer on the face.

Hold Z with the pointer over the photo: the view glides to full size on the part under the pointer. Move the pointer to look around: the part of the fitted photo it is over is the part you see. Let go of Z and the photo is fitted again.

The same, with held: the photo at full size around the pointer.
Figure 20. The same, with Z held: the photo at full size around the pointer.

§5.3.1 Keeping the zoom

To keep looking at one place while you work, for instance to watch the detail change as you move a slider, lock the zoom:

  • Press the left Shift while you hold Z, and let go of Z: the view stays, and the pointer is free again.
  • Or press Shift⇧+Z, also in the View menu as Toggle zoom: it zooms in at the pointer and keeps the view there.

Press Z once, or Shift⇧+Z again, to fit the photo again.

§5.4 󰇉 Seeing the photo before

To judge what your edit does, look at the photo without it. Hold Esc over the photo: it shows the photo as it was, before any of your adjustments; let go, and your edit is back. It fades between the two; the setting Fade between before and after in 󰒓 Settings turns that off, and Before/after fade duration sets how long it takes.

The photo with your edit, and with held: how it was before. The picture switches by itself every second.EditedEsc held
Figure 21. The photo with your edit, and with Esc held: how it was before. The picture switches by itself every second.

In the 󰕰 Grid, Esc does the same for every photo at once.

§5.4.1 One adjustment at a time

Hold Esc with the pointer over a control of the adjustments panel, or over the heading of its section, and only what that control or section does switches off. The rest of your edit stays, so you can see what one adjustment contributes.

The same photo, with held over Saturation: only the saturation is off, the colors are muted. It switches by itself every second.EditedEsc held over Saturation
Figure 22. The same photo, with Esc held over Saturation: only the saturation is off, the colors are muted. It switches by itself every second.
The pointer is overWhat switches off
The Color Correction headingThe white balance and the exposure.
Temperature or TintThe white balance.
Exposure or White LevelThe exposure.
The Style headingThe style adjustments: contrast, texture, curves, the color wheels, saturation and the rest.
One of those, such as Contrast or SaturationOnly that adjustment.
Sharpening, Color Denoise, or the Quality & Detail headingThe sharpening and the denoising.
The Crop & Straighten heading or one of its controlsThe crop: rotation, perspective, move, aspect ratio and crop-in.

Anywhere else, over the photo or the rest of the panel, Esc shows the whole before.

§5.5 󰂫 Adjusting with the keyboard and the mouse

The adjustments you use most have a key, in the style of Blender: press the key, move the mouse, and the value follows; a left click keeps it. Right click, middle click or Esc cancel instead, and put everything back the way it was. The whole drag is one step to undo.

The keys work in 󱬠 Develop, on the photo you are editing, and in the 󰕰 Grid, on every selected photo at once (󰂫 Adjusting with the keys): each gets the same change. In the adjustments panel, a slider shows its key on its left.

§5.5.1 The keys

KeyAdjustsKeys during the drag
EExposure
Shift⇧+EWhite Level
TTemperature and Tint, a pair
CContrast and Contrast Locality, a pair; Contrast Turning PointF the pair, R Turning Point
VSaturation
SSharpening Strength and Radius, a pair
DColor Denoise Strength and Radius, a pair
Shift⇧+DNoise Amplitude
WThe Shadows, Midtones and Highlights color wheelsR Shadows, F Midtones, V Highlights
QHue and saturation of the red, green and blue primaries: a pair eachR red, F green, V blue
RRotation, Perspective, Move and Crop-InR Rotation, C Perspective, G Move, S Crop-In

A drag starts on the first control in the list. One value follows the mouse in any direction: right or up raises it, left or down lowers it. A color wheel, Perspective and Move follow it over both axes. With a gradient selected, the keys of Exposure, Temperature and Tint, Contrast, Saturation, Sharpening and Color Denoising change the gradient only; the others do nothing.

§5.5.2 While you drag

Next to the pointer, a faded copy of the controls shows what the drag is changing, also when the adjustments panel is scrolled away or not on screen. The setting Show what a key drag is adjusting turns it off.

Figure 23. Dragging C: Contrast and Contrast Locality.
  1. 1 What the drag changes now, outlined: the pair.
  2. 2 The key that picks the pair, when the binding has more.
  3. 3 The key that picks Contrast Turning Point instead.
  4. 4 Which way to move the mouse for this value, under your behaviour setting: ↕ up and down, ↔ sideways, ✥ either.
Figure 24. Dragging W: the split toning wheels.
  1. 1 The keys that pick a wheel.
  2. 2 The wheel the drag moves, outlined: its point follows the mouse.
Figure 25. Dragging Q: a hue and a saturation for each primary.
  1. 1 The key of the red primary.
  2. 2 The key of the green one (or G).
  3. 3 The key of the blue one (or B).
  4. 4 The saturation, the second slider of the pair.
Figure 26. Dragging R: four controls, each with its key.
  1. 1 Rotation.
  2. 2 Perspective, over both axes: its two sliders move together.
  3. 3 Move, over both axes.
  4. 4 Crop-In. The scroll wheel crops in too, except when the behaviour uses it for pairs.
§5.5.2.1 󰚖 Cropping with the keys

The crop binding is made to move the photo around under the frame, rather than to drag the frame’s corners. Press R and the photo shows the frame, with the rule of thirds over it; then straighten with the mouse, press C to correct the perspective, G to move the photo, S to crop in, R to rotate again, and click to keep it.

The keys come from Blender’s language, which may help you remember them: G is grab, to take the photo and move it, R is rotate, and S is scale, here to crop in (to scale the photo up under the frame). Blender does the same with the objects in its 3D view.

You never have to fit the frame yourself: whatever you rotate, correct or move, the crop is always the largest frame of the chosen aspect ratio that fits inside the photo, so no empty corner ever shows. Crop-In only takes it closer from there. Choose the ratio under Aspect Ratio in the Crop & Straighten section of the adjustments, and flip it between landscape and portrait with the button next to it.

The crop binding at work: the frame, and the rule of thirds.
Figure 27. The crop binding at work: the frame, and the rule of thirds.
The aspect ratios.
Figure 28. The aspect ratios.

§5.5.3 Pairs: the behaviour setting

A pair is two values one key drives: Temperature and Tint, Contrast and Contrast Locality, a strength and its radius, a hue and its saturation. The setting Blender binding behaviour, in 󰒓 Settings, chooses how you reach the second one. I recommend the default: both values of a pair move at once, each on its own axis of the mouse, so you dial in Temperature and Tint, or a strength and its radius, in one motion.

BehaviourFirst valueSecond value
Both sliders at once: Vertical and horizontal mouse motion (the default, recommended)up and downsideways
Both sliders at once: Mouse motion and scrollingthe mousethe scroll wheel
One slider at a time: Mouse motion and holding Shift to access the secondary sliderthe mouseShift held, the mouse
One slider at a time: Switch between sliders in pairs by repeating the same keythe mousepress the pair’s key again, then the mouse
One slider at a time: Dedicated keys for sliders in pairsthe mouseits own key, then the mouse

Repeating the same key: for a binding that has only one pair (Temperature and Tint, Sharpening, Color Denoising), that key is the binding’s own, T again switches from Temperature to Tint. With dedicated keys, the first value is on F and the second on V (Temperature and Tint, Contrast and Contrast Locality) or on R (the radius of Sharpening and Color Denoising); the saturations of Primary Calibration are on T, G and B, next to their hues.

§5.6 󰘮 The adjustments

The adjustments are the panel at the right of 󱬠 Develop. From top to bottom: Quality & Detail, Crop & Straighten, Color Correction, Style and Lens Correction. Scroll down for the rest. Each control is a slider or a picture to drag in; a slider shows the key that adjusts it on its left, which you use as 󰂫 Adjusting with the keyboard and the mouse describes, and a double-click puts it back to its default. Everything is saved with the photo in its sidecar (The sidecar files), and a preset can hold any of it.

Hold Esc over a control or a section heading to see the photo without it (One adjustment at a time).

§5.6.1 󰂵 Quality & Detail

Figure 29. Noise and sharpness.
  1. 1 Denoise: how strongly sensor noise is smoothed away, from the RAW data itself. Zero leaves it as the sensor recorded it.
  2. 2 Sharpening Strength: how strongly to sharpen.
  3. 3 Sharpening Radius: how wide the sharpening reaches around an edge. Wide for coarse detail, narrow for fine.
  4. 4 Color Denoise Strength: how strongly color speckle is smoothed away.
  5. 5 Color Denoise Radius: how wide that color smoothing reaches.

Sharpening starts at a low strength, and color denoising at 80 %, because most photos need a little of both.

§5.6.2 󰚖 Crop & Straighten

Figure 30. Framing the photo.
  1. 1 Move: shifts the frame sideways and up or down over the photo.
  2. 2 Rotation: turns the photo by a small angle, to level a horizon.
  3. 3 Perspective: corrects converging lines, as in a photo of a building taken from below; one slider for each direction.
  4. 4 Aspect Ratio: the shape of the frame: Original, the shape the camera made, or 1:1 Square, 3:2, 4:3, 5:4, 16:9, 21:9 and 45:35 (ID-card).
  5. 5 The flip button: turns the shape on its side, from landscape to portrait. See below.
  6. 6 Crop-In: how far the frame is pulled in from the edges, from 1, the whole photo, up to 4.

You never fit the frame by hand: whatever you rotate, correct or move, it is the largest frame of the chosen shape that fits inside the photo, so no empty corner shows. 󰚖 Cropping with the keys describes cropping with the keys.

§5.6.2.1 The aspect ratio flip button

The shape you choose has a long side and a short side, and the frame is landscape by default. The flip button next to Aspect Ratio turns it on its side: a 3:2 frame becomes 2:3, 16:9 becomes 9:16. It is a switch: it stays down while the frame is flipped, and pressing it again flips it back. It works with every shape, including Original, which becomes the camera’s shape turned on its side. The choice is saved with the crop.

The photo cropped to 3:2, and with the flip button pressed. The picture switches by itself every second.3:2Flipped: 2:3
Figure 31. The photo cropped to 3:2, and with the flip button pressed. The picture switches by itself every second.

§5.6.3 󰖨 Color Correction

Figure 32. The color and the light.
  1. 1 Advanced: shows the controls that are rarely needed: The advanced white balance.
  2. 2 Temperature: the color of the light the photo was taken in, in Kelvin.
  3. 3 Tint: from green to magenta, for light that is not on the daylight-to-tungsten scale of the temperature.
  4. 4 White Level: from 0 to 2: where the photo reaches white. Lowering it brightens the photo, raising it darkens it.
  5. 5 Exposure, in EV: one EV doubles the light.
§5.6.3.1 󱧡 Highlight reconstruction

Where the sensor was blown out, a channel clipped to white and the color is gone with it. SilverNode rebuilds a color for those places instead of leaving them white or tinted.

Figure 33. Highlight reconstruction.
  1. 1 The color wheel: the color the highlights are rebuilt towards.
  2. 2 threshold, from 0.9 to 1.1: the level at which a channel counts as clipped. Lower catches more of the bright parts. Some cameras incorrectly advertise their maximum sensor value; this slider lets you correct that.
  3. 3 smooth: how softly the repair blends in: higher starts blending well below the threshold.
  4. 4 segment: where the color comes from. At 0, from the color wheel everywhere. At 1, estimated from the photo’s own colors around each spot; in between, a mix.
§5.6.3.2 The advanced white balance

Tick Advanced for a closer look at how the white balance works:

Figure 34. The advanced white balance.
  1. 1 Eye Domain: the color space the white balance is calculated in. CIECAM02 is the choice to start with; XYZ, VonKries and Bradford are the classic alternatives, and look a little different.
  2. 2 Source Illuminant: the light the photo was taken under, on a chromaticity diagram. Pick a point, and Temperature and Tint follow.
  3. 3 Destination Illuminant: the light the photo should look as if it was taken under, from 5000 to 7000 K. 6500 K is the standard daylight of a screen.

§5.6.4 󰏘 Style

§5.6.4.1 Color balance
Figure 35. The color balance wheels.
  1. 1 Shadows, Midtones and Highlights: a wheel for the tint of each part of the tonal range. Drag the point away from the middle toward a color: the further, the stronger. Only the color changes, the brightness stays.
§5.6.4.2 Detail and tone
Figure 36. Homomorphic filtering and the detail sliders.
  1. 1 Homomorphic Filtering: evens out large brightness differences across the photo. Shape it with the curve: drag its points. The straight line in the middle leaves the photo as it is.
  2. 2 Texture Boost: brings out fine surface detail. Below zero it does the opposite.
  3. 3 Quick Denoise: a cheap, fast noise reduction.
  4. 4 Histogram Equalization: spreads the tones out to use the full range.
§5.6.4.3 Contrast
Figure 37. Contrast and the tone curve.
  1. 1 Contrast: the difference between light and dark.
  2. 2 Contrast Locality: whether contrast is applied over the whole photo or within small areas of it.
  3. 3 Contrast Turning Point: the brightness contrast pivots around. With more contrast, what is brighter than it gets brighter, and what is darker gets darker.
  4. 4 The tone curve: input brightness along the bottom, output up the side. The diagonal leaves the photo alone. Its background shows what Contrast does at the moment.

In a curve, click the line to add a point and drag a point to move it. Double-click a point to delete it, and double-click anywhere else in the curve to put the curve back to its default.

§5.6.4.4 Primary calibration and saturation
Figure 38. Colors of the primaries.
  1. 1 Primary Calibration: the hue and the saturation of the red, green and blue, one pair for each: it matches the camera’s own color response.
  2. 2 Saturation: how intense all colors are. Minus all the way is black and white.
§5.6.4.5 Hue, saturation and luminance
Figure 39. The Hue-Saturation-Luminance curves.
  1. 1 The top curve changes a color’s hue.
  2. 2 The middle curve changes its saturation.
  3. 3 The bottom curve changes its luminance, the brightness.

Each curve works on one color at a time: across the curve, from left to right, are the colors of the rainbow, and the height is what to do to a color: the flat line in the middle leaves all colors as they are; pull a point up or down to shift, strengthen or darken that color only. It wraps around: the end at the right meets the start at the left, so that red can be reached from both sides. The curves are edited like the tone curve.

§5.6.5 󰄄 Lens correction

Every lens draws straight lines a little bent, darkens the corners, and puts colored fringes along edges, wide-angle and zoom lenses most. SilverNode knows how many lenses do this, from the Lensfun lens database, and can undo it once it knows which lens took the photo: the Lens Correction section of the adjustments finds the lens, and you choose what to correct.

A wide-angle photo as the lens made it, and with Distortion and Vignetting ticked: the lines are straighter, and the corners lighter. The picture switches by itself every second.Corrections offCorrections on
Figure 40. A wide-angle photo as the lens made it, and with Distortion and Vignetting ticked: the lines are straighter, and the corners lighter. The picture switches by itself every second.
§5.6.5.1 Why the lens has to be chosen

Every lens bends, darkens and fringes in its own way, so the correction has to be the one measured for your lens, at the focal length and aperture of the photo. SilverNode must know which lens it was, and the photo often doesn’t say:

  • Many lenses don’t tell the camera anything. Older lenses without electronics, and lenses on an adapter, leave no information about themselves in the photo.
  • Most lenses that do talk to the camera don’t give an identity either. They report their properties: the range of focal lengths and the widest apertures. The Nikon D-series cameras are typical for this. A property such as a 24 to 70 mm zoom with f/2.8 describes more than one lens: several makers sell one, and each has its own distortion.

So SilverNode looks for the lenses in the database that fit what the photo says, and shows them with a ring for how well each fits. When the photo says enough, one stands out and is picked for you. When it doesn’t, the lens you know you used is one of the candidates, and for a lens that said nothing, you choose from all of them (Choosing from all the lenses).

§5.6.5.2 Letting SilverNode pick the lens
Figure 41. The lens section of a Canon EOS 5D Mark III photo.
  1. 1 The camera (󰄀), as the database knows it, with its crop factor when it isn’t 1. In red when the database doesn’t know the camera: then choose the lens yourself (Choosing from all the lenses).
  2. 2 Show all lenses: see Choosing from all the lenses.
  3. 3 The lens SilverNode picked, described by three symbols: its mount, its maker and its model (see below). It is the one that fits best what the camera wrote into the photo: the lens’s name, its focal lengths and its aperture. Click it for the other candidates (How well a lens matches).
  4. 4 The ring: how well the lens matches. Full and green is a close match.
  5. 5 What to correct: Distortion straightens lines the lens bent, Vignetting lightens the corners it darkened, and TCA (transverse chromatic aberration) removes the colored fringes it put along edges. All three start off. One that is dimmed has no data for this lens in the database.

Three symbols stand before what describes a lens, here and wherever lenses are listed:

  • 󰌷 the mount: the type of lens mount, which says which cameras the lens fits on, such as Canon EF or Sony E. A lens can come with several (One lens, several mounts);
  • 󰈏 the maker: the company that made the lens;
  • 󰄄 the model: the lens itself, by its name. The aperture iris of the symbol is the diaphragm inside a lens.

A mount that doesn’t fit the camera is shown in red, with a warning sign (󰀨): see How well a lens matches and One lens, several mounts.

SilverNode picks the lens when you open the photo, and keeps your choice with the photo (The sidecar files). When the camera doesn’t say exactly which lens it was, the photo’s details at the left (󱬠 Develop at a glance) list the lenses it could have been.

§5.6.5.3 How well a lens matches

Click the lens to see the candidates, the best match first. The ring before each one rates it, from full and green for a close match, through yellow, to nearly empty and red for a poor one.

Figure 42. The candidates for a 24 mm photo of a Canon EF camera.
  1. 1 The best match, with a full green ring.
  2. 2 A weaker match: the ring is emptier and has turned towards yellow.
  3. 3 A lens for another mount than the camera’s. Its mount and a warning sign are in red, and its ring is almost empty: the entry doesn’t list this camera’s mount, so it is most likely a lens for another camera system (One lens, several mounts).

If the first one isn’t your lens, pick yours from the list.

§5.6.5.3.1 One lens, several mounts

A lens maker often sells the same lens with different mounts: Sigma makes some of its lenses with a Nikon F mount, and with a Canon EF mount, for instance. The optics are the same, and so is the correction, so the lens database lists such a lens once, with all its mounts, and not once for each. SilverNode treats it like that:

  • A lens that has your camera’s mount among its mounts shows that mount, in the normal color, whichever mount is first in the entry. On a Nikon and on a Canon the same Sigma entry is a good match, and shows a different mount.
  • A lens that doesn’t list your camera’s mount shows the first mount it does list, in red with the warning sign, and comes out lower in the list. That is usually a lens for another camera system. But if your mount is missing from the entry for your lens, or you use an adapter, it can be exactly the right one: choose it, the correction belongs to the lens.
  • With Choosing from all the lenses, such a lens is in the list of each of its mounts: pick Canon EF, or pick Nikon F, and find the same Sigma lens.
§5.6.5.4 Choosing from all the lenses

Show all lenses replaces the list of candidates with every lens in the database, to narrow down yourself. SilverNode switches it on by itself when the lens you chose earlier isn’t among the automatic candidates. It is also the way to a lens the camera doesn’t report correctly, such as an adapted lens.

Figure 43. Choosing from all the lenses.
  1. 1 Tick it again to go back to the candidates.
  2. 2 󰌷 Mount: the lens mount. It starts at the one that fits the camera; All mounts shows every one. A mount narrows the makers and the models to what fits it.
  3. 3 󰈏 Maker: the company that made the lens, narrowing the models too. [All Lens Makers] doesn’t narrow them.
  4. 4 󰄄 Model: the lens, from those that fit the mount and the maker above, listed by name. It is the one SilverNode corrects for.
§5.6.5.5 If your lens is not in the list

First look under Show all lenses: the lens may be listed under another maker, another name, or another mount than you expect (One lens, several mounts). If it really is not there, SilverNode doesn’t know your lens yet, and there is nothing to correct with until it does. The lens data is the database of the Lensfun project, which is made by photographers who measure their lenses, and which SilverNode takes as it is. There are two ways to a lens SilverNode knows:

  • Add it to Lensfun, and let me know. Lensfun explains how to calibrate a lens and add it to its database. Once your lens is in the Lensfun database on GitHub, send an email to support@silvernode.io, and the lens database of SilverNode is updated, for you and for everyone else who has that lens.
  • Add it yourself, now. The lens database is a set of XML files in the res/silvernode/lensfun folder of SilverNode. It comes with the SilverNode package, next to the silvernode program. SilverNode reads every .xml file in it when it starts: add your lens as a <lens> entry to the file of its maker or camera system, or to a file of your own, and start SilverNode again. The files are named after the kind of camera first: mil- is for mirrorless cameras and slr- for single-lens reflex cameras (mil-sigma.xml, slr-canon.xml), and compact- for compact cameras.

An entry is Lensfun’s own format; the quickest start is to copy the entry of a similar lens from the files, or from Lensfun, and change it. The shape of it:

<lensdatabase version="2">
    <lens>
        <maker>Sigma</maker>
        <model>Sigma 10-20mm f/4-5.6 EX DC HSM</model>
        <mount>Nikon F AF</mount>
        <mount>Canon EF</mount>
        <focal min="10" max="20"/>
        <aperture min="4" max="32"/>
        <cropfactor>1.620</cropfactor>
        <calibration>
            <!-- the measured distortion, vignetting and tca -->
        </calibration>
    </lens>
</lensdatabase>

The <model> should be the name of the lens as it comes out of a photo: what the program exiv2 prints as the lens for a RAW file taken with that lens. SilverNode doesn’t use exiv2: it reads the metadata with neonEXIF, a free and open-source library of its own, which tries to give names that SilverNode can match to the entries of the database, also when they differ a little. The Lensfun database has its own rules about names and entries, which are not SilverNode’s to decide: follow Lensfun’s.

The <mount> is a name already in the files: the ones in the Mount list (Choosing from all the lenses); a lens that comes with several mounts lists them all, as in One lens, several mounts. The numbers in <calibration> come from measuring the lens, as Lensfun’s page describes; a lens with no calibration is found, but has nothing to correct with. A mistake in the XML stops SilverNode from loading the lens database, so keep a copy of the original file.

If you calibrate a lens yourself, I highly recommend that you contribute your work to the Lensfun database. Anyone with that lens, in SilverNode and in the other programs that use Lensfun, can then correct it too, and you don’t need to keep your own copy of the XML up to date.

§5.7 󰂶 Gradients

A gradient changes part of the photo: darken a sky, brighten a lake. G switches gradient mode on and off (Esc leaves it too); in gradient mode, A opens a menu at the cursor to add one.

Figure 44. Adding a gradient.
  1. 1 󰂶 Linear: a straight transition, full on one side and fading out towards the other.
  2. 2 󰂸 Radial: fades outward from a spot.
  3. 3 󰂸 Radial (Outside): the same, acting outside its circle instead of inside.

§5.7.1 󰂶 A linear gradient

Drag its two handles: the first where the effect is full, the second where it has faded out. With Shift held, dragging either handle moves the whole gradient. Here, the sky is darkened down to the horizon:

Figure 45. A linear gradient on the sky: exposure −1 EV and a little more contrast.
  1. 1 Where the effect is full: the arrow points at it.
  2. 2 Where it has faded out.

§5.7.2 󰂸 A radial gradient

A radial gradient is an ellipse: the effect is inside it, fading out towards its edge. Radial (Outside) is the same ellipse with the effect outside it instead: to darken the corners around a subject, for instance.

Figure 46. A radial gradient on the lake: more exposure, and warmer.
  1. 1 The center: drag it to move the whole ellipse. While you hold it, the scroll wheel makes the ellipse larger or smaller, and with Shift held it turns the ellipse.
  2. 2 One of the four handles on the edge, at both ends of the ellipse’s two axes. Drag one to change the ellipse’s size and angle: the opposite handle follows, mirrored. With Shift held, only the handle you drag moves, and the other end stays where it is.
  3. 3 How soft the edge is. At the top of its short line, the effect stops sharply at the ellipse; at the bottom, it fades all the way from the center to the edge.

§5.7.3 󰘮 Adjusting a gradient

With a gradient selected, the gradient panel shows its adjustments. They change the photo only where the gradient is.

Figure 47. The adjustments of the selected gradient.
  1. 1 The key that adjusts this value with the mouse, as in 󰂫 Adjusting with the keyboard and the mouse: with a gradient selected, it changes the gradient only.
  2. 2 Which way to move the mouse for it: ↔ sideways, ↕ up and down, ✥ either.
  3. 3 The value. Contrast is at 0.30 here, in this gradient only.
  4. 4 󱞳 Reset puts the gradient back to how it started.
  5. 5 󰌿 Lock the panel in place: see below.

The panel moves out of the way by itself: when it covers the handles of the gradient you are editing, it goes to the nearest place where it doesn’t. Click the lock (5) to keep it where it is: the icon closes (󰌾), and the panel stays put until you click it again.

§5.7.4 󰟄 The gradient menu

Right-click with a gradient selected for a round menu of what you can do with it; right-clicking with none selected opens the menu to add one instead.

Figure 48. The menu of the selected gradient.
  1. 1 󰩹 Delete: removes the gradient.
  2. 2 󰁪 Reset: puts its adjustments back to zero, as the panel’s Reset does; its shape and place stay.
  3. 3 󰌁 Invert: puts the effect on the other side. A linear gradient swaps its two ends; a radial one switches between inside and outside its ellipse.
  4. 4 󰐘 Duplicate: adds a copy, with the same adjustments, on top of it: drag the copy away to use the same look elsewhere.

The same four are in the command palette, as Gradient: Delete and so on.

§6 󰏘 Presets

A preset is a set of adjustments saved under a name, to put on other photos in one go. You make one from the edit of a photo in 󱬠 Develop.

§6.1 󰐕 Creating a preset

Edit a photo until you like it, then click Create preset above the presets, at the top of the left panel (1), or choose Create preset... in the Photo menu. Name the preset, and tick what it should carry:

Figure 49. Creating a preset, as the dialog opens.
  1. 1 The name of the preset.
  2. 2 The groups of adjustments. A preset carries only the groups that are ticked, and putting it on a photo changes only those.
  3. 3 The Style groups are ticked to start with: the look, not the exposure, white balance or crop of this one photo. Tick White Balance or Exposure too for a preset that carries those.
  4. 4 A map of the ticked groups, one colored square each. Every preset tile shows the same map.
  5. 5 󰄭 Check all and Uncheck all tick or untick every group.
  6. 6 󰆓 Save keeps the preset. It needs a name and at least one ticked group.

The preset shows up in the presets panel:

Figure 50. The presets panel in 󱬠 Develop.
  1. 1 Create preset opens the dialog above.
  2. 2 A preset. Its picture is the photo you are on, with the preset put on it.
  3. 3 The groups it carries: the map of 4.

Shift⇧+A opens and folds the presets panel.

§6.2 Putting a preset on photos

In the 󰕰 Grid, select the photos, then double-click the preset in the presets panel on the right. All the selected photos get it at once, and one undo takes it off all of them again.

§6.3 󱰘 Renaming a preset

Right-click the preset to open its menu:

Figure 51. The menu of a preset.
  1. 1 󰩹 Delete (X): see 󰩹 Deleting a preset.
  2. 2 󱰘 Rename (R).

Type the new name, and press Enter or click Rename:

Figure 52. Renaming the preset “Warm Look” to “Golden Hour”.
  1. 1 The new name. A name that another preset already has is refused: the field shakes, and you can type another.
  2. 2 󰜺 Cancel keeps the old name.
  3. 3 󱞥 Rename.

§6.4 󰩹 Deleting a preset

Right-click the preset, choose Delete (or press X), and confirm:

Figure 53. Deleting a preset asks first.
  1. 1 󰜺 No, keep. keeps it.
  2. 2 󰩹 Yes, delete! deletes it. This can’t be undone. Photos you put it on keep their adjustments: a preset is copied onto a photo, not linked.

§7 󰈇 Exporting

Exporting writes your edited photos out as JPEG files, to share or to print: to a folder, or to the clipboard. Your RAW files and sidecars are not touched (Your RAW files are never changed). Both ways are in the Export menu. Files are exported from the 󰕰 Grid, the selected photos; the clipboard also from 󱬠 Develop, the photo you are editing. With nothing selected, SilverNode says so.

§7.1 Exporting to files

Export selected photos as album... Ctrl⌘+E, in the 󰕰 Grid, or Export… in its right-click menu, opens the export panel for the selected photos. Esc closes it without exporting.

Figure 54. The export panel, with three photos selected.
  1. 1 Path: the folder the files go to. It starts as the export_album folder inside the folder you opened (󰝰 Folders SilverNode makes); a folder that doesn’t exist yet is made when you export. If SilverNode can’t use the path, it marks the field and tells you.
  2. 2 What the files are called. With Use original name each file is named like its RAW file, IMG_0412.jpg, and the rest isn’t used. Without, the name is the Prefix, then the Counter, then the Suffix: the counter counts up over the photos in the order they are in the grid, as many Digits as you give it (4 makes 0007), from Start, going up by Step for each photo. Here that is Holiday-0000.jpg, Holiday-0001.jpg, and so on.
  3. 3 Format: JPEG, the format SilverNode writes. Quality, from 1 to 100: how much the file is compressed. Higher is closer to what you see, and a larger file. It starts at the setting JPEG quality in 󰒓 Settings.
  4. 4 Bit depth: how many bits each color channel is stored in. 8 bit, the recommended one, is what nearly every photo needs.
  5. 5 Resize: Full Resolution keeps the photo’s own size. Percentage scales it (5 to 100 %). Fit Longest Edge, Fit Shortest Edge, Fit Width and Fit Height set that side in pixels and let the other follow, so a photo is never stretched. Each shows the field for its number: here, the longer side of every photo becomes 2500 pixels.
  6. 6 Save EXIF metadata: the shooting information the camera recorded, copied into each file. On to start with.
  7. 7 Preview destination paths: the first three files these settings make, with their full paths. Look here before you export.
  8. 8 󰈇 The button starts the export. It says how many photos it is for. The photos are exported one by one in the background, and the panel closes. If one fails, SilverNode tells you.

The photos are rendered at full resolution with your edit, then resized.

§7.2 󰆏 Exporting to the clipboard

To paste photos straight into a chat, a mail or a document, without a file in between: Export selected photos to clipboard... Ctrl⌘+Shift⇧+E, or Export to clipboard in the right-click menu of the 󰕰 Grid.

Figure 55. The clipboard panel.
  1. 1 The same image settings as above: format, quality, bit depth, resize and EXIF. There is no destination, and no names: nothing is written to a folder.
  2. 2 󰈇 Export to Clipboard puts the result on the clipboard, and closes the panel.

What you paste depends on how many photos you exported. One photo goes on the clipboard as a picture: paste it into an image editor, a chat, a document. Several go as files, as if you had copied them in a file manager: paste them into a folder or a mail. They are JPEG files in a temporary folder, named 0000_ and so on, then the RAW file’s name.

§7.3 󰁩 Exporting automatically

Export automatically when leaving a photo, in the Export menu and as the setting Export automatically, exports with no panel. When you move on from a photo in 󱬠 Develop, to another photo or back to the 󰕰 Grid, SilverNode writes it as a JPEG, named like the RAW file, in the export folder next to it, at full size and the JPEG quality setting.

§8 󰕌 Undo and Redo

Whatever you do to your photos, you can take it back. Undo Ctrl⌘+Z undoes the last step, and Redo Ctrl⌘+Shift⇧+Z / Ctrl⌘+Y puts back a step you undid. Both are in the Photo menu, in the part called History, and the menu says which step they act on:

Figure 56. The Photo menu after changing the exposure: Undo Exposure can take the change back; there is nothing to redo yet.
  1. 1 Undo, with the name of the step: here Exposure.
  2. 2 Redo, with the name of the step you undid. It is dimmed while there is nothing to redo.

§8.1 What is a step

A step is one thing you did, however many photos or sliders it touched:

  • Dragging a slider is one step, from when you press until you let go, and so is an adjustment with the keys (󰂫 Adjusting with the keyboard and the mouse), from the key to the click that keeps it. A drag you cancel isn’t a step at all.
  • A command over a selection is one step for all the selected photos: rotating thirty photos, AutoEdit, applying a preset, or Reset All. One Undo takes it back for all of them.
  • Setting or taking away a rating, or marking a photo as rejected (󰓎 Rating and rejecting), is a step too.

Steps are named after what changed: Exposure, Temperature & Tint, Crop, Gradients, Rating, Apply Preset, and so on; when one step changed several adjustments, Several Adjustments. A change that ends up the same as it was leaves no step.

Only changes to the photos are steps: their adjustments, their rating and whether they are rejected. Changing what you see (the selection, the filter, the zoom, the workspace) isn’t, and neither are exporting, settings or making a preset.

§8.2 Where Undo takes you

Undo and Redo go back to where the change was made, so that you see it happen: in 󱬠 Develop they open the photo it was about, and in the 󰕰 Grid they select the same photos again and scroll to them, from anywhere in the folder. The workspace switches too, if you have gone to the other one since.

Undo works through the steps in the opposite order you made them, as far back as the history goes, and Redo goes forward again. As soon as you make a new change, what you could redo is gone.

§8.3 How far back

The history holds the last 100 steps; when it is full, the oldest goes. The setting Undo history length in 󰒓 Settings changes the number, from 1 to 1000. Changing it starts an empty history.

The history lives in memory only. It is emptied when you open a different folder, and gone when you close SilverNode: the edits themselves are saved as usual (The sidecar files), but not the steps to take them back. A step for a photo that is no longer in the folder is skipped.

§9 󰍉 The command palette

Everything SilverNode can do is a command, and the command palette finds any of them by name: no need to know where it lives in the menus, or its key. Open it with Ctrl⌘+Shift⇧+P or F3, or by typing :; the same key closes it again.

Figure 57. The command palette, searching for “copy”.
  1. 2 The selected command. Enter runs it, ↑ and ↓ select another; pointing at a row selects it, and a click runs it.
  2. 3 Where the command sits in the menus.
  3. 4 Its keys, if it has any: next time, press those.

Only the commands you can use right now are listed: those of the workspace you are in, and that apply to what is open. Esc closes the palette without running anything.

§9.1 󰌌 Keyboard shortcuts

Show keyboard shortcuts, in the Help menu, opens the same window as a list of every command with a key in the workspace you are in, to search through in the same way:

The keyboard shortcuts with “rotate” in their name.
Figure 58. The keyboard shortcuts with “rotate” in their name.

§10 󰌵 Tips

SilverNode watches how you work, and when you do something the slow way it offers a short tip about a faster one. A tip isn’t a popup in your way: a light bulb (󰛨) flies from the pointer to the 󰌵 Tips button at the top of the window, and you read it when you like. The tips are worked out while SilverNode runs; nothing about what you do is saved.

§10.1 󰛨 When a tip arrives

The Tips button lights up and counts the tips waiting: 1 tip, 2 tips.

Figure 59. The Tips button, with a tip waiting.
  1. 1 󰛨 Lit, and counting the tips that wait to be read. Click it, or press F1, to read them; with none waiting, it just says Tips.

A tip you have read isn’t offered again for two minutes. One that waits can withdraw: when what you do shows you no longer need it, for instance when you start using the keys it is about.

§10.2 Reading the tips

Besides the button, press F1 or choose Tips in the Help menu. The panel lists all the tips, also the ones that aren’t waiting, so you can read any of them whenever you like.

Figure 60. The tips panel, with a new tip.
  1. 1 󰛨 The tips that are waiting come first, the newest at the top. One that has just arrived has a light bulb before it, and is shown at once.
  2. 2 󰍉 The other tips, dimmed, the ones that fit what you have been doing best first. Click one to read it.
  3. 3 The tip: what to do, and often a little film of the keys and the mouse doing it. Some mark the thing in SilverNode they are about with a frame and an arrow, and some take you to the workspace they are about.
  4. 4 Enable interactive hints: switch it off to get no more tips from SilverNode, and on to get them again. The setting Show usage tips in 󰒓 Settings is the same choice.

Esc, or a click outside the panel, closes it.

§10.3 The tips

TipWhat it teachesOffered after
Edit fasterThe hotkey on the left of each slider: press it, move the mouse, click: see 󰂫 Adjusting with the keyboard and the mouse.You have been dragging sliders in 󱬠 Develop for several seconds.
Edit in batchThe same keys work in the 󰕰 Grid too, on all the selected photos at once: see 󰂫 Adjusting with the keys.You have been adjusting with the keys in 󱬠 Develop for a little while.
Zoom inHold Z to zoom: the zoomed part follows the mouse. Shift⇧+Z locks it: see 󰍉 Zooming in.A while in 󱬠 Develop without zooming.
Escape to see beforeHold Esc to see the photo as it was. Hold it over a group of controls to see it without those effects only: see 󰇉 Seeing the photo before.A long time in 󱬠 Develop without using it.
Double-click to resetA double-click puts a slider back to its default.You have dragged sliders back to their default by hand a few times.
Tab to switch workspacesTab switches between 󰕰 Grid and 󱬠 Develop. So does typing : and then g or d in the command palette.You have clicked the 󰕰 Grid button several times, more than you used the key.

§11 󰔎 The interface

How SilverNode looks, and the language it speaks, are in the Interface part of 󰒓 Settings. SilverNode remembers what you choose. The look changes at once, while you watch.

§11.1 󰖟 Language

SilverNode speaks 19 languages: English, Spanish (Español), French (Français), German (Deutsch), Italian (Italiano), Portuguese (Português), Russian (Русский), Turkish (Türkçe), Serbian (Српски), Croatian (Hrvatski), Macedonian (Македонски), Hungarian (Magyar), Chinese, simplified (简体中文), Dutch (Nederlands), Finnish (Suomi), Swedish (Svenska), Norwegian (Norsk bokmål), Danish (Dansk) and Polish (Polski).

It starts in English. Choose another in the View menu, under 󰖟 Language: each language is listed by its own name and its English name, so you can find yours whichever language is showing.

The languages, in the View menu.
Figure 61. The languages, in the View menu.

The setting Language in 󰒓 Settings is the same choice. Menus, the command palette and dialogs change over right away; the panels that were built when SilverNode started follow the next time it starts. SilverNode remembers the language you chose.

The keys of a command stay the same in every language, and so do your photos’ sidecars: a folder edited in one language opens the same in all others.

§11.2 󰔎 Color scheme

SilverNode comes in a dark and a light color scheme. Choose in the View menu, where Colors: Dark, Colors: Light and Colors: Follow the system are a choice of one, or with the setting Color scheme in the Interface settings.

  • Dark: light text on a dark background.
  • Light: dark text on a light background.
  • Auto in the settings, Follow the system in the menu: whichever the operating system is set to.
The settings in the dark and in the light color scheme. The picture switches by itself every second.DarkLight
Figure 62. The settings in the dark and in the light color scheme. The picture switches by itself every second.

§11.3 󰏘 Accent color

The accent is the color of what you can use and what is on: the buttons, the ticks, the filled part of a slider. The setting Accent hue picks it: a slider from 0 to 1, with the hues it can be as its background, and a value between them is a hue between those. Move it, and the interface follows.

The same settings with two accent hues. The picture switches by itself every second.Accent hue 0.05Accent hue 0.6
Figure 63. The same settings with two accent hues. The picture switches by itself every second.

§11.4 󰘇 Corner roundness

Corner roundness is how round the corners of the buttons, fields and panels are, from 0 px, square, to 10 px, as round as it goes. It starts at 3 px.

The corners at the least and at the most round. The picture switches by itself every second.Roundness 0 pxRoundness 10 px
Figure 64. The corners at the least and at the most round. The picture switches by itself every second.

Two more settings next to it adjust the same: Border thickness, how thick the borders of the buttons and fields are (0 to 2 px), and Interface contrast, how far apart the light and dark tones of the interface sit. They are a matter of taste. Every setting has a button next to it that puts it back to how it came.

§12 󰆍 Miscellaneous

§12.1 Command-line options

Started from a terminal, SilverNode takes a few options. They count for that run only, unless said otherwise; your settings stay as they are.

silvernode [options] [<file or folder>]

On macOS, the program is /Applications/SilverNode.app/Contents/MacOS/SilverNode.

OptionWhat it does
<file or folder>Opens that folder, or the folder of that photo, straight away.
--fullscreenStarts in fullscreen. --fullscreen=<display> picks the display: its number, or (part of) its name.
--list-displaysLists the displays --fullscreen can use, and quits.
--ui-scale=<scale>Sizes the interface, from 0.5 to 3, instead of the Interface scale setting.
--fps=<limit>Limits the frame rate, from 15 to 360, instead of the Frame rate limit setting.
--vk, --glDraws the interface with Vulkan or OpenGL. On Windows also --d3d11 and --d3d12, on macOS --mtl (Metal). Without one, SilverNode chooses. Try another when the window stays black or stutters.
--x11, --wlLinux: opens the window through X11 or Wayland.
--compute=<api>Which API does the heavy computations on the graphics card: CUDA, Metal, D3D12, Vulkan, OpenCL, or CPU for none. auto, the default, tries them in turn.
-v <level>How much SilverNode writes to its log: off, critical, error, warn, info, debug (the default) or trace. Use trace when you report a problem.
-hLists every option, also the ones for developers.

§12.2 Environment variables

A few things SilverNode only reads from an environment variable when it starts: there is no setting or option for them, as you rarely need them. They are mostly for troubleshooting, and all start with SN_.

Set one for a single run of SilverNode:

  • Linux, from a terminal: SN_WORKER_THREADS=4 ./silvernode
  • macOS, from a terminal: SN_WORKER_THREADS=4 /Applications/SilverNode.app/Contents/MacOS/SilverNode
  • Windows, in a command prompt: set SN_WORKER_THREADS=4, then start SilverNode from that same prompt.
VariableWhat it does
SN_COMPUTE_APIThe same as --compute, and it wins over it. Upper or lower case doesn’t matter.
SN_FORCE_RAW_DECODERWhich decoder reads the RAW files: rawspeed or libraw, and only that one (see How a file is read). neonraw is SilverNode’s own decoder, still in the making and for Nikon NEF files only. Handy to find out whether a photo that doesn’t load, or looks wrong, is down to one decoder.
SN_WORKER_THREADSHow many threads do the work in the background. By default, half the number of logical processor cores (at least one).
SN_MAX_CONCURRENT_PHOTOSHow many photos are loaded at full resolution at the same time, from 1 to 32. By default, half the number of worker threads, and at least two. Lower it when your computer runs out of memory with large photos.
SN_NO_ASSERT_DIALOGAny number other than 0: when SilverNode runs into an internal error, it doesn’t show the “Critical SilverNode error” dialog. The error is written to the log either way. For unattended runs.