ຕົວປ່ຽນ (Variables)

darktable ຮອງຮັບການແທນຄ່າດ້ວຍຕົວປ່ຽນໃນຫຼາຍໂມດູນ ແລະ ການຕັ້ງຄ່າ. ຕົວຢ່າງ:

🔗ຕົວປ່ຽນທີ່ມີໃຫ້ໃຊ້ງານ

ມີຕົວປ່ຽນດັ່ງຕໍ່ໄປນີ້ໃຫ້ເລືອກໃຊ້, ແຕ່ບາງຕົວປ່ຽນອາດຈະໃຊ້ບໍ່ໄດ້ໃນບາງສະຖານະການ:

$(ROLL.NAME[n])            ກຸ່ມຟິມຂອງຮູບພາບນຳເຂົ້າ, ໂດຍທີ່ n ລະບຸລະດັບຂອງໂຟນເດີ
                           ນັບຈາກດ້ານຂວາ, ຄ່າເລີ່ມຕົ້ນ n=1
$(FILE.FOLDER)             ໂຟນເດີທີ່ມີຮູບພາບນຳເຂົ້າ
$(FILE.NAME)               ຊື່ໄຟລ໌ຫຼັກຂອງຮູບພາບນຳເຂົ້າ
$(FILE.EXTENSION)          ນາມສະກຸນຂອງຮູບພາບນຳເຂົ້າ
$(ID)                      id ຂອງຮູບພາບ
$(VERSION)                 ໝາຍເລກເວີຊັນທີ່ເຮັດຊ້ຳ
$(VERSION.IF_MULTI)        ຄືກັນກັບ $(VERSION) ແຕ່ເປັນຂໍ້ຄວາມຫວ່າງຖ້າມີພຽງເວີຊັນດຽວ
$(VERSION.NAME)            ຊື່ເວີຊັນຈາກ metadata
$(DARKTABLE.VERSION)       ເວີຊັນຂອງ darktable ທີ່ກຳລັງລັນຢູ່
$(DARKTABLE.NAME)          ຊື່ຂອງ darktable
$(SEQUENCE[n,m])           ໝາຍເລກລຳດັບໃນວຽກການສົ່ງອອກ ດ້ວຍຕົວເລກ n ຫຼັກ ແລະ ເລີ່ມຕົ້ນດ້ວຍ m
                           ພາຣາມິເຕີແມ່ນຕົວເລືອກ, ຄ່າເລີ່ມຕົ້ນແມ່ນ [4,1]
$(WIDTH.SENSOR)            ຄວາມກວ້າງຂອງຂໍ້ມູນ RAW ເປັນພິກເຊວ ກ່ອນການຕັດ (crop)
$(HEIGHT.SENSOR)           ຄວາມສູງຂອງຂໍ້ມູນ RAW ເປັນພິກເຊວ ກ່ອນການຕັດ (crop)
$(WIDTH.RAW)               ຄວາມກວ້າງຂອງຂໍ້ມູນ RAW ເປັນພິກເຊວ ຫຼັງການຕັດ (crop)
$(HEIGHT.RAW)              ຄວາມສູງຂອງຂໍ້ມູນ RAW ເປັນພິກເຊວ ຫຼັງການຕັດ (crop)
$(WIDTH.CROP)              ຄວາມກວ້າງຂອງຮູບເປັນພິກເຊວທີ່ຕອນທ້າຍຂອງ pixelpipe, ແຕ່ກ່ອນການປ່ຽນຂະໜາດສົ່ງອອກ
$(HEIGHT.CROP)             ຄວາມສູງຂອງຮູບເປັນພິກເຊວທີ່ຕອນທ້າຍຂອງ pixelpipe, ແຕ່ກ່ອນການປ່ຽນຂະໜາດສົ່ງອອກ
$(WIDTH.EXPORT)            ຄວາມກວ້າງຂອງຮູບເປັນພິກເຊວທີ່ຕອນທ້າຍຂອງ pixelpipe ແລະ ຫຼັງການປ່ຽນຂະໜາດສົ່ງອອກ
$(HEIGHT.EXPORT)           ຄວາມສູງຂອງຮູບເປັນພິກເຊວທີ່ຕອນທ້າຍຂອງ pixelpipe ແລະ ຫຼັງການປ່ຽນຂະໜາດສົ່ງອອກ
$(WIDTH.MAX)               ຄວາມກວ້າງສູງສຸດທີ່ປ້ອນໃນໂມດູນສົ່ງອອກ
$(HEIGHT.MAX)              ຄວາມສູງສູງສຸດທີ່ປ້ອນໃນໂມດູນສົ່ງອອກ
$(YEAR)                    ປີ ທີ່ວັນທີນຳເຂົ້າ/ສົ່ງອອກ
$(YEAR.SHORT)              ປີ ສອງຫຼັກ ທີ່ວັນທີນຳເຂົ້າ/ສົ່ງອອກ
$(MONTH)                   ເດືອນເປັນຕົວເລກ (1-12) ທີ່ວັນທີນຳເຂົ້າ/ສົ່ງອອກ
$(MONTH.LONG)              ຊື່ເດືອນແບບເຕັມ ທີ່ວັນທີນຳເຂົ້າ/ສົ່ງອອກ
$(MONTH.SHORT)             ຊື່ເດືອນແບບຫຍໍ້ ທີ່ວັນທີນຳເຂົ້າ/ສົ່ງອອກ
$(DAY)                     ວັນ ທີ່ວັນທີນຳເຂົ້າ/ສົ່ງອອກ
$(HOUR)                    ຊົ່ວໂມງ ທີ່ເວລານຳເຂົ້າ/ສົ່ງອອກ
$(MINUTE)                  ນາທີ ທີ່ເວລານຳເຂົ້າ/ສົ່ງອອກ
$(SECOND)                  ວິນາທີ ທີ່ເວລານຳເຂົ້າ/ສົ່ງອອກ
$(MSEC)                    ມິນລິວິນາທີ ທີ່ເວລານຳເຂົ້າ/ສົ່ງອອກ
$(EXIF.YEAR)               ປີ ຈາກ Exif
$(EXIF.YEAR.SHORT)         ປີ ຈາກ Exif, ແບບສອງຫຼັກ
$(EXIF.MONTH)              ເດືອນ ຈາກ Exif, ແບບຕົວເລກ
$(EXIF.MONTH.LONG)         ຊື່ເດືອນແບບເຕັມ ຈາກ Exif
$(EXIF.MONTH.SHORT)        ຊື່ເດືອນແບບຫຍໍ້ ຈາກ Exif
$(EXIF.DAY)                ວັນ ຈາກ Exif
$(EXIF.HOUR)               ຊົ່ວໂມງ ຈາກ Exif
$(EXIF.MINUTE)             ນາທີ ຈາກ Exif
$(EXIF.SECOND)             ວິນາທີ ຈາກ Exif
$(EXIF.MSEC)               ມິນລິວິນາທີ ຈາກ Exif
$(EXIF.DATE.REGIONAL)      ວັນທີ Exif ໂດຍໃຊ້ຮູບແບບວັນທີຕາມພາກພື້ນທີ່ຜູ້ໃຊ້ຕ້ອງການ
$(EXIF.TIME.REGIONAL)      ເວລາ Exif ໂດຍໃຊ້ຮູບແບບເວລາຕາມພາກພື້ນທີ່ຜູ້ໃຊ້ຕ້ອງການ
$(EXIF.ISO)                ຄ່າ ISO ຈາກ Exif
$(EXIF.EXPOSURE)           ການເປີດຮັບແສງ ຈາກ Exif
$(EXIF.EXPOSURE.BIAS)      ຄ່າຊົດເຊີຍການເປີດຮັບແສງ ຈາກ Exif
$(EXIF.EXPOSURE.PROGRAM)   ໂປຣແກຣມການເປີດຮັບແສງທີ່ຕັ້ງໃນກ້ອງ ຈາກ Exif
$(EXIF.APERTURE)           ຮູຮັບແສງ ຈາກ Exif
$(EXIF.CROP_FACTOR)        ຄ່າຕົວຄູນການຕັດ (crop factor) ຈາກ Exif
$(EXIF.FLASH)              ການຕັ້ງຄ່າແຟລັກ ຈາກ Exif
$(EXIF.FLASH.ICON)         ສັນຍາລັກແຟລັກ ຖ້າຂໍ້ມູນ Exif ບອກວ່າແຟລັກເຮັດວຽກ, ຖ້າບໍ່ແມ່ນຈະເປັນຂໍ້ຄວາມຫວ່າງ
$(EXIF.FOCAL.LENGTH)       ໄລຍະໂຟກັດ ຈາກ Exif
$(EXIF.FOCAL.LENGTH.EQUIV) ໄລຍະໂຟກັດທຽບເທົ່າ 35 ມມ ຈາກ Exif
$(EXIF.FOCUS.DISTANCE)     ໄລຍະຫ່າງໂຟກັດ ຈາກ Exif
$(EXIF.LENS)               ຊື່ເລນ ຈາກ Exif
$(EXIF.MAKER)              ຜູ້ຜະລິດກ້ອງ ຈາກ Exif
$(EXIF.METERING)           ໂໝດວັດແສງ ຈາກ Exif
$(EXIF.MODEL)              ລຸ້ນກ້ອງ ຈາກ Exif
$(EXIF.WHITEBALANCE)       white balance ທີ່ຕັ້ງໃນກ້ອງ ຈາກ Exif
$(IMAGE.EXIF)              ຂໍ້ມູນການເປີດຮັບແສງພື້ນຖານຈາກ Exif (ຮູຮັບແສງ, ການເປີດຮັບແສງ, ISO)
$(IMAGE.ID)                id ຂອງຮູບພາບ (ໝາຍເຫດວ່າຈະເປັນ 0 ໃນລະຫວ່າງການກັອບປີ້ ແລະ ນຳເຂົ້າ)
$(IMAGE.ID[n])             id ຂອງຮູບພາບ (ຈະເປັນ 0 ໃນລະຫວ່າງການກັອບປີ້ ແລະ ນຳເຂົ້າ), ຕື່ມສູນທາງໜ້າໃຫ້ເປັນ n ຫຼັກ
$(IMAGE.ID.NEXT)           id ຂອງຮູບພາບຖັດໄປທີ່ຈະຖືກກຳນົດ (ສາມາດໃຊ້ໃນລະຫວ່າງການກັອບປີ້ ແລະ ນຳເຂົ້າ)
$(IMAGE.ID.NEXT[n])        id ຂອງຮູບພາບຖັດໄປທີ່ຈະຖືກກຳນົດ (ໃຊ້ໃນລະຫວ່າງການກັອບປີ້ ແລະ ນຳເຂົ້າ), ຕື່ມສູນທາງໜ້າໃຫ້ເປັນ n ຫຼັກ
$(IMAGE.TAGS)              ລາຍຊື່ແທັກ (Xmp.dc.Subject), ໂດຍເຮັດໃຫ້ລຳດັບຊັ້ນແປຮາບ
$(IMAGE.TAGS.HIERARCHY)    ລາຍຊື່ແທັກ (Xmp.dc.Subject), ໂດຍຮັກສາລຳດັບຊັ້ນໄວ້
$(LONGITUDE)               ເສັ້ນແວງ (longitude)
$(LATITUDE)                ເສັ້ນຂະໜານ (latitude)
$(ELEVATION)               ລະດັບຄວາມສູງ
$(GPS.ELEVATION)           ລະດັບຄວາມສູງ
$(GPS.LATITUDE)            ເສັ້ນຂະໜານ
$(GPS.LONGITUDE)           ເສັ້ນແວງ
$(GPS.LOCATION)            ເສັ້ນຂະໜານ, ເສັ້ນແວງ, ແລະ ລະດັບຄວາມສູງ (ຂ້າມຄ່າທີ່ບໍ່ໄດ້ກຳນົດ)
$(GPS.LOCATION.ICON)       ສັນຍາລັກເພື່ອບົ່ງບອກວ່າມີຂໍ້ມູນຕຳແໜ່ງ GPS, ຖ້າບໍ່ມີຈະເປັນຂໍ້ຄວາມຫວ່າງ
$(STARS)                   ການໃຫ້ດາວ (ຂໍ້ຄວາມເທົ່ານັ້ນ)
$(RATING.ICONS)            ການໃຫ້ດາວ (ໃຊ້ຕົວອັກສອນຮູບດາວ)
$(LABELS)                  ປ້າຍສີ (ປ້າຍສີເປັນຂໍ້ຄວາມ)
$(LABELS.ICONS)            ປ້າຍສີ (ປ້າຍສີເປັນໄອຄອນ)
$(MAKER)                   ຜູ້ຜະລິດກ້ອງ
$(MODEL)                   ລຸ້ນກ້ອງ
$(LENS)                    ເລນ
$(Xmp.dc.title)            ຫົວຂໍ້ຈາກ metadata
$(Xmp.dc.description)      ຄຳອະທິບາຍຈາກ metadata
$(Xmp.dc.creator)          ຜູ້ສ້າງຈາກ metadata
$(Xmp.dc.publisher)        ຜູ້ເຜີຍແຜ່ຈາກ metadata
$(Xmp.dc.rights)           ລິຂະສິດຈາກ metadata
$(TAGS)                    ລາຍຊື່ແທັກ (Xmp.dc.Subject)
$(CATEGORY[n,category])    ຊື່ແທັກຂອງລະດັບ n [0,9] ໃນໝວດໝູ່ (ຫຼື ແທັກ) ທີ່ເລືອກ
$(SIDECAR_TXT)             ເນື້ອໃນຂອງໄຟລ໌ sidecar ຂໍ້ຄວາມ (ຖ້າມີ)
$(FOLDER.PICTURES)         ໂຟນເດີຮູບພາບ
$(FOLDER.HOME)             ໂຟນເດີຫຼັກ (home)
$(FOLDER.DESKTOP)          ໂຟນເດີເດັສທັອບ
$(OPENCL.ACTIVATED)        ເປີດໃຊ້ OpenCL ຫຼື ບໍ່
$(USERNAME)                ຊື່ຜູ້ໃຊ້ທີ່ກຳນົດໂດຍ OS
$(NL)                      ຕົວອັກສອນຂຶ້ນແຖວໃໝ່
$(JOBCODE)                 ລະຫັດວຽກພາຍໃນຂອງວຽກປັດຈຸບັນ

🔗ຂໍ້ມູນເສີມ (metadata)

ຂໍ້ມູນຈາກ ຕົວແກ້ໄຂ metadata ສາມາດນຳມາໃຊ້ເປັນຕົວປ່ຽນໄດ້ ໂດຍການໃຊ້ຊື່ແທັກ Xmp ທີ່ຖືກຕ້ອງຕາມຕົວອັກສອນພິມໃຫຍ່-ນ້ອຍ (ເຊັ່ນ Xmp.iptc.location).

🔗ການແທນຄ່າຂໍ້ຄວາມ

ຕົວປ່ຽນທັງໝົດຮອງຮັບການແທນຄ່າຂໍ້ຄວາມພື້ນຖານທີ່ຄ້າຍຄືກັບ bash ແຕ່ອາດມີລາຍລະອຽດບາງຢ່າງທີ່ຕ່າງກັນ.

ຮູບແບບທັງໝົດຈະຖືກປະມວນຜົນເປັນການປຽບທຽບຂໍ້ຄວາມແບບງ່າຍໆ. ບໍ່ຮອງຮັບ regex.

ມີຟັງຊັນການປ່ຽນຂໍ້ຄວາມດັ່ງນີ້, ໂດຍທີ່ var ແມ່ນຕົວປ່ຽນທີ່ລະບຸໄວ້ຂ້າງເທິງ:

$(var-default)                   ຖ້າ var ຫວ່າງເປົ່າ, ໃຫ້ສົ່ງຄ່າ "default"
                                 ເປັນໄປໄດ້ທີ່ຈະໃຊ້ຕົວແປອື່ນເປັນ "default", ເຊັ່ນ:
                                 $(WIDTH.CROP-$(WIDTH.RAW))

$(var+alt_value)                 ຖ້າ var ຖືກກຳນົດຄ່າ, ໃຫ້ສົ່ງຄ່າ "alt_value" ຖ້າບໍ່ດັ່ງນັ້ນໃຫ້ສົ່ງຂໍ້ຄວາມຫວ່າງ

$(var:offset)                    ສົ່ງຄ່າ var ເລີ່ມຈາກຕຳແໜ່ງ offset
                                 ຖ້າ offset ເປັນຄ່າລົບ ໃຫ້ນັບຈາກທ້າຍຂໍ້ຄວາມ

$(var:offset:length)             ເລີ່ມຈາກ offset, ສົ່ງຄ່າ var ບໍ່ເກີນຈຳນວນ length ຕົວອັກສອນ
                                 ຖ້າ offset ເປັນຄ່າລົບ length ຈະຖືກນັບຈາກທ້າຍຂອງ var
                                 ຖ້າ length ເປັນຄ່າລົບ ສິ່ງນີ້ຈະບົ່ງບອກເຖິງຈຸດສິ້ນສຸດຂອງຜົນລັບ,
                                  ໂດຍນັບຈາກທ້າຍຂອງ var, ແລະ ບໍ່ແມ່ນຄວາມຍາວຕົວຈິງ

$(var#pattern)                   ເອົາ "pattern" ອອກຈາກຕອນເລີ່ມຕົ້ນຂອງ var

$(var%pattern)                   ເອົາ "pattern" ອອກຈາກຕອນທ້າຍຂອງ var

$(var/pattern/replacement)       ແທນທີ່ "pattern" ທີ່ພົບເທື່ອທຳອິດໃນ var ດ້ວຍ "replacement"
                                 ຖ້າ "replacement" ຫວ່າງເປົ່າ "pattern" ຈະຖືກເອົາອອກ

$(var//pattern/replacement)      ແທນທີ່ "pattern" ທຸກບ່ອນທີ່ພົບໃນ var ດ້ວຍ "replacement"
                                 ຖ້າ "replacement" ຫວ່າງເປົ່າ "pattern" ຈະຖືກເອົາອອກ

$(var/#pattern/replacement)      ຖ້າ var ເລີ່ມຕົ້ນດ້ວຍ "pattern", ໃຫ້ແທນທີ່ດ້ວຍ "replacement"

$(var/%pattern/replacement)      ຖ້າ var ລົງທ້າຍດ້ວຍ "pattern", ໃຫ້ແທນທີ່ດ້ວຍ "replacement"

$(var^)                          ເຮັດໃຫ້ຕົວອັກສອນທຳອິດຂອງ var ເປັນຕົວພິມໃຫຍ່

$(var^^)                         ເຮັດໃຫ້ຕົວອັກສອນທັງໝົດຂອງ var ເປັນຕົວພິມໃຫຍ່

$(var,)                          ເຮັດໃຫ້ຕົວອັກສອນທຳອິດຂອງ var ເປັນຕົວພິມນ້ອຍ

$(var,,)                         ເຮັດໃຫ້ຕົວອັກສອນທັງໝົດຂອງ var ເປັນຕົວພິມນ້ອຍ

🔗ການຈັດຮູບແບບ

ຮູບແບບຂໍ້ມູນຮູບພາບຮອງຮັບ markup. ຕົວຢ່າງ: ການໃສ່ຂໍ້ຄວາມຕໍ່ໄປນີ້ຈະສະແດງຄຳເຕືອນ (ຕົວອັກສອນໃຫຍ່, ສີແດງ, ຕົວໜາ) ເມື່ອ OpenCL ບໍ່ສາມາດເຮັດວຽກໄດ້:

<span alpha='1%'>$(OPENCL_ACTIVATED/no/<span foreground='red' weight='heavy' size='xx-large' alpha='100%'>OPENCL ACTIVATION FAILED</span>$(NL))</span>

translations