norns etc
Three scripts useful for local development on norns (i.e., outside of the maiden web interface):
norns_shell: Get a lua shell or supercollider shell on a norns from the command-line, similar to the shell in the maiden interface. This connects to the same websocket interface thatmaidendoes.# get a lua shell ./norns_shell ./norns_shell ws://norns.local:5555 # get a supercollider shell ./norns_shell ws://norns.local:5556
norns_upload: Upload a file to norns over http, just like howmaidendoes it.norns_load: Activate a norns script already on the device withnorns.script.load(...)on the lua interface.
norns_shell requires nanomsg. norns_upload requires jq and curl. Install everything with sudo make install.
There's an example in example/ of a project with a Makefile that uploads and loads when M-x compile'd in emacs. This piece of emacs lisp may be helpful if you'd like to C-c C-c instead.
(defun recursive-upwards-compile ()
(interactive)
(if (string-prefix-p "make" compile-command)
(let ((directory (locate-dominating-file default-directory "Makefile")))
(when directory
(cd directory)
(compile compile-command)
(message directory)))
(compile compile-command)))
(add-hook 'lua-mode-hook
(lambda ()
(local-set-key (kbd "C-c C-c") 'recursive-upwards-compile)))
