використання 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
- English: using darktable from a lua script
- German (translation incomplete): Arbeiten mit darktable von einem Lua Skript
- Polish (translation incomplete): użycie darktable ze skryptu lua
- Português (translation incomplete): usar o darktable a partir de um script lua
- Dutch (translation incomplete): darktable gebruiken vanuit een lua-script