The REPL is on the screen with the >_ icon. You are able to type lua commands at the bottom of the page (docs here)

Screen Shot 2020-04-17 at 3.36.17 PM

But - that’s for lua things, not for command line things.

This is done via a terminal application and SSH - not in maiden. The the top post here for installation instructions.

If you install a script that includes an engine, you will need to restart. Either SLEEP then power off/on, or you can use the RESET menu item, although this will also reset your volumes, etc.

There shouldn’t be. Be sure you’ve updated - see the fates releases page for details

2 Likes

So am I connecting my Norns Via usb to the computer for this?

Forgive my ignorance but what SSH and how do I get there?

Am I typing these highlighted quotes in SSH?

just added to all the docs :slight_smile:

When connected via WIFI you can SSH into norns from another computer on the same network at the IP address shown in SYSTEM.

  • open a Terminal on a Mac/Win/Linux computer
  • execute ssh we@norns.local or ssh we@<IP_ADDRESS_SHOWN_IN_SYSTEM>
  • password: sleep

then execute the highlighted commands

2 Likes

Is there a way to access matron via SSH?

yeh! editing our video session this week and will update docs with this, but in the meantime:

ssh we@norns.local
norns/build/maiden-repl/maiden-repl

3 Likes

Ahh! Perfect. I just added this to /home/we/.bashrc so now I can just just type matron from anywhere:

alias matron="/home/we/norns/build/maiden-repl/maiden-repl"

3 Likes

Anyone have success with watchers that automatically re-run your script on save?

I’m starting a new project and want to use my own IDE instead of maiden. There are going to be a lot of includes and I don’t want to switch to the CLI or matron every time I save to re-run norns.script.load("code/thing/thing.lua") or click (gasp) on the main script cmd+P.

So it’d be something like:
while inotifywait -e close_write thing.lua; do MATRON THING norns.script.load("code/thing/thing.lua"); done

I’ve not tried this myself. The desire to trigger a script load from the command line has come up enough that I’m tempted to hack something up. The thought of using it with inotify is indeed enticing.

Would you expect to run the above on device or on whatever is running the IDE (I’m assuming on device)?

On device. Just have an SSH window open to norns in the background.

Sidenote: right now I’m just working in my IDE and then cmd+tab over to maiden and cmd+P so that works out pretty well.

can someone confirm the package manager pulls the latest commit on the default branch?

yes, it’ll just pull from your main branch :slight_smile:
users will have to refresh/update their local catalog to download the new commit, though. the commit tag should always align with the latest commit on the default branch.


2 Likes

To expand on @dan_derks answer there are three moving parts in the maiden package manager.

  • sources - are json config files which describe where the catalogs live. Each defined source appears as a group in the package ui. Currently there are two catalog source which get installed as part of the norns system update script - “we” and “community”. The code linked above is related to the maiden installation process and it includes theses source configs as part of the release.

  • catalogs - when the refresh button in the maiden ui is clicked for a catalog it is downloaded again from the source location which is configured (via git pull on the default branch). Changes to the “community” catalog are not seen on a device until the catalog is refreshed.

  • projects - when a project is installed via maiden it is copied to the device. The project can either be maintained in a git repository or as a HTTP accessible zip file. If the project is distributed via zip file then the install or update process simply removes the existing project directory, downloads the archive and extracts the content. If the project is distributed via git (this currently includes everything in the community catalog) then maiden will effectively git clone when installing and git pull --ff-only when updating. In both cases the default branch is used.

One feature of this system (which is “hidden” by lack of documentation) is that people can define their own catalogs by adding a new source config file which points at a personal catalog… useful when trying to manage personal scripts across multiple norns.

6 Likes

thank you @dan_derks & @ngwese. another absolutely brilliant system, just like everything else here.

Is it possible to put scripts into subfolders like «loopers», «sequencers» etc? Or does that mess up engine paths or other stuffs? Sorry if this has been asked before.

It’d mess it up. Some scripts could handle it but others couldn’t.

1 Like

there have been various proposals thrown around to organize scripts, and we haven’t quite identified the right path.

ideas include a favorite/star system, tags, and subfolders.

given the menu system itself is written in lua, this is all totally doable… the main issue is committing to a good design (and finding the time to execute it)

3 Likes

Sorting by tags is great, since it is already implemented in maiden and since scripts might fall into multiple categories.

1 Like

You can find some approaches related to this here https://github.com/monome/norns/issues/1067

20 chars of thank you!!!

i have a weird issue. i just updated molly the poly via the maiden project manager from v 1.0.1 to 1.1.0.

this worked, when i load the script from norns via main menu->select->molly_the_poly, the info page on norns displays the correct info (1.1.0).

but for some reason, the text of the script itself in maiden didn’t update. it still says 1.0.1 up top and doesn’t have any of the other changes reflected in the script. but if i press play from maiden, it loads version 1.1.0. this persists even after resetting norns.

very odd. i am going to try just removing and reinstalling it but seemed worth writing down somewhere just in case!

edit: persisted even after i did that, which lead me to discover it’s a safari specific issue. safari is caching something it shouldn’t, so maybe not anyone here’s problem