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)               Filmrolle des Eingangsbilds
$(FILE.FOLDER)             Verzeichnis des Eingangsbilds
$(FILE.NAME)               Dateiname (ohne Erweiterung) des Eingangsbilds
$(FILE.EXTENSION)          Erweiterung des Eingangsbilds
$(ID)                      die Bild-ID
$(VERSION)                 die Versionsnummer des Duplikats
$(VERSION.IF_MULTI)        wie $(VERSION), für ein Bild ohne Duplikate eine Null
$(VERSION.NAME)            Versionsname gemäss Metadaten
$(DARKTABLE.VERSION)       Version der laufenden darktable-Installation
$(DARKTABLE.NAME)          Name der darktable-Installation
$(SEQUENCE)                eine fortlaufende Nummer in einem Exportvorgang
$(WIDTH.SENSOR)            Weite der RAW-Daten in Pixel vor einem RAW-Beschnitt
$(HEIGHT.SENSOR)           Höhe der RAW-Daten in Pixel vor einem RAW-Beschnitt
$(WIDTH.RAW)               Weite der RAW-Daten in Pixel nach einem RAW-Beschnitt
$(HEIGHT.RAW)              Höhe der RAW-Daten in Pixel nach einem RAW-Beschnitt
$(WIDTH.CROP)              Bildweite in Pixel am Ende der Pixel-Pipeline, aber vor einer Änderung beim Export
$(HEIGHT.CROP)             Bildhöhe in Pixel am Ende der Pixel-Pipeline, aber vor einer Änderung beim Export
$(WIDTH.EXPORT)            Bildweite des exportierten Bilds in Pixel 
$(HEIGHT.EXPORT)           Bildhöhe des exportierten Bilds in Pixel 
$(WIDTH.MAX)               im Export-Modul eingegebene maximale Weite
$(HEIGHT.MAX)              im Export-Modul eingegebene maximale Höhe
$(YEAR)                    Jahr aus Import-/Exportdatum
$(YEAR.SHORT)              zweistelliges Jahr aus Import-/Exportdatum
$(MONTH)                   numerischer (1-12) Monat aus Import-/Exportdatum
$(MONTH.LONG)              Monatsname aus Import-/Exportdatum
$(MONTH.SHORT)             abgekürzter Monatsname aus Import-/Exportdatum
$(DAY)                     Tag aus Import-/Exportdatum
$(HOUR)                    Stunde der Uhrzeit aus Import-/Exportdatum
$(MINUTE)                  Minuten der Uhrzeit aus Import-/Exportdatum
$(SECOND)                  Sekunden der Uhrzeit aus Import-/Exportdatum
$(MSEC)                    Millisekunden der Uhrzeit aus Import-/Exportdatum
$(EXIF.YEAR)               EXIF-Jahr
$(EXIF.YEAR.SHORT)         zweistelliges EXIF-Jahr
$(EXIF.MONTH)              numerischer EXIF-Monat
$(EXIF.MONTH.LONG)         EXIF-Monatsname
$(EXIF.MONTH.SHORT)        abgekürzter EXIF-Monatsname
$(EXIF.DAY)                EXIF-Tag
$(EXIF.HOUR)               EXIF-Stunde
$(EXIF.MINUTE)             EXIF-Minute
$(EXIF.SECOND)             EXIF-Sekunde
$(EXIF.MSEC)               EXIF-Millisekunde
$(EXIF.DATE.REGIONAL)      EXIF-Datum im voreingestellten regionalen Datumsformat
$(EXIF.TIME.REGIONAL)      EXIF-Zeit im voreingestellten regionalen Datumsformat
$(EXIF.ISO)                EXIF-ISO-Wert
$(EXIF.EXPOSURE)           EXIF-Belichtungszeit
$(EXIF.EXPOSURE.BIAS)      EXIF-Belichtungskorrektur (bei der Aufnahme)
$(EXIF.APERTURE)           EXIF-Blendenzahl
$(EXIF.CROP_FACTOR)        EXIF-Crop-Faktor
$(EXIF.FOCAL.LENGTH)       EXIF-Brennweite
$(EXIF.FOCAL.LENGTH.EQUIV) Kleinbild-äquivalente Fokusentfernung aus EXIF
$(EXIF.FOCUS.DISTANCE)     EXIF-Fokusentfernung
$(IMAGE.EXIF)              Basisbelichtungsinformationen aus EXIF-Daten (Blende, Belichtungszeit, ISO)
$(LONGITUDE)               Längengrad
$(LATITUDE)                Breitengrad
$(ELEVATION)               Höhe
$(GPS.LOCATION)            Längen-, Breitengrad und Höhe (ohne ungesetzte Werte)
$(STARS)                   Bewertung (nur Text)
$(RATING.ICONS)            Bewertung (verwendet Sternchen)
$(LABELS)                  Farb-Label (als Text)
$(LABELS.ICONS)            Farb-Label (als Icons)
$(MAKER)                   Kamerahersteller
$(MODEL)                   Kameramodell
$(LENS)                    Objektiv
$(TITLE)                   Titel aus Metadaten
$(DESCRIPTION)             Beschreibung aus Metadaten
$(CREATOR)                 Ersteller aus Metadaten
$(PUBLISHER)               Herausgeber aus Metadaten
$(RIGHTS)                  Urheberrechte aus Metadaten
$(TAGS)                    Tag-Liste (Xmp.dc.Subjekt)
$(CATEGORYn(category))     Name des Tags auf Ebene n [0,9] der ausgewählten Kategorie (oder Tag)
$(SIDECAR_TXT)             Text der XMP-Begleitdatei zum Bild (sofern vorhanden)
$(FOLDER.PICTURES)         Bilder-Verzeichnis ("Pictures")
$(FOLDER.HOME)                    Nutzer-Verzeichnis ("User")
$(FOLDER.DESKTOP)                 Desktop-Verzeichnis
$(OPENCL.ACTIVATED)        OpenCL aktiv? (ja/nein)
$(USERNAME)                Benutzername laut Betriebssystem
$(NL)                      Zeilenumbruch
$(JOBCODE)                 interne Name des aktuellen Auftrags ("Job-Kode")

🔗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