Waarschuwing: deze functie is erg experimenteel. Het is bekend dat verschillende elementen nog niet werken in bibliotheekmodus. Zorgvuldig testen wordt ten zeerste aanbevolen.
Met de lua-interface kan je Ansel vanuit elk lua-script gebruiken. Dit zal Ansel als een bibliotheek laden en jou voorzien van het meeste van de lua API (Ansel is zonder interface geconfigureerd, dus de functies met betrekking tot de gebruikersinterface zijn niet beschikbaar).
Als voorbeeld zal het volgende programma de lijst met alle afbeeldingen in uw bibliotheek afdrukken:
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
Let op de derde regel die verwijst naar de locatie van het bestand libAnsel.so
.
Merk ook op dat de aanroep om een functie die retourneert te vragen slechts één keer kan worden aangeroepen en waarmee je de opdrachtregelparameter van Ansel kunt instellen. De parameter :memory:
to --library
is hier handig als u niet aan jouw persoonlijke bibliotheek wilt werken.