LOVJ aims to be a LÖVE framework to create a live-coding, interactive VJing environment mainly targeted at live music performances. It revolves around the concept of video patches: these can be loaded, sequenced, and mixed in several ways.
It allows interaction with the patches through:
- code editing (with livecoding hot-reload features)
- common controls (mouse / keyboard / touch)
- external controls (OSC)
Moreover, it supports advanced functionalities such as:
- GLSL shaders support (for advanced rendering techniques, such as ray-marching).
- Spout Send/Receive functions (allowing streaming to/from external apps, feedback loops, etc.).
- Savestates (save/recall patches internal status quickly).
- OSC network server via UDP.
- LÖVE version 11.4+
- Add LOVE2D bin folder to your PATH variable
- Download/clone this repository.
- From this repo main folder (containing the main.lua script), run:
love .
LOVJ is still in a work-in-progress state. Development is messy and several features are kind of broken. It can be played with, but don't expect the software to be working reliably in its current state. Check Issue tracker for more info.
- Open cfg/cfg_patches.lua.
- Edit the defaultPatch or the patches list.
- Run LOVJ.
- Select the chosen demo from patches with the [F1 ... F12] keys.
- lick original LICK implementation for live-coding features (MIT license).
- json.lua v.0.1.2 Json library (MIT license).
- losc v.1.0.1 Lua OSC library (MIT license).
- Spout Spout library (BSD-2 license).
A simple tool to relay MIDI messages to OSC messages based on some configuration can be found here.