luajit interpreter for livecoding graphics by using shaders, images and minimal 2d graphics. For example, it can do things like this and this. It owns a lot to raylib, that is used for windowing, 2d primitives, text, image loading and shaders. Code is hotreloaded on save by using inotify and webcam is managed with linux
v4l2 drivers, so for now this tool is linux-only.
args: access cli args listed after the script path
audio: connects to JACK to get audio envelope
cam: webcam input
clock: gets and warps time
fn: various functions to shape inputs ( and noise up to 4d )
frag: manage shaders
gfx: 2d primitives and other various functions
key: keyboard input
layer: manage different fbo object used as graphical "layers"
mouse: mouse input
pad: gamepad input
png: load images (not just png)
rand: various random functions
window: manage window size, position, background and title
the code is functional but still a work in progress; for now this is something made by myself for myself.
this is a memo for myself ( on debian 10 ):
sudo apt-get install libv4l-0 libv4l-dev liblo7 liblo-dev jackd1 libjack-dev git clone https://codeberg.org/nonmateria/nsketch.git cd nsketch mkdir libs cd libs git clone https://github.com/raysan5/raylib cd raylib/src sudo apt install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev make sudo make install cd .. git clone https://luajit.org/git/luajit-2.0.git cd luajit-2.0 git checkout v2.1 make cd .. make
many thanks to
Nicola Pisanti MIT License 2020-2021