lua + clocks + osc + grid + midi + ui
requires lua 5.4, sdl2, liblo
(apt-get: liblua5.4-dev libsdl2-dev liblo-dev)
currently only tested on ubuntu linux
./waf configure
./waf
sudo ./waf install
sudo ./waf install_lib
isms example.lua
(or whatever file as argument)polyperc.scd
will provide a rudimentary osc-listening synth for testing OSC using SuperColliderprint('hello')
q
command quits from the repl, isms.run()
reloads current file (or clears and loads a different file)echo -n "print('hello')" > /dev/udp/localhost/11001
(set up your editor to send to this port)library folder: ~/.local/share/isms
require
system
subfolder is copied by ./waf install_lib
.init.lua
will be run at startup, before the script. global configuration data can go here- cpu usage at rest (should be lower)
- consider implications of running multiple instances
x osc port assignments (ie auto-increment if requested is taken)
- grid/midi "focus"
- config file (pre-run) for setting "reserved" grid/midi slots (ie serial numbers)
- ~/.local/share/isms/init.lua
- sdl
- text
- more drawing functions
- (?) mouse events
- socket input: allow blocks, not just line
- repl history (readline/etc)
- repl: fix color coding (where text is coming from: socket or local)
- optimization
- sdl should probably have its own thread
- security: should udp socket input check incoming ip (restrict to localhost?)
- or arg to disable
- (?) metro allocator
g = grid.connect(id) -- id = index or default 0
g.all(z)
g.led(x,y,z)
g.redraw()
g.event.key(x,y,z)
grid.all(id,z)
grid.led(id,x,y,z)
grid.redraw(id)
grid.event.key(id,x,y,z)
grid.event.add(id,serial)
grid.event.remove(id,serial)
window.init(x,y)
window.pixel(x,y,color)
window.line(x1,y1,x2,y2,color)
window.redraw()
window.event.key(code)
metro.start(index, time_sec, count, stage)
metro.stop(index)
metro.event.tick(index, stage)
osc.send(path, args)
osc.event.receive(path, args, from)
clock -- TODO
midi -- currently removed, needs reimplementation
reimagining of norns. reconsidering design for use on any computer with large screen and keyboard.
matron
from norns, written by @catfact