usare darktable da uno script lua

Attenzione: questa feature è molto sperimentale. E’ appurato che molti elementi non funzionano ancora nella modalità library. Un testing accurato è altamente raccomandato.

L’interfaccia lua ti permette di usare darktable da qualsiasi script lua. Questo caricherà darktable come una libreria e ti fornirà la maggiorparte delle API lua (darktable è in configurazione headless, quindi le funzioni relative all’interfaccia utente non sono disponibili).

Come esempio, il seguente programma stamperà la lista di tutte le immagini nella tua libreria:

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

Notare che la terza linea punta alla posizione del file libdarktable.so.

Notare inoltre che la chiamata al require restituisce una funzione che può essere invocata soltanto una volta e ti permette di impostare i parametri della linea di comando di darktable. Il parametro :memory: impostato a --library è utile quando non vuoi lavorare sulla tua libreria personale.

translations