Skip to content
master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

nest_

logo

nest is a language of touch for objects by monome

nest helps you build a touchable user interface for a norns script, and provides the tools to hook up that interface to whatever sound engine or musical process you’d like to interact with (a synth engine, a softcut looper, a lua sequencer, crow voltages & i2c). you're welcome to think about nest as a full-blown library, a markup language, or a maiden-scriptable application in the vein of teletype's grid ops.

it works by splitting up an interface (grid, arc, or norns itself) into any number of lego pieces called affordances, each with a unique value and unique behaviors configured through properties. these lego blocks can then be bound to your musical process using custom action functions (much like the params system). affordances are organized inside special tables called nests which help group your affordances and allow them to communicate with each other and with the hardware itself. a basic snippet of nest code might look a bit like this:

nest_ {
    my_affordance = _affordance {
        property = 5,
        value = 1,
        action = function(self, value)
            engine.do_something_with(value)
        end
    }
}

compatibility

nest is a tool for the monome norns ecosystem

while a norns by itself is technically the only requirement for nest (see the txt module), it tends to prove more useful when building interfaces with lots of input (grid, grid + norns, or grid + arc + norns). norns after all, just has three keys and two encoders, so many musical ideas can be expressed cleanly without this sort of system, and you get some more flexibility as a bonus (see the examples in norns studies, if you haven’t already). if you want to get a feel for the sort of textual norns interfaces the txt module can be used for, feel free to skip ahead to study 3.

studies

start here! the studies assume only basic knowledge of lua and the norns system (see norns studies if you want to get your bearings first).

get the study scripts by installing nest_ in the maiden project manager. feel free to play around with study scripts 2-4 on your grid before digging in to the rest! (if you’re using norns gridless, see the note above on compatibility).

  1. nested affordances

  2. multiplicity

  3. affordance overview

  4. state & meta-affordances

docs

modules

the various types and interface buidling blocks of nestworld are split up into a collection files/modules. at the very least, the core and norns modules are required for use with norns. click the links to read up on the full details of each module and the affordances contained.

including

typically, it will make the most sense to include nest by copying the required module files into your script's /lib/nest_ folder, including them like so:

include 'lib/nest_/core'
include 'lib/nest_/norns'
include 'lib/nest_/grid'
include 'lib/nest_/txt'

alternatively, you can incude modules externally (other users will need to install nest first): include 'nest_/lib/nest_/core'

About

a language of touch for objects by monome {.:}

Resources

License

Languages