Releases: robbielyman/seamstress-v1
1.0.5
What's Changed
Full Changelog: v1.0.4...v1.0.5
1.0.4
- fix: prompt correctly
- fix:
set_sizeandset_fullscreeninteract properly withscreen_set - feat: params window is smaller by default
Full Changelog: v1.0.3...v1.0.4
1.0.3
What's Changed
- feat: move small allocations to
FixedBufferAllocators by @ryleelyman in #86 - fix:
set_fullscreenno longer crashes
Full Changelog: v1.0.2...v1.0.3
1.0.2
What's Changed
- feat: clean up 'number' params instantiation by @dndrks in #85
- fix: run params:clear() and pmap.clear() before dofile
Full Changelog: v1.0.1...v1.0.2
1.0.1
What's Changed
Full Changelog: v1.0.0...v1.0.1
1.0.0
seamstress
seamstress is a Lua scripting environment
for communicating with music, visuals and data.
seamstress is inspired by and partially API-compatible with
matron, a component of monome's norns.
usage: seamstress is run from the command line.
invoke it with seamstress or seamstress <filename>
(seamstress -h lists optional command-line arguments).
on startup, seamstress will search for a user-provided script file
named <filename>.lua (defaulting to script.lua) to run.
this file may either be found in the current directory of your command-line prompt
or in ~/seamstress (that is, a folder named seamstress under your $HOME directory,
which is typically /Users/<username> on macOS and /home/<username> on Linux).
on startup, seamstress creates two OS windows
and commandeers the command-line prompt as a Lua
REPL (short for read evaluate print loop).
one of these windows is reserved for seamstress's params system,
while the other (the main window)
is available for scripts to draw to using seamstress's screen module.
to exit seamstress, close the main window or enter quit in to the REPL.
scripting: seamstress scripts are written in Lua,
an embeddable, extensible scripting language.
as of 1.0.0, seamstress supports Lua version 5.4.x.
Lua.org has resources for programming in Lua.
additionally, monome has studies for scripting in Lua for
norns and seamstress to get you off the ground.
here is a brief description of the Lua modules available for scripting with as of 1.0.0.
the seamstress Lua API is documented here.
arc: script interactions with monome's arc device. requires serialosc.clock: Lua coroutines with musical intent.
coroutines cansleepfor timing in seconds
orsyncfor timing in beats.
seamstress has an internal clock,
but may listen for MIDI clock or Ableton Link clock instead.grid: script interactions with monome's grid device. requires serialosc.metro: execute a function repeatedly at a time specified in seconds.
another approach to "multi-threading", which does not use coroutines.midi: receive and send MIDI messages to virtual and hardware devices.osc: receive and send OSC messages.
while MIDI messages have prespecified semantic meaning,
OSC is more freeform.params: store state and data in MIDI-mappable, presettable configurations.
params are displayed to the secondary window.
as of 1.0.0 this window can be navigated with the keyboardscreen: draw to and interact with the main window using keyboard and mouse.
additonally seamstress brings with it many Lua libraries
that may be optionally included in scripts.
these are mostly drawn from the norns library
and include lattice, lfo, musicutil, pattern_time,
reflection, sequins, tabutil and ui.
example scripts: seamstress ships with example scripts.
list them with seamstress -e;
copy one into ~/seamstress for further exploration with
seamstress -e <filename>.
sockets: seamstress listens for plaintext Lua messages on a UDP socket,
by default port 8888.
it executes any Lua received as if it were typed into the REPL,
which allows for live-coding seamstress scripts.
hot reload: seamstress reloads when it executes the function _seamstress.reset_lvm().
when loaded with the command-line argument -w,
seamstress will automatically execute this command
when the script file it finds is changed on disk.
create: seamstress can be launched with
create-script, create-project or create-norns-project
to interactively create a new script (in ~/seamstress),
a new project (intended for sharing; includes a git repository),
or a new norns project (includes a git repository).
seamstress development continues!
contributions, suggestions and bug reports are very welcome.
acknowledgements: matron was written by @catfact.
the seamstress studies were written for monome by @dndrks.
norns was initiated by @tehn.
What's Changed
- feat: add beat info to clock params UI by @dndrks in #82
- feat: run with
-qto silence greeting - fix: prefer
getEnvVarOwnedtogetenv - feat: add
reflection.lua
Full Changelog: v0.25.7...v1.0.0
0.25.7
- fix: synced start, immediate stop
- feat: expose quantum to lua
Full Changelog: v0.25.6...v0.25.7
0.25.6
What's Changed
Full Changelog: v0.25.5...v0.25.6
0.25.5
fix: sharp edges around sending OSC
fix: build liblo in ReleaseFast mode to avoid trace trap
fix: clocks would sometimes get stuck with a sync beat in the past
Full Changelog: v0.25.4...v0.25.5
0.25.4
fix: add formatter to number params
fix: edge case crashes
Full Changelog: v0.25.3...v0.25.4