Використання Darktable зі сценарію Lua
Попередження: ця функція дуже експериментальна. Відомо, що кілька елементів ще не працюють у бібліотечному режимі. Настійно рекомендується ретельне тестування.
Інтерфейс Lua дозволяє використовувати Darktable з будь-якого сценарію Lua. Це завантажить Darktable як бібліотеку та надасть вам більшість API Lua (Darktable налаштовано без відображення інтерфейсу, тому функції, що стосуються інтерфейсу користувача, недоступні).
Наприклад, наступна програма надрукує список усіх зображень у вашій бібліотеці:
#!/usr/bin/env lua
package = require "package"
package.cpath=package.cpath..";./lib/darktable/lib?.so"
dt = require("darktable")(
"--library", "./library.db",
"--datadir", "./share/darktable",
"--moduledir", "./lib/darktable",
"--configdir", "./configdir",
"--cachedir","cachedir",
"--g-fatal-warnings")
require("darktable.debug")
for k,v in ipairs(dt.database) do
print(tostring(v))
end
Зверніть увагу на третій рядок, який вказує на розташування файлу libdarktable.so.
Також зверніть увагу, що виклик require повертає функцію, яку можна викликати лише один раз і дозволяє встановити параметр командного рядка Darktable. Параметр :memory: для --library тут корисний, якщо ви не хочете працювати над своєю особистою бібліотекою.
translations
- Dutch: darktable gebruiken vanuit een lua-script
- English: using darktable from a lua script
- Español: usando darktable desde un script lua
- Français: Utiliser darktable depuis un script Lua
- German: Arbeiten mit darktable von einem Lua Skript
- Italian: usare darktable da uno script lua
- Lao: ການໃຊ້ darktable ຈາກສະຄຣິບ lua
- Polish: użycie darktable ze skryptu lua
- Português: usar o darktable a partir de um script lua