you might be right
but does that mean if i wipe all the apps and reload them from maiden i shouldn’t encounter this anymore?

usually there is an error which i share when i’m back home to test

Not sure what you mean…after removal and re-installation

question/suggestion: would it be possible to have an alert or something similar when saving script changes (maybe over a certain threshold, like x # of lines/files added/deleted) in maiden? something that could be turned on/off?

my scenario: now that I’m wfh, I’ve been using 2 different laptops w/ multiple maiden tabs open. I very stupidly overwrote about 5 hours of work as I only clicked “connect to maiden” before continuing from my other computer today.

no problem if this is too much. maiden is great and this is hopefully not a mistake I’ll be making again.

edit: alternatively, could clicking “connect to maiden” trigger a refresh? (though if someone were working and had to take care of something and in the process got disconnected prior to saving, this wouldn’t be good)

I’m sorry to hear that you lost a bunch of work. That is really unfortunate.

The “connect to matron” (or “connect to sc”) buttons only relate to the functioning of the the respective command REPLs - the state of edited files are a completely separate thing.

As currently implemented the maiden editor is not really safe to use from multiple machines. Each time a file is selected in the file tree the entire file/script is copied into memory in the browser. If the script is subsequently saved or run the current state of that file in the browser is currently sent back to norns and saved on the device so that matron (the lua control layer) can load and run the file.

What might make the most sense is for maiden to check to see; on run or save, if the file back on norns has changed - if it has then maiden could present a warning that work could be overwritten and offer to continue or to save the current file with a new name. How does that sound?

UPDATE: I’ve created an issue on GH for this

2 Likes

that’s exactly what I had in mind, I just hadn’t thought to check norns for changes first. seems like the best way to go about it.

the loss work of work led to more interesting results when trying to duplicate what I had done, so that’s no big deal at all.

2 Likes

Hey there just now getting my Norns (fates)

Have a few questions concerning maiden

  • Am I typing on the top line for the script?

  • Having trouble understanding how to install orac and use with my norns anyone care to walk a first time user through something like over dm perhaps?

  • Do I need todo anything to norns while I’m installing new apps and such?

Also getting a rather blank screen when looking for apps and there isn’t a refresh button of sorts like seen on other screens. Wondering if there something else there has to be done here since its a DIY norns?

Thanks for your time!

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