prosty przykład lua

Zacznijmy z prostym przykładem, wypisującym cokolwiek na konsolę. Utwórz plik luarcw katalogu konfiguracyjnym darktable (na ogół jest to $HOME/.config/darktable/) i dodaj w nim następującą linię:

print("Hello World !")

Uruchom darktable, a na konsoli pojawi się zdanie “Witaj, świecie!” Na razie szału nie ma, ale spokojnie, zaraz się rozkręci…

Do tego miejsca w skrypcie nie ma nic charakterystycznego dla darktable. Chcąc wypisać łańcuch, wykorzystaliśmy po prostu standardową funkcję print. Działa, ale stać nas na więcej. Dla dostępu do API potrzebujemy wywołać require i zapisać zwrócony obiekt do zmiennej. Po wykonaniu tego zyskujesz dostęp do API darktable jako składowych zwróconego obiektu. Całość udokumentowana jest w podręczniku Lua API.

local darktable = require "darktable"
darktable.print_error("Hello World !")

Uruchamiamy skrypt… i nic się nie dzieje. Funkcja darktable.print_error działa jak print, ale drukuje komunikaty tylko wtedy, kiedy uruchomiłeś śledzenie lua, uruchamiając darktable sekwencją “darktable -d lua” z linii poleceń. Jest to zalecana metoda debugowania w skrypcie lua.