Uwaga: Ta opcja jest mocno eksperymentalna. Wiemy o kilku elementach, które wciąż nie działają dobrze w trybie biblioteki. Zalecamy ostrożne testy.
Interfejs lua pozwala na korzystanie z Ansel z dowolnego skryptu lua. Spowoduje to załadowanie Ansel jako biblioteki i udostępnienie większości API lua (Ansel jest skonfigurowane bez plików nagłówkowych, więc funkcje interfejsu użytkownika nie są dostępne).
Poniższy program zaprezentuje przykładowo wypisanie listy wszystkich zdjęć z Twojej biblioteki:
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
Zwróć uwagę na trzecią linię, wskazującą lokalizację pliku libAnsel.so
.
Zauważ również, że wywołanie require zwraca funkcję, która musi być wywołana tylko raz i pozwala na ustawienie parametru linii poleceń Ansel. Wartość :memory:
parametru --library
przydaje się, kiedy nie chcesz pracować na swojej osobistej bibliotece.