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. 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. 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. Point at a folder, and the Open button shows on its row: click it. You can also drag photos from your computer’s file manager (Explorer, Finder, Files, File Pilot, …) onto the window of SilverNode: The Grid shows the photos of the folder as tiles. 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. 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. 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). 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. 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. 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. A folder of photos after working in it with SilverNode: 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. Every photo you change gets a sidecar: a small file with the photo’s name and the extension 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. 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. Only when you ask for it: 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. 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. When SilverNode opens a RAW file, it asks two decoders, one after the other: 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. A camera that the decoders read can still fall outside what SilverNode does. It needs: 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. A file that SilverNode can’t read shows in the Grid as a tile with a crossed-out picture, and the reason in red: The other photos of the folder are not affected. Usually a file that SilverNode can’t read is one of these: 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. 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 ( 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. 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). 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 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: 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. 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: 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. 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. With the filter as in the figure, only the photos with four or five stars are left: 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. The grouping list in the toolbar (7) splits the Grid into groups with a title: The jump buttons in the toolbar (8) scroll to the previous or next group: quicker than scrolling through a long folder. Right-click a photo for a round menu of what you can do with the selected photos: move towards an item and click. 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. 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. 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. 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. The whole drag is one step to undo for all the photos, and a cancel puts every one of them back. 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. 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. 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. 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. 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. 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. 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 Z once, or Shift⇧+Z again, to fit the photo again. 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. In the Grid, Esc does the same for every photo at once. 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. Anywhere else, over the photo or the rest of the panel, Esc shows the whole before. 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. 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. 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. 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. 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. 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. 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). Sharpening starts at a low strength, and color denoising at 80 %, because most photos need a little of both. 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. 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. 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. Tick Advanced for a closer look at how the white balance works: 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. 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. 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. 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: 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). Three symbols stand before what describes a lens, here and wherever lenses are listed: 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. 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. If the first one isn’t your lens, pick yours from the list. 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: 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. 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: 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: The The 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. 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. 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: 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. With a gradient selected, the gradient panel shows its adjustments. They change the photo only where the gradient is. 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. 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. The same four are in the command palette, as Gradient: Delete and so on. 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. 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: The preset shows up in the presets panel: Shift⇧+A opens and folds the presets panel. 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. Right-click the preset to open its menu: Type the new name, and press Enter or click Rename: Right-click the preset, choose Delete (or press X), and confirm: 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. 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. The photos are rendered at full resolution with your edit, then resized. 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. 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 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 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: A step is one thing you did, however many photos or sliders it touched: 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. 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. 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. 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. 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. 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: 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. The Tips button lights up and counts the tips waiting: 1 tip, 2 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. 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. Esc, or a click outside the panel, closes it. 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. 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 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. 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. 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. 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. 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. Started from a terminal, SilverNode takes a few options. They count for that run only, unless said otherwise; your settings stay as they are. On macOS, the program is 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 Set one for a single run of SilverNode:§1 Quick start
§1.1 1. Open a folder
§1.1.1 Or drag photos in
§1.2 2. Pick a photo in the Grid
§1.3 3. Edit it in Develop
§1.4 4. Edit more than one photo
§1.5 5. Export
§1.6 And then
§2 Your photos stay in their folders
§2.1 What is in a folder
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
§2.1.2 The sidecar files
.sna, in the same folder. It holds:§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.§2.2 Folders SilverNode makes
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
§3 Camera support
§3.1 How a file is read
§3.2 What SilverNode needs of a camera
§3.3 When a photo doesn’t load
§3.4 Adding a camera yourself
-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.§3.5 Your camera and your lens
§4 Grid
§4.1 Grid at a glance
§4.2 Selecting photos
§4.3 Quick preview
§4.4 Rating and rejecting
§4.5 Grid toolbar
§4.6 Filtering
§4.7 Grouping
§4.8 The right-click menu
§4.9 AutoEdit
§4.9.1 Applying AutoEdit
§4.9.2 Teaching AutoEdit
§4.10 Adjusting with the keys
§5 Develop
§5.1 Develop at a glance
§5.2 The right-click menu
§5.3 Zooming in
§5.3.1 Keeping the zoom
§5.4 Seeing the photo before
EditedEsc held
§5.4.1 One adjustment at a time
EditedEsc held over Saturation
The pointer is over What switches off The Color Correction heading The white balance and the exposure. Temperature or Tint The white balance. Exposure or White Level The exposure. The Style heading The style adjustments: contrast, texture, curves, the color wheels, saturation and the rest. One of those, such as Contrast or Saturation Only that adjustment. Sharpening, Color Denoise, or the Quality & Detail heading The sharpening and the denoising. The Crop & Straighten heading or one of its controls The crop: rotation, perspective, move, aspect ratio and crop-in. §5.5 Adjusting with the keyboard and the mouse
§5.5.1 The keys
Key Adjusts Keys during the drag E Exposure Shift⇧+E White Level T Temperature and Tint, a pair C Contrast and Contrast Locality, a pair; Contrast Turning Point F the pair, R Turning Point V Saturation S Sharpening Strength and Radius, a pair D Color Denoise Strength and Radius, a pair Shift⇧+D Noise Amplitude W The Shadows, Midtones and Highlights color wheels R Shadows, F Midtones, V Highlights Q Hue and saturation of the red, green and blue primaries: a pair each R red, F green, V blue R Rotation, Perspective, Move and Crop-In R Rotation, C Perspective, G Move, S Crop-In §5.5.2 While you drag
§5.5.2.1 Cropping with the keys
§5.5.3 Pairs: the behaviour setting
Behaviour First value Second value Both sliders at once: Vertical and horizontal mouse motion (the default, recommended) up and down sideways Both sliders at once: Mouse motion and scrolling the mouse the scroll wheel One slider at a time: Mouse motion and holding Shift to access the secondary slider the mouse Shift held, the mouse One slider at a time: Switch between sliders in pairs by repeating the same key the mouse press the pair’s key again, then the mouse One slider at a time: Dedicated keys for sliders in pairs the mouse its own key, then the mouse §5.6 The adjustments
§5.6.1 Quality & Detail
§5.6.2 Crop & Straighten
§5.6.2.1 The aspect ratio flip button
3:2Flipped: 2:3
§5.6.3 Color Correction
§5.6.3.1 Highlight reconstruction
§5.6.3.2 The advanced white balance
§5.6.4 Style
§5.6.4.1 Color balance
§5.6.4.2 Detail and tone
§5.6.4.3 Contrast
§5.6.4.4 Primary calibration and saturation
§5.6.4.5 Hue, saturation and luminance
§5.6.5 Lens correction
Corrections offCorrections on
§5.6.5.1 Why the lens has to be chosen
§5.6.5.2 Letting SilverNode pick the lens
§5.6.5.3 How well a lens matches
§5.6.5.3.1 One lens, several mounts
§5.6.5.4 Choosing from all the lenses
§5.6.5.5 If your lens is not in the list
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.<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>
<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.<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.§5.7 Gradients
§5.7.1 A linear gradient
§5.7.2 A radial gradient
§5.7.3 Adjusting a gradient
§5.7.4 The gradient menu
§6 Presets
§6.1 Creating a preset
§6.2 Putting a preset on photos
§6.3 Renaming a preset
§6.4 Deleting a preset
§7 Exporting
§7.1 Exporting to files
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.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.§7.2 Exporting to the clipboard
0000_ and so on, then the RAW file’s name.§7.3 Exporting automatically
export folder next to it, at full size and the JPEG quality setting.§8 Undo and Redo
§8.1 What is a step
§8.2 Where Undo takes you
§8.3 How far back
§9 The command palette
edit.copy_adjustments) is found too.§9.1 Keyboard shortcuts
§10 Tips
§10.1 When a tip arrives
§10.2 Reading the tips
§10.3 The tips
Tip What it teaches Offered after Edit faster The 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 batch The 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 in Hold 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 before Hold 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 reset A 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 workspaces Tab 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
§11.1 Language
§11.2 Color scheme
DarkLight
§11.3 Accent color
Accent hue 0.05Accent hue 0.6
§11.4 Corner roundness
Roundness 0 pxRoundness 10 px
§12 Miscellaneous
§12.1 Command-line options
silvernode [options] [<file or folder>]
/Applications/SilverNode.app/Contents/MacOS/SilverNode.Option What 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
SN_.SN_WORKER_THREADS=4 ./silvernodeSN_WORKER_THREADS=4 /Applications/SilverNode.app/Contents/MacOS/SilverNodeset SN_WORKER_THREADS=4, then start SilverNode from that same prompt.Variable What 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.