darktable gebruiken vanuit een lua-script

Waarschuwing: deze functie is erg experimenteel. Het is bekend dat verschillende elementen nog niet werken in bibliotheekmodus. Zorgvuldig testen wordt ten zeerste aanbevolen.

Met de lua-interface kan je darktable vanuit elk lua-script gebruiken. Dit zal darktable als een bibliotheek laden en jou voorzien van het meeste van de lua API (darktable is zonder interface geconfigureerd, dus de functies met betrekking tot de gebruikersinterface zijn niet beschikbaar).

Als voorbeeld zal het volgende programma de lijst met alle afbeeldingen in uw bibliotheek afdrukken:

#!/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

Let op de derde regel die verwijst naar de locatie van het bestand libdarktable.so.

Merk ook op dat de aanroep om een functie die retourneert te vragen slechts één keer kan worden aangeroepen en waarmee je de opdrachtregelparameter van darktable kunt instellen. De parameter :memory: to --library is hier handig als u niet aan jouw persoonlijke bibliotheek wilt werken.

translations