Speciale onderwerpen

Transitioning from darktable to Ansel

What was removed from mainstream darktable

Features

The tethering view 
It relies on the lib GPhoto2 which is super brittle and buggy. The tethering view is merely a GUI over Gphoto2, much like Entangle . The problem is GPhoto2 is known to break something different at each new release, so it’s simply not worth the trouble to maintain a GUI over a Schrödinger cat. Use Entangle if you need to.
The easter egg video game
Not funny if you happen to be with a client on April 1st and your working app opens on a silly game that can’t even be closed with Ctrl+Q. (Yes, it happened to me).
The histogram overlay control for exposure and black level 
It’s too easy to inadvertently mess up exposure when cycling through scopes (especially with a Wacom tablet) and it adds unnecessary GUI motion events and redraws. In cases of multiple instances of exposure module, it is automatically linked to the controls of the last instance, which is generally wrong because it is typically masked.
The new filtering option
A beautiful shit made of 6300 lines of bloat and still counting, that needs a screen-reader to understand WTF those icons mean, supposed to fix a problem nobody had with something that adds bugs and trouble. That thing is the poster case of everything that’s wrong in Geektable 4.0. It should be called a regression. The same feature is achieved in Ansel with about 580 lines of code. And to say that the new filtering started as a refactoring project… Never let the darktable idiots refactor anything, it’s too dangerous.
The stars rating  toolbar in lighttable
It’s redundant with overlays and requires to travel too far with the cursor to set it. Use overlays with cursor or key shortcuts to set stars.
The timeline 
terrible code and a huge loss of CPU cycles for a niche feature that essentially serves no purpose. This was responsible for way too many SQL requests and removing it is responsible for most of the GUI responsiveness improvement.
The main window borders with collapsing arrows / silly cycling through headers
The borders marked with arrows allow to collapse or expand the GUI panels. But they waste space, are typically too narrow for many displays, and tend to reappear when you don’t want them because their state is defined per view. For now, collapsing side-bars can be achieved with Ctrl + Shift + L(eft), Ctrl + Shift + R(ight), top bar with Ctrl + Shift + T(op) and bottom bar with Ctrl + Shift + B(ottom). In the future, a global menu (you know, like in any app since 1990) will take care of that with a view menu.
The silly cycling through all the possible combinations of headers and bottoms that happened when hitting Ctrl + Shift + T(op) or Ctrl + Shift + B(ottom) has been completly removed. Ctrl + Shift + T(op) toggles the top toolbar only and leaves the main header unchanged (use Ctrl + H(eader) to toggle it). Ctrl + Shift + B(ottom) toggles the bottom toolbar only and leaves the filmstrip unchanged (use Ctrl + F(ilmstrip) to toggle it).
Removing the borders allowed to increase the width of the sidebars scrolling sliders for better interaction.
The second darkroom window 
darktable is slow enough with 2 pipelines (thumbnail & preview), a third one is not realistic. This should have been the main preview redirected to another window but the code has been hastily hacked by copy-pasting, it’s terrible. Also there is no traceability on which display profile will be used, good luck with that.
The block and timeout overlay mode in lighttable
terrible code for another niche feature that nobody tests until bug appear on the issue tracker that will be answered with “it works on my computer”.
The extended overlays mode for thumbnails
each of the EXIF metadata display triggered its own SQL request per-thumbnail, because no cache was used, because the guy who coded that doesn’t learn or doesn’t care, but such a loss of CPU cycles is inacceptable.
The non-dynamic culling mode and the zoomable lighttable view
They are not really used and need a lot of spaghetti code to be handled.
The dark and icon themes
dark themes trigger all sorts of unwanted visual illusions that make color assessment impossible. Their use is discouraged everywhere on darktable’s doc but they are still there.
The ability to assign keyboard shortcuts to Gtk notebook tabs, as well as switching tabs by mouse scroll.
Just because you can doesn’t mean you should, and capturing mouse scroll on inner tabs messes up with sidebar scrolling (you know, the regular scolling over content that doesn’t fit in the viewport).
The VIM-style shortcuts
I bet you never knew, but if you start typing : in darktable, followed by a command, you can trigger stuff. This feature has never documented and the available features are really limited, but that still listens to all keystrokes to check if it should capture them.
The histogram profile
That thing is coded by copy-pasting the display code, instead of writing reusable functions. It wouldn’t be that bad if it wasn’t completely misleading and actually broke the over-exposure alert (because, yes, it’s used there too). Because the histogram is captured at the far end of the pipeline, in display color space, it might be already clipped to display gamut. Say you use Rec2020 space as the histogram profile, because it’s the working space, what you see is RGB clipped to display space then rescaled to Rec2020, which means your clipping peak will not be at the far end of the graph, where you expect it. The result is highly misleading and voids the whole principle of a scope. That’s just a whole pile of crap coded by people who have no idea of what a graphic pipeline is and hack small bits here and there because the concept of “modules” fooled them. They might be modular, but they still apply in sequence in the pipeline, so better check your inputs.
Warning messages in modules
I’m responsible for that stupidity. The warning messages were supposed to tell users they are doing things not really intended by the designer (for example, using 2 different steps of white balance correction) and to ask them to double-check if that’s really what they wanted. That backfired badly because users don’t get the difference between an error and an alert, so even when instructed to use 2 white balances (for example, a custom-corrected raw WB), they would get afraid by the “error” and annoy me with questions. Given that this feature is clearly not helping anybody, and did not trigger the expected behaviour (that is, RTFM), there is no point in keeping it. The option to hide them is removed as well.
Favourite presets button
There was this favourite presets button at the left of the bottom panel in darkroom, and I found nobody who ever used it. In fact, most people who I asked did not ever know it even existed. So it’s gone.
Importing from camera
darktable has a way to mount the camera file system (SD or CF memory cards) through USB, using the library GPhoto2. But the desktop environment is also be able to mount the camera as a local hard drive using PTP and/or MTP protocol, possibly also through Gphoto2. In that case, darktable and the OS may compete for access to the USB media, so you need to unmount it first from the OS to be able to open it from darktable. On Windows, you even need to install custom USB drivers to make it work with GPhoto2, but these drivers will prevent the camera to work with the OS until you completly remove and reset them. So this feature is completely removed, and Ansel loads memory cards as USB media through the OS mounts. To enable this, you may have to install Linux packages such as libmtp, linuxptp, libptp, libgphoto2 and possibly gphoto2. For your desktop environnment, you may install kio-mtp and kio-extras on KDE or gvfs-mtp and gvfs-gphoto2 on Gnome. In any case, you are advised to simply use an SD of CF card reader, it’s cheap and prevents most issues that can arise from udev and cameras connected through USB.

Overall, 5 to 6 SQL requests per thumbnail per “mouse over” event are now spared, due to the features removed (which still lets 3 requests…, aka 2 more than what should be).

variabelen

Ansel ondersteunt variabele vervanging in een aantal modules en voorkeursinstellingen. Bijvoorbeeld:

beschikbare variabelen

De volgende variabelen zijn beschikbaar, hoewel ze mogelijk niet allemaal in elke context van toepassing zijn:

Ansel's kleurenpijplijn

De meeste beeldverwerkingstoepassingen stammen uit de jaren 90 en/of erven een werkvolgorde uit de jaren 90. Deze toepassingen verwerkten afbeeldingen die waren gecodeerd met 8-bits gehele getallen zonder teken omdat het geheugen- en rekenkundig efficiënter was. Vanwege het gebruik van een gehele-getallen-formaat (wat afrondingsfouten impliceert) moesten ze een “gamma” toepassen (in wezen een overdrachtsfunctie die een macht 1/2.2 of 1/2.4 toepast om de RGB-waarden te coderen) en de bit- diepte in de schaduwen verhoigen om afrondingsfouten te verminderen (mensen zijn erg gevoelig voor details bij weinig licht). De 8-bits gehele-getallen-indelingen zijn ook technisch beperkt tot het bereik van 0-255. Alles buiten dit bereik loopt over en wordt afgeknipt naar de dichtstbijzijnde grens.

ondersteuning voor midi-apparaten

Het snelkoppelingssysteem is het meest uitgebreid getest met de Behringer X-Touch Mini en bevat aangepaste code voor de specifieke functies van dit apparaat. Alle andere apparaten worden behandeld als “generieke midi” en kunnen al dan niet (goed) werken of moeten elke keer handmatig worden ingesteld. Een configuratieframework (mogelijk in lua) om aanvullende apparaatspecifieke functies te ondersteunen, staat op de takenlijst.

If you succeed in getting a midi device up and running that hasn’t been mentioned below, it would be greatly appreciated if you would provide feedback in order to assist others, if any special steps are required. You could do this either by submitting a documentation pull request  to amend this page or by filing an issue  containing the necessary information. Alternatively you could read or respond to any of the (closed) midi or “inputng” issues  or pull requests  in the main darktable repository if you need additional help or guidance yourself.

dtdocs vertalen

Translation of the darktable documentation is done via our Weblate instance .

Je kan de web-UI van Weblate gebruiken om de documentatie te vertalen of de vertaling van Weblate naar jouw computer downloaden, bewerken en vervolgens de wijzigingen uploaden.

Doe al het vertaalwerk via Weblate. We accepteren geen pull-verzoeken rechtstreeks op github om PO-bestanden bij te werken.

Een nieuwe branch maken in git

  1. Make a new branch to work on it in git. For example: git checkout -b fr-translation-init

Een nieuwe taal toevoegen aan Hugo

  1. In the files config.yaml and config-pdf.yaml, locate the languages: line.
  2. Add the language you wish to translate. For example, the English looks like this:
    1  en-us:
    2    title: darktable 3.4 user manual

date: 2022-12-04T02:19:02+01:00 weight: 1

Search

You can also ask Chantal, the AI search engine.