Norns: scripting

so “scrolling” is a pretty high-level concept and would require a bit of extra plumbing.

i’d instead try to vertically condense the redraw() routine. you can fit 8 lines of text on this screen. removing the BPM indicator, etc.

4 Likes

I did this in a couple minutes, with no prior Lua experience. The code is so readable and easy to edit! This makes me very excited for the future w/ norns.

5 Likes

Playing with coding Oblique Strategies into norns. Fun!

17 Likes

How about using a press + encoder to select the edition (1,2, 3 or 4)?

(FULL DISCLOSURE: I downloaded all the text for the editions over the weekend for a “Let’s Build a Script to Learn Lua” exercise.)

2 Likes

i hate to always compare

but
if we can eventually load/change these psets via script that’d be pretty close to the dynamic territory found in the aleph preset system

yeah that’s possible now! wait for the parameter system study, or shortcut:

params:read(filename)

where filename is tehn/awake.pset or tehn/awake-01.pset etc

1 Like

I managed 8 tracks of PlayFair and the bpm on one screen!

Edit: I also added a random beat thing :smiley:

18 Likes

https://youtu.be/9Fjg3lQv1WI

An expansion/exploration of this past week’s norns studies. Headphones recommended!

Semi-sequenced, semi-random pentatonic sine waves.

Kill the clock (button 3) and use knob 2 to roam. Or roam with button 3, if you want. Knob 3 to drift. Button 1 to reset.

annotated code: pent_onym.lua (4.7 KB)

34 Likes

playfair mods :smile:

bloatfair.lua (3.3 KB)

norns is a drum thing
https://youtu.be/GCUsdhP0ofs

edit: i’ll post a new/better version of this soon

11 Likes

here is a short piece i did using this awesome script!!

11 Likes

was able to add a simple and very inelegant stop and start functionality to this last night. but i was wondering if anyone has sorted out how to send midi clock over usb? stop and start etc. i see my midi interface when i plug it in but don’t have a clue how to get that going. . . perhaps i will have to wait till the 5th study?

1 Like

I just came here to ask if anyone had worked on sending midi clock out! being able to sync up with my eurorack would be awesome.

Start and stop are very useful additions!

3 Likes

Got inspired by @burn last night to put my paltry Lua skills to the test and create a random Oblique Strategies generator - got it working!!

One syntax question, though: when using screen.text(), is it possible to insert a line break in the text you’re displaying? Some of those lines are quite long, and \n and \z didn’t do anything.

For context, I dumped a bunch of “strategies” to a table in Lua…

EDIT: Haven’t figured out the line break issue yet, but I did figure out how to implement a musical scale in my script and use the PolyPerc engine :slight_smile:

15 Likes

17 posts were merged into an existing topic: Norns: Development

This is so great! Please share if you wish.

1 Like

:slight_smile: Will do, once I clean the code up a bit (be forewarned, though - I’m sure the shared version will still be messy!) I’d also like to implement a counter displaying the index of the displayed strategy — just waiting on the second study to give me a nudge in the right direction for that.

2 Likes

mod note: moved conversation about globals to Norns: Development

4 Likes

a new low.

22 Likes

This sounds like an easy problem to solve, but I am having a bit of trouble.

Is there an easy way to make an int wrap around a range in lua? For instance, I want enc1 to increment/decrement a value, wrapping at its upper and lower bounds.
i.e. in a range of 1 - 8, 8 + 1 would be 1.

1 Like

modulo (%) is your friend.

for example: 9 % 8 = 1

1 Like