ຕົວປ່ຽນ (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) ຄວາມກວ້າງຂອງພາບຫຼັງການປະມວນຜົນ ແຕ່ກ່ອນການປັບຂະໜາດສົ່ງອອກ
$(HEIGHT.CROP) ຄວາມສູງຂອງພາບຫຼັງການປະມວນຜົນ ແຕ່ກ່ອນການປັບຂະໜາດສົ່ງອອກ
$(WIDTH.EXPORT) ຄວາມກວ້າງຂອງພາບຫຼັງການປັບຂະໜາດສົ່ງອອກ
$(HEIGHT.EXPORT) ຄວາມສູງຂອງພາບຫຼັງການປັບຂະໜາດສົ່ງອອກ
$(WIDTH.MAX) ຄວາມກວ້າງສູງສຸດທີ່ຕັ້ງໄວ້ໃນໂມດູນສົ່ງອອກ
$(HEIGHT.MAX) ຄວາມສູງສູງສຸດທີ່ຕັ້ງໄວ້ໃນໂມດູນສົ່ງອອກ
$(YEAR) ປີທີ່ນຳເຂົ້າ ຫຼື ສົ່ງອອກ
$(YEAR.SHORT) ປີແບບ 2 ຫຼັກ ທີ່ນຳເຂົ້າ ຫຼື ສົ່ງອອກ
$(MONTH) ເດືອນແບບຕົວເລກ (1-12)
$(MONTH.LONG) ຊື່ເດືອນແບບເຕັມ
$(MONTH.SHORT) ຊື່ເດືອນແບບຫຍໍ້
$(DAY) ວັນທີ
$(HOUR) ຊົ່ວໂມງ
$(MINUTE) ນາທີ
$(SECOND) ວິນາທີ
$(MSEC) ມິລິວິນາທີ
$(EXIF.YEAR) ປີ ຈາກຂໍ້ມູນ Exif
$(EXIF.YEAR.SHORT) ປີແບບ 2 ຫຼັກ ຈາກ 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) ຄ່າການຮັບແສງ (shutter speed)
$(EXIF.EXPOSURE.BIAS) ຄ່າຊົດເຊີຍແສງ
$(EXIF.EXPOSURE.PROGRAM) ໂໝດການຖ່າຍຮູບທີ່ຕັ້ງໃນກ້ອງ
$(EXIF.APERTURE) ຄ່າຮູຮັບແສງ (aperture)
$(EXIF.CROP_FACTOR) ຄ່າຕົວຄູນເຊັນເຊີ (crop factor)
$(EXIF.FLASH) ການຕັ້ງຄ່າແຟລັດ
$(EXIF.FLASH.ICON) ສັນຍະລັກແຟລັດ (ຖ້າມີການໃຊ້ແຟລັດ)
$(EXIF.FOCAL.LENGTH) ໄລຍະໂຟກັດ (focal length)
$(EXIF.FOCAL.LENGTH.EQUIV) ໄລຍະໂຟກັດທຽບເທົ່າ 35 ມມ.
$(EXIF.FOCUS.DISTANCE) ໄລຍະຫ່າງໂຟກັດ
$(EXIF.LENS) ຊື່ເລນ
$(EXIF.MAKER) ຍີ່ຫໍ້ກ້ອງ
$(EXIF.METERING) ໂໝດການວັດແທກແສງ
$(EXIF.MODEL) ລຸ້ນກ້ອງ
$(EXIF.WHITEBALANCE) ຄ່າໄວສ໌ບາລານຊ໌ (white balance)
$(IMAGE.EXIF) ຂໍ້ມູນການຮັບແສງພື້ນຖານ (ຮູຮັບແສງ, ເວລາ, ISO)
$(IMAGE.ID) ID ຂອງຮູບພາບ (ຈະເປັນ 0 ຕອນກຳລັງນຳເຂົ້າ)
$(IMAGE.ID[n]) ID ຂອງຮູບພາບ ແບບຕື່ມເລກສູນໃຫ້ມີ n ຫຼັກ
$(IMAGE.ID.NEXT) ID ຂອງຮູບພາບຖັດໄປ
$(IMAGE.ID.NEXT[n]) ID ຂອງຮູບພາບຖັດໄປ ແບບຕື່ມເລກສູນ n ຫຼັກ
$(IMAGE.TAGS) ລາຍການແທັກ (tags)
$(IMAGE.TAGS.HIERARCHY) ລາຍການແທັກ ແບບຮັກສາລຳດັບຂັ້ນ
$(LONGITUDE) ເສັ້ນແວງ (longitude)
$(LATITUDE) ເສັ້ນຂະໜານ (latitude)
$(ELEVATION) ຄວາມສູງຈາກລະດັບນ້ຳທະເລ
$(GPS.ELEVATION) ຄວາມສູງ GPS
$(GPS.LATITUDE) ເສັ້ນຂະໜານ GPS
$(GPS.LONGITUDE) ເສັ້ນແວງ GPS
$(GPS.LOCATION) ຕຳແໜ່ງ GPS (ເສັ້ນຂະໜານ, ເສັ້ນແວງ, ຄວາມສູງ)
$(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) ລາຍການແທັກ
$(CATEGORY[n,category]) ຊື່ແທັກໃນລະດັບ n ຂອງໝວດໝູ່ທີ່ເລືອກ
$(SIDECAR_TXT) ເນື້ອໃນໃນໄຟລ໌ຂໍ້ຄວາມ sidecar
$(FOLDER.PICTURES) ໂຟນເດີຮູບພາບ
$(FOLDER.HOME) ໂຟນເດີຫຼັກ (home folder)
$(FOLDER.DESKTOP) ເດັສທັອບ (desktop folder)
$(OPENCL.ACTIVATED) ສະຖານະການເປີດໃຊ້ OpenCL
$(USERNAME) ຊື່ຜູ້ໃຊ້ໃນລະບົບ
$(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
$(var#pattern) ລຶບ "pattern" ອອກຈາກສ່ວນຕົ້ນຂອງ var
$(var%pattern) ລຶບ "pattern" ອອກຈາກສ່ວນທ້າຍຂອງ var
$(var/pattern/replacement) ປ່ຽນ "pattern" ທຳອິດທີ່ພົບໃນ var ໃຫ້ເປັນ "replacement"
$(var//pattern/replacement) ປ່ຽນ "pattern" ທັງໝົດທີ່ພົບໃນ var ໃຫ້ເປັນ "replacement"
$(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>