variables

darktable prend en charge la substitution de variables dans un certain nombre de modules et dans les préférences. Par exemple :

🔗variables disponibles

Les variables suivantes sont disponibles, bien qu’elles ne soient pas toutes applicables dans tous les contextes :

$(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
$(SEQUENCE)                a sequence number within an export job
$(SENSOR_WIDTH)            width of RAW data in pixels before RAW crop
$(SENSOR_HEIGHT)           height of RAW data in pixels before RAW crop
$(RAW_WIDTH)               width of RAW data in pixels after RAW crop
$(RAW_HEIGHT)              height of RAW data in pixels after RAW crop
$(CROP_WIDTH)              image width in pixels at the end of the pixelpipe, but before export resize
$(CROP_HEIGHT)             image height in pixels at the end of the pixelpipe, but before export resize
$(EXPORT_WIDTH)            image width in pixels at the end of the pixelpipe and after export resize
$(EXPORT_HEIGHT)           image height in pixels at the end of the pixelpipe and after export resize
$(MAX_WIDTH)               maximum width entered in export module
$(MAX_HEIGHT)              maximum height entered in export module
$(YEAR)                    year at date of export
$(MONTH)                   month at date of export
$(DAY)                     day at date of export
$(HOUR)                    hour at time of export
$(MINUTE)                  minute at time of export
$(SECOND)                  second at time of export
$(EXIF_YEAR)               Exif year
$(EXIF_MONTH)              Exif month
$(EXIF_DAY)                Exif day
$(EXIF_HOUR)               Exif hour
$(EXIF_MINUTE)             Exif minute
$(EXIF_SECOND)             Exif second
$(EXIF_ISO)                ISO value
$(EXIF_EXPOSURE)           Exif exposure
$(EXIF_EXPOSURE_BIAS)      Exif exposure bias
$(EXIF_APERTURE)           Exif aperture
$(EXIF_FOCAL_LENGTH)       Exif focal length
$(EXIF_FOCUS_DISTANCE)     Exif focus distance
$(LONGITUDE)               longitude
$(LATITUDE)                latitude
$(ELEVATION)               elevation
$(STARS)                   star rating (text only)
$(RATING_ICONS)            star rating (using star characters)
$(LABELS)                  colorlabels (text only)
$(LABELS_ICONS)            colorlabels (using colored bullet characters)
$(LABELS_COLORICONS)       colorlabels (using colored 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)
$(CATEGORYn(category))     tag name of level n [0,9] of selected category (or tag)
$(SIDECAR_TXT)             content of the text sidecar file (if any)
$(PICTURES_FOLDER)         pictures folder
$(HOME)                    home 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

🔗substitution de variable

Toutes les variables supportent la substitution de chaîne de base inspirée de bash, bien que certains détails diffèrent.

Tous les modèles sont traités comme de simples comparaisons de chaînes de caractères. Il n’y a pas de support des expressions régulières.

Les fonctions suivantes de remplacement de chaînes sont fournies, où var est l’une des variables répertoriées ci-dessus :

$(var-default)                   Si var est vide, renvoie "défaut"

$(var+alt_value)                 Si var est défini, renvoie "alt_value" sinon renvoie une chaîne vide

$(var:offset)                    Renvoie la partie de var commençant à offset 
 Si offset est négatif on compte à partir de la fin de la chaîne

$(var:offset:length)             À partir de offset, renvoie au plus lenght caractères de var
 Si offset est négatif lenght est compté à partir de la fin de var
 Si length est négatif,  il indique la fin du résultat, 
 compté à partir de la fin de var et non une longueur réelle

$(var#pattern)                   Supprime "pattern" au début de var 

$(var%pattern)                   Supprime "pattern" à la fin de var 

$(var/pattern/replacement)       Remplace par "replacement", la première occurrence de "pattern" dans var
 Si "replacement" est vide alors "pattern" sera supprimé. 

$(var//pattern/replacement)      Remplace par "replacement", toutes les occurrences de "pattern" dans var
 Si "replacement" est vide alors "pattern" sera supprimé

$(var/#pattern/replacement)      Si var commence par "pattern" alors "pattern" est remplacé par "replacement"

$(var/%pattern/replacement)      Si var se termine par "pattern" alors "pattern" est remplacé par "replacement"

$(var^)                          Met en majuscule le premier caractère de var

$(var^^)                         Met en majuscule tous les caractères de var

$(var,)                          Met en minuscule le premier caractère de var

$(var,,)                         Met en minuscule tous les caractères de var

translations