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 Ansel da qualsiasi script lua. Questo caricherà Ansel come una libreria e ti fornirà la maggiorparte delle API lua (Ansel è 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:
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
Notare che la terza linea punta alla posizione del file libAnsel.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 Ansel. Il parametro :memory:
impostato a --library
è utile quando non vuoi lavorare sulla tua libreria personale.