An opinionated template and workflow for developing scripts for the monome norns sound computer.
A solid starting point, and a workflow for developing locally, then syncing to the norns. This template is opinionated in that it provides style, structure, tools, and executable workflow tasks to help along the way. It's designed to be used with Visual Studio Code, but can be used with any editor.
See DEVELOPMENT.md for detailed information on the template and development workflow.
To get started with the template, you can select "Use this template" for this repository and make sure you have the necessary tools installed on your local machine (see DEVELOPMENT.md).
Once you have a new project created from the template, follow these steps to get started:
-
Rename entry script – in the project root, rename the
template.lua
to the name of the script you are developing. For example, if you are developing a script calleddrone monster
, rename themain.lua
file todrone_monster.lua
. -
Update script name – in
.env.development
, update theSCRIPT_NAME
variable to the name of your script. For example, if you are developing a script calleddrone monster
, update theSCRIPT_NAME
variable todrone monster
. -
Run push script task – Trigger a sync of your script to the norns device by running the provided Visual Studio Code task:
- Open the command palette (
Cmd + Shift + P
) - Run the
Tasks: Run Task
command - Select
⤴ norns: push script
or running the following command from the project root:
# run push to norns script $ bin/dev/push_to_norns.sh
- Open the command palette (
-
Launch your script on the norns device – navigate to the
SELECT >
menu on the norns device and select your script to run it.
📝: below is a scaffold of a README for your script. edit and update as you see fit.
-- a one-line description of the script
-- a longer description of the script
-- a list of features
- feature 1
- feature 2
- …
- norns (version 240424+)
- grid
- crow
- midi (optional)
- …
from the maiden REPL:
;install https://github.com/…
-- basic usage
encoder | description |
---|---|
E1 | changes the value of something |
E2 | changes the value of something else |
E3 | unassigned |
key | description |
---|---|
K1 | does something |
K2 | does something else |
K3 | unassigned |
-- details about script params and params menu
-- links to community, discussion, videos, etc.
-- shoutouts to others
Distributed under the terms of the GNU General Public License v3.0.