Variablen

darktable unterstützt Variablen Substitution in einer Anzahl von Modulen und Voreinstellungen. Zum Beispiel:

🔗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.EXPOSURE.PROGRAM)   Exif exposure program set in camera
$(EXIF.APERTURE)           Exif aperture
$(EXIF.CROP_FACTOR)        Exif crop factor
$(EXIF.FLASH)              Exif flash setting
$(EXIF.FLASH.ICON)         flash symbol if Exif information says flash was fired, empty string if not
$(EXIF.FOCAL.LENGTH)       Exif focal length
$(EXIF.FOCAL.LENGTH.EQUIV) Exif 35 mm equivalent focal length
$(EXIF.FOCUS.DISTANCE)     Exif focus distance
$(EXIF.LENS)               Exif lens name
$(EXIF.MAKER)              Exif camera maker
$(EXIF.METERING)           Exif metering mode
$(EXIF.MODEL)              Exif camera model
$(EXIF.WHITEBALANCE)       Exif white balance set in camera
$(IMAGE.EXIF)              basic exposure information from Exif data (aperture, exposure, ISO)
$(IMAGE.ID)                the image id (note that this will be 0 during copy&import)
$(IMAGE.ID[n])             the image id (note that this will be 0 during copy&import), zero-padded to n digits
$(IMAGE.ID.NEXT)           the next image id to be assigned (can be used during copy&import)
$(IMAGE.ID.NEXT[n])        the next image id to be assigned (can be used during copy&import), zero-padded to n digits
$(IMAGE.TAGS)              tags list (Xmp.dc.Subject), with any hierarchy flattened
$(IMAGE.TAGS.HIERARCHY)    tags list (Xmp.dc.Subject), preserving hierarchy
$(LONGITUDE)               longitude
$(LATITUDE)                latitude
$(ELEVATION)               elevation
$(GPS.ELEVATION)           elevation
$(GPS.LATITUDE)            latitude
$(GPS.LONGITUDE)           longitude
$(GPS.LOCATION)            latitude, longitude, and elevation (omitting any values which are not set)
$(GPS.LOCATION.ICON)       symbol to indicate that geolocation information is present, empty string if not
$(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 vareine 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>

translations