простий приклад lua
Почнемо з простого прикладу, який надрукує якийсь код на консолі. Створіть файл з назвою luarc
у каталозі конфігурації darktable (зазвичай $HOME/.config/darktable/
) і додайте до нього такий рядок:
print("Hello World !")
Запустіть darktable і ви побачите на консолі надруковану фразу “Hello World !
”. Нічого вигадливого, але це початок.
На даний момент у сценарії немає нічого специфічного для darktable. Ми просто використовуємо стандартну функцію друку Lua для друку рядка. Це приємно і все таке, але ми можемо зробити і краще. Для доступу до API darktable вам спочатку потрібно “вимагати” його (require
) та зберегти повернутий об’єкт у змінну. Після цього ви зможете отримати доступ до API darktable як під-поля поверненого об’єкта. Все це задокументовано в довідковому посібнику Lua API від darktable.
local darktable = require "darktable"
darktable.print_error("Hello World !")
Запустіть сценарій і … нічого не станеться. Функція darktable.print_error
подібна до print
, але друкуватиме повідомлення лише у тому випадку, якщо ви ввімкнули відстежування lua, запустивши darktable з “darktable -d lua
” у командному рядку. Це рекомендований спосіб відстежування сценаріїв lua в darktable.