użycie darktable ze skryptu lua
Uwaga: Ta opcja jest mocno eksperymentalna. Wiemy o kilku elementach, które wciąż nie działają dobrze w trybie biblioteki. Zalecamy ostrożne testy.
Interfejs lua pozwala na korzystanie z darktable z dowolnego skryptu lua. Spowoduje to załadowanie darktable jako biblioteki i udostępnienie większości API lua (darktable jest skonfigurowane bez plików nagłówkowych, więc funkcje interfejsu użytkownika nie są dostępne).
Poniższy program zaprezentuje przykładowo wypisanie listy wszystkich zdjęć z Twojej biblioteki:
#!/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
Zwróć uwagę na trzecią linię, wskazującą lokalizację pliku libdarktable.so
.
Zauważ również, że wywołanie require zwraca funkcję, która musi być wywołana tylko raz i pozwala na ustawienie parametru linii poleceń darktable. Wartość :memory:
parametru --library
przydaje się, kiedy nie chcesz pracować na swojej osobistej bibliotece.