* 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 that ~maiden~ does. #+BEGIN_SRC sh # get a lua shell ./norns_shell ./norns_shell ws://norns.local:5555 # get a supercollider shell ./norns_shell ws://norns.local:5556 #+END_SRC + ~norns_upload~: Upload a file to norns over http, just like how ~maiden~ does it. + ~norns_load~: Activate a norns script already on the device with ~norns.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. #+BEGIN_SRC lisp (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))) #+END_SRC