ຕົວປ່ຽນ (Variables)
darktable ຮອງຮັບການແທນຄ່າດ້ວຍຕົວປ່ຽນໃນຫຼາຍໂມດູນ ແລະ ການຕັ້ງຄ່າ. ຕົວຢ່າງ:
-
ການກຳນົດຊື່ໄຟລ໌ໃນໂມດູນ ສົ່ງອອກ (export)
-
ການສະແດງຂໍ້ມູນຮູບພາບໃນ ແຖບຂໍ້ມູນຮູບພາບ ຂອງ darkroom
-
ການສະແດງຂໍ້ມູນຮູບພາບໃນສ່ວນຊ້ອນທັບ ແລະ ຄຳແນະນຳໃນ lighttable (ເບິ່ງ ການຕັ້ງຄ່າ > lighttable)
-
ການວາງຂໍ້ຄວາມເທິງຮູບພາບໃນໂມດູນ ລາຍນ້ຳ (watermark)
🔗ຕົວປ່ຽນທີ່ມີໃຫ້ໃຊ້ງານ
ມີຕົວປ່ຽນດັ່ງຕໍ່ໄປນີ້ໃຫ້ເລືອກໃຊ້, ແຕ່ບາງຕົວປ່ຽນອາດຈະໃຊ້ບໍ່ໄດ້ໃນບາງສະຖານະການ:
$(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>