Простий приклад 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.