Variablen
darktable unterstützt Variablen Substitution in einer Anzahl von Modulen und Voreinstellungen. Zum Beispiel:
-
Dateinamen Vorlagen im Modul Export
-
Anzeigen von Bildinformationen in der Ansicht Dunkelkammer Beschriftung Bildinformationszeile
-
Schema der Kurzinformationen beim Überfahren der Vorschaubilder mit der Maus (siehe darktable-Voreinstellungen> Leuchttisch)
-
Platzieren von Text auf einem Bild dem Dunkelkammer-Modul Wasserzeichen.
🔗Verfügbare Variablen
Die folgenden Variablen sind verfügbar, obwohl diese nicht in jedem Kontext anwendbar sind:
$(ROLL.NAME) film roll of the input image
$(FILE.FOLDER) folder containing the input image
$(FILE.NAME) basename of the input image
$(FILE.EXTENSION) extension of the input image
$(ID) the image id
$(VERSION) the duplicate version number
$(VERSION.IF_MULTI) same as $(VERSION) but null string if only one version exists
$(VERSION.NAME) version name from metadata
$(DARKTABLE.VERSION) the version of the running darktable instance
$(DARKTABLE.NAME) name of darktable
$(SEQUENCE[n,m]) a sequence number within an export job with n digits and starting with m
parameters are optional, default is [4,1]
$(WIDTH.SENSOR) width of RAW data in pixels before RAW crop
$(HEIGHT.SENSOR) height of RAW data in pixels before RAW crop
$(WIDTH.RAW) width of RAW data in pixels after RAW crop
$(HEIGHT.RAW) height of RAW data in pixels after RAW crop
$(WIDTH.CROP) image width in pixels at the end of the pixelpipe, but before export resize
$(HEIGHT.CROP) image height in pixels at the end of the pixelpipe, but before export resize
$(WIDTH.EXPORT) image width in pixels at the end of the pixelpipe and after export resize
$(HEIGHT.EXPORT) image height in pixels at the end of the pixelpipe and after export resize
$(WIDTH.MAX) maximum width entered in export module
$(HEIGHT.MAX) maximum height entered in export module
$(YEAR) year at date of import/export
$(YEAR.SHORT) two-digit year at date of import/export
$(MONTH) numeric (1-12) month at date of import/export
$(MONTH.LONG) full month name at date of import/export
$(MONTH.SHORT) abbreviated month name at date of import/export
$(DAY) day at date of import/export
$(HOUR) hour at time of import/export
$(MINUTE) minute at time of import/export
$(SECOND) second at time of import/export
$(MSEC) millisecond at time of import/export
$(EXIF.YEAR) Exif year
$(EXIF.YEAR.SHORT) Exif year, two-digit version
$(EXIF.MONTH) Exif month, numeric
$(EXIF.MONTH.LONG) Exif month, full name
$(EXIF.MONTH.SHORT) Exif month, abbreviated name
$(EXIF.DAY) Exif day
$(EXIF.HOUR) Exif hour
$(EXIF.MINUTE) Exif minute
$(EXIF.SECOND) Exif second
$(EXIF.MSEC) Exif millisecond
$(EXIF.DATE.REGIONAL) Exif date using user's preferred regional date format
$(EXIF.TIME.REGIONAL) Exif time using user's preferred regional date format
$(EXIF.ISO) Exif ISO value
$(EXIF.EXPOSURE) Exif exposure
$(EXIF.EXPOSURE.BIAS) Exif exposure bias
$(EXIF.APERTURE) Exif aperture
$(EXIF.CROP_FACTOR) Exif crop factor
$(EXIF.FOCAL.LENGTH) Exif focal length
$(EXIF.FOCAL.LENGTH.EQUIV) Exif 35 mm equivalent focal length
$(EXIF.FOCUS.DISTANCE) Exif focus distance
$(IMAGE.EXIF) basic exposure information from Exif data (aperture, exposure, ISO)
$(LONGITUDE) longitude
$(LATITUDE) latitude
$(ELEVATION) elevation
$(GPS.LOCATION) latitude, longitude, and elevation (omitting any values which are not set)
$(STARS) star rating (text only)
$(RATING.ICONS) star rating (using star characters)
$(LABELS) colorlabels (color labels as text)
$(LABELS.ICONS) colorlabels (color labels as icons)
$(MAKER) camera maker
$(MODEL) camera model
$(LENS) lens
$(TITLE) title from metadata
$(DESCRIPTION) description from metadata
$(CREATOR) creator from metadata
$(PUBLISHER) publisher from metadata
$(RIGHTS) rights from metadata
$(TAGS) tags list (Xmp.dc.Subject)
$(CATEGORY[n,category]) tag name of level n [0,9] of selected category (or tag)
$(SIDECAR_TXT) content of the text sidecar file (if any)
$(FOLDER.PICTURES) pictures folder
$(FOLDER.HOME) home folder
$(FOLDER.DESKTOP) desktop folder
$(OPENCL.ACTIVATED) whether OpenCL is activated
$(USERNAME) user name defined by OS
$(NL) newline character
$(JOBCODE) internal jobcode of current job
🔗String Substitution
Alle Variablen unterstützen eine grundlegende String Substitution, inspiriert durch Bash, obwohl einige der Details abweichen.
Alle Muster werden als einfache Vergleiche behandelt. Es gibt keinen Regex Support.
Die folgenden String Ersatz-Funktionen sind vorgesehen, wo var
eine der Variablen ist in der obigen Liste:
$(var-default) Gibt "default" zurück, wenn Variable var nicht belegt ist.
"default" kann mit Hilfe einer anderen Variablen definieren werden, z. B.
$(WIDTH.CROP-$(WIDTH.RAW))
$(var+alt_value) Gibt "alt_value" zurück, wenn var belegt ist, sonst die leere Zeichenkette.
$(var:offset) Gibt var ab Zeichen "offset" zurück.
Ist "offset" negativ, wird vom Ende der Zeichenkette rückwärts gezählt.
$(var:offset:length) Gibt var ab "offset" maximal "length" Zeichen zurück.
Ist "offset" negativ, wird vom Ende der Zeichenkette rückwärts gezählt.
Ist "length" negativ, ist es das Ende des Ergebnisses
vom Ende von var gezählt, und keine tatsächliche Länge.
$(var#pattern) Entfernt die Zeichenkette "pattern" am Anfang von var.
$(var%pattern) Entfernt die Zeichenkette "pattern" am Ende von var.
$(var/pattern/replacement) Ersetzt die erste Fundstelle der Zeichenkette "pattern" in var durch "replacement".
Ist "replacement" nicht definiert, wird "pattern" entfernt.
$(var//pattern/replacement) Ersetzt alle Fundstellen der Zeichenkette "pattern" in var durch "replacement".
Ist "replacement" nicht definiert, wird "pattern" entfernt.
$(var/#pattern/replacement) Beginnt var mit der Zeichenkette "pattern", wird "pattern" durch "replacement" ersetzt.
$(var/%pattern/replacement) Endet var mit der Zeichenkette "pattern", wird "pattern" durch "replacement" ersetzt.
$(var^) Konvertiert das erste Zeichen in var in einen Großbuchstaben.
$(var^^) Konvertiert alle Zeichen in var in Großbuchstaben.
$(var,) Konvertiert das erste Zeichen in var in einen Kleinbuchstaben.
$(var,,) Konvertiert alle Zeichen in var in Kleinbuchstaben.
🔗Formatierung
Die Schema für die Bildinformationen unterstützen Markup. Im folgenden Beispiel wird eine klare Warnung gezeigt (großgeschriebener, roter, fetter Text), wenn OpenCL nicht richtig initialisiert wurde:
<span alpha='1%'>$(OPENCL_ACTIVATED/no/<span foreground='red' weight='heavy' size='xx-large' alpha='100%'>OPENCL ACTIVATION FAILED</span>$(NL))</span>