usar o darktable a partir de um script lua

Advertência: esta função é muito experimental. É sabido que diversos elementos não funcionam ainda no modo biblioteca. Cautela ao testar é altamente recomendável.

A interface do lua permite que você use o darktable a partir de qualquer script do lua. Isto carregará o darktable como uma biblioteca e lhe proporcionará a maior parte da API lua (o darktable está configurado sem cabeçalho, assim as funções relacionadas à interface do usuário não estão disponíveis).

Como exemplo, o seguinte programa imprimirá a lista de todas as imagens em sua 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

Note que a terceira linha aponta a localização do arquivo libdarktable.so.

Note também que a chamada de requisição retorna uma função que pode ser chamada somente uma vez e permite que você defina o parâmetro de linha de comando do darktable. O parâmetro : memory: de --library é útil aqui se você não deseja trabalhar em sua biblioteca pessoal.

translations