i am hell bent on two fates with my norns and my pisound so this makes me smile

less space than a laptop

norns has changed the game for me too

peace

1 Like

here is a gist of an Otis + Boingg combo script.

since otis already uses an engine, i had to remove boinggs audio output engine. the choices are now either cv out via crow, or sending i2c to JF. there is no documentation, but it functions just like otis with the addition of a 4th page. on the 4th page the controls are…

key1 = alt

enc1 = nav
enc2 = select note
enc3 = adjust note

alt + enc2 = tempo

key2 = start ball
key3 = stop ball

nb: you can use a grid to control boingg while focused on the other otis pages.

Edit: just realized that the include lines will only work if the file is saved in your Otis folder. I’ll update the gist with the appropriate path tomorrow!

edit the second: script is now updated with the correct include paths

17 Likes

I’ve been thinking about this. Has anyone taken a swing at it?

Being able to instantiate and connect modules from different sources without touching code seems super cool.

ive made a fugu+reels script once for myself, here is the link
i think there was a takt+reels, but i cant find it :slight_smile:

its pretty easy to include reels to any non-softcut script, guide is in top post here

7 Likes

Will boingg send midi as well? (No time to test atm, my norns is disassembled)

This is something I’m interested in exploring, especially post-Crow. I’ve been thinking about a project that combines sequencing with the grid alongside tiny utility modules similar to O_c hemispheres, for instance.

I think it would be cool to approach that architecturally as little modular chunks that can be instantiated as needed, so that the individual pieces can see some reuse instead of being mired deep in my script.

My experience so far is that when I try to spin something out into a stand-alone class on Norns, it ends up feeling logical to have one class that handles the real work, and one that deals with the UI-facing stuff like params and drawing to the screen.

Thinking this out a bit more… getting these things to be totally friendly to the non-programmer gets a bit more complicated. We need to make sure each module responds to all the same functions for instance. In some ways the hardest part is representing it through the UI!

5 Likes

@noiserock, boingg does not speak midi. at least not yet. :slight_smile:

i just uploaded an earthsea + bounds combo script. you can get it here.

after i finish a couple more i will probably make a library post for the “collection”, al a ash

12 Likes

Woot woot!

FYI, Otis/boingg was rock solid last night at my gig. Your hard work is highly appreciated.

3 Likes

Poking around with simultaneous functionality (simple proof of concept below). Not sure why I though cpu might be an issue, especially for my use cases; 5 voices of softcut and midi recording / manipulation and I’m seeing < 8% cpu (without reverb or engines etc).

Working on a linear menu flow for access to transfer function params between ‘scripts’ to adjust influence [ie script 1 <> transfer fxn1 <> script 2 <> transfer fxn2 <> script 3 …], but not sure where I’m going yet. My limited coding ability should help me narrow down the options :stuck_out_tongue_winking_eye:

6 Likes

Hi Mat, i’m having a problem loading the oats and earthsea/bounds combo.
i get an init error with a missing decimator engine. Where is that engine found?
Is there a special place these scripts need to be placed?

CroneEngine.free
WARNING: Cannot call free on a Buffer that has been freed
FAILURE IN SERVER /n_free Node 15929 not found
FAILURE IN SERVER /n_free Node 15930 not found
FAILURE IN SERVER /n_free Node 15931 not found
warning: didn’t find engine: Engine_Decimator

1 Like

I had the same problem adding the script via maiden. Try adding the folder directly via Cyberduck.

1 Like

ok that worked thanks :slight_smile:

2 Likes

Do combo scripts show in Maiden’s updater view? How are those suggestions “curated”?

I love everything about this stuff I just can’t piece it together for lack of brainzpower My current norns use case is more buddha machine-like perhaps. just pressing buttons for winding down. I’m so happy for it, and also just passively slow-learning stuff by browsing these threads is great.

Glad you got it working! The decimator engine was added to otis in an update, you may need to update your copy of Otis :slight_smile:

1 Like

Fantastic scripts thankyou!

1 Like

The updater view presents a list of scripts that have been added to a file in the https://github.com/monome/norns-community repo. There are a number of folks from lines who can add to that, including merge pull requests from other contributors. So if someone created a new script, or combo script, they should also create a pull request against the norns-community repo to expose their script in the updater.

Just curious if it’s possible to use say a looper script and a more effects based script at the same time?

I think I read that anything can be recorded to tape so I imagine if I can’t use multiple scripts I could just use an efx script on a recording from a looper script.

Just ordered a Norns shield and really excited. Loopers/samplers r a big part of my workflow and I think the Norns is gonna open some doors for me :hole:

the fugu/reels link you posted is down, any chance you could link it again? it’s not totally clear to me what should replace ‘— your script’ here. would be awesome to add reels to animator, fugu, etc

reels
function init()
   reels.init()
end

function key(n,z)
  if reels.active then
    reels:key(n,z)
  else
   -- your script
  end
end

function enc(n,d)
   if reels.active then
      reels:enc(n,d)
   else
   -- your script
   end
end

function redraw()
  reels:redraw()
end

also, thanks @Justmat for oats and earthbound! bummed i’m just finding these now, these are amazing

2 Likes

unfortunately i dont have it anymore.

to include reels into other scripts you need to modify script enc() and key() functions with if-else conditions from my example.

--your script - line where original function of script should be moved.

reels.init() and reels:redraw() should be just appended into corresponding functions

just getting around to this - works great. thank you! have been thinking about picking up a norns shield for this exact purpose. expands on the stock ‘tape’ functionality nicely. added reels to animator and showers, will get around to more and update here. quick audio snippet running showers, a field recording on reel 1 and me running my hands over a music easel keyboard into a short buffer on reel 2

3 Likes