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 Ansel a partir de qualquer script do lua. Isto carregará o Ansel como uma biblioteca e lhe proporcionará a maior parte da API lua (o Ansel 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:
1#!/usr/bin/env lua
2package = require "package"
3package.cpath=package.cpath..";./lib/Ansel/lib?.so"
4
5dt = require("Ansel")(
6"--library", "./library.db",
7"--datadir", "./share/Ansel",
8"--moduledir", "./lib/Ansel",
9"--configdir", "./configdir",
10"--cachedir","cachedir",
11"--g-fatal-warnings")
12
13require("Ansel.debug")
14
15for k,v in ipairs(dt.database) do
16 print(tostring(v))
17end
Note que a terceira linha aponta a localização do arquivo libAnsel.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 Ansel. O parâmetro : memory:
de --library
é útil aqui se você não deseja trabalhar em sua biblioteca pessoal.