Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/p3r7/repl
access norns' repl from a script
https://github.com/p3r7/repl
monome monome-norns norns norns-script websocket
Last synced: 7 days ago
JSON representation
access norns' repl from a script
- Host: GitHub
- URL: https://github.com/p3r7/repl
- Owner: p3r7
- License: mit
- Created: 2022-06-29T07:04:47.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-29T13:03:26.000Z (about 1 year ago)
- Last Synced: 2024-12-09T13:53:16.563Z (14 days ago)
- Topics: monome, monome-norns, norns, norns-script, websocket
- Language: Lua
- Homepage:
- Size: 4.86 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# repl
![screenshot](https://norns.community/community/eigen/repl.png)
access norns' repls (both maiden and supercollider) either:
- as a script
- at any time when another script is launched (`repl` mod)## instructions
- `E3`: switch between the 2 REPLs
- `E2`: scroll UP/DOWN
- `K1` + `E2`: scroll LEFT/RIGHTusing a keyboard, one can type / edit at the prompt.
additionally:
- `Enter`: submit prompt to current REPL
- directional arrows `↑`, `↓`: browse input history
- `Alt` + directional arrows: scroll UP/DOWN/LEFT/RIGHT
- standard Unix/Emacs bindings (`Ctrl+P`, `Ctrl-N`, `Ctrl+A`, `Ctrl+E`, `Ctrl+W`, `Ctrl+K`, `Ctrl+Y`, `Ctrl+L`) work## implementation details
i couldn't make cqueue & COPAS-based websocket clients work reliably within a norns script (generally sending works but registering a callback to listen for messages tends to block everything).
i resorted to using the hackish approach to use a websocket <-> OSC gateway
- [gateway itself](./main.go), written in golang
- [lua binding lib](./lib/repl_osc_gw.lua)`@infinitedigits` / @[`schollz`](https://github.com/schollz)' [dust2dust](https://github.com/schollz/dust2dust) is the major source of inspiration.
please note that compiling the golang executable is a bit too intensive for norns (it slows it down to a crawl). hence i recommend compiling from a more beefy computer using:
$ env GOOS=linux GOARCH=arm go build -o repl-ws-osc-gw