usando darktable desde un script lua
Advertencia: esta función es muy experimental. Se sabe que varios elementos aún no funcionan en modo biblioteca. Se recomienda realizar pruebas minuciosas.
La interfaz lua le permite usar darktable desde cualquier script lua. Esto cargará darktable como una biblioteca y le proporcionará la mayor parte de la API lua (darktable está configurado sin cabeza, por lo que las funciones relacionadas con la interfaz de usuario no están disponibles).
Como ejemplo, el siguiente programa imprimirá la lista de todas las imágenes de su biblioteca:
#!/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
Tenga en cuenta la tercera línea que apunta a la ubicación del archivo libdarktable.so
.
También tenga en cuenta que la llamada a require devuelve una función que se puede llamar solo una vez y le permite establecer el parámetro de línea de comando de darktable. El parámetro : memory:
de --library
es útil aquí si no desea trabajar en su biblioteca personal.