Using maiden in the web browser is the most straightforward way.
just access norns via http://norns.local
it provides both a file brower + editor and a REPL (shell) allowing you create and edit scripts, launch them an see their output.
One can directly hop onto norns via SSH / USB serial.
Then, script can be edited directly with prefered editors (such an nano
or vi
).
The maiden REPL can also be spawned from the command line.
Here is a walkthrough of the process:
sshfs allow to locally mount remote norns filesystem as if it was local, allowing you to use any prefered local editor.
mkdir /home/Documents/norns_mount
cd /home/Documents/norns_mount
sshfs we@norns:/home/we/dust dust
Depending on your editor of choice, some more optimal options might be available (see bellow).
maiden-run allows to automatically reload a script when saving its source code.
All those setup allow interacting with norns at the confort of your familiar editor runing on you main computer.
This comment describes a working setup for remote integration with atom.
to enable Lua and supercolider support:
;; lua
(use-package lua-mode
:init
(setq lua-indent-level 2))
;; sclang
(defvar my-supercolider-scel-path "~/.local/share/SuperCollider/Emacs/scel")
(let ((sclang-dir (concat my-supercolider-scel-path "/el")))
(when (file-directory-p sclang-dir)
(normal-top-level-add-to-load-path (list sclang-dir))))
(when (and (locate-library "sclang")
(locate-library "sclang-vars"))
(use-package sclang
:ensure nil
:demand))
Emacs can access norns filesystem as if local using TRAMP.
M-x find-file
/ssh:we@norns.local:/home/we/dust/
to prevent having to re-type the password each time, put this line in your ~/.authinfo
:
machine norns.local login we port ssh password sleep
TO launch the REPL, you can spawn follow cli isntructions after spawning a remote shell using either:
tramp-term
(built-in term
+ tramp-term)vterm-toggle-cd
(vterm + vterm-toggle)COde on norns can be accessed as if locally using Remote - SSH extension.
@midouest made a vscode extension to spawn and interact with a remote maiden repl session from vscode.
vim-norns provides various commands to spawn and interract with a maiden REPL.
scvim for supercollider syntax.
Simply drop them into /home/we/.local/share/SuperCollider/Extensions/
.
Subfolders are allowed.
see sc doc for more info.
first, you’ll need to copy both your engine code & norns’ supercollider sources into your supercollider extensions folder (or any subfolder). in scide, you can find the extensions path by running Platform.userExtensionDir;
. recompile your class library & you should hear a familiar tone on boot.
using this strategey, you can use your engine .sc
class code as-is and test out commands in a seperate .scd
file using CroneTester
. first, set the engine - CroneTester.engine('myengine');
- then send a command CroneTester.cmd('mycommand', [array, of, arguments]);
. for midi-like code you can use a snippet like this:
MIDIdef.noteOn(\keybOn, {
arg vel, nn, chan, src;
CroneTester.cmd('noteOn', [nn, nn.midicps, vel]);
})
MIDIdef.noteOff(\keybOff, {
arg vel, nn;
CroneTester.cmd('noteOff', [nn]);
});
See also: Mac OS specific instructions
patch value of ext_addr
/ ext_port
in function o_init
in /home/we/norns/matron/src/oracle.c
to point to your desktop IP.