Використання 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
- Français: Utiliser darktable depuis un script Lua
- German: Arbeiten mit darktable von einem Lua Skript
- Español: usando darktable desde un script lua
- Italian: usare darktable da uno script lua
- Polish: użycie darktable ze skryptu lua
- Português: usar o darktable a partir de um script lua
- Dutch: darktable gebruiken vanuit een lua-script