Nice one, thanks! Turns out there was a whole load of scripts I’d been missing out on :joy:

1 Like

Created a version of the script that uses the Arcify library to add programmable/definable arc control to all 4 parameters:

grd_arcify.zip (2.5 MB)

Thought this could be fun for anybody looking for a bit more control over the 4 parameters at any time.

EDIT: Turns out I was totally wrong!!! I have arcify changing the numbers, but its actually not causing any changes to happen to the script/result itself!

Soooooo… huh… I retract my prior statement. If someone maybe has some thoughts as to why that might be the case, might working along side me?

6 Likes

pm’d, but for the curious…

when the encoders are used to control _delta and _duration in the original script, they perform two actions:

function enc(n,d)
...
  elseif page == 1 then
    if n == 2 then
      _delta    = sc.clip(d*0.01 + _delta, 0.01,1) --first thing
      metro_send.time = _delta --second thing
    end
    if n == 3 then
      _duration = sc.clip(d*0.01 + _duration, 0,1) --first thing
      engine.pong(sc.linexp(_duration, 0,1, 0.2,23)) --second thing
    end
  end
end

if we want to create another controller option for those two variables, we just need to ensure that we’re performing the necessary second action as well :slight_smile:

so instead of:

params:set_action("_duration", function(x)
    _duration = x --just the first thing
end)

we’ll need:

params:set_action("_duration", function(x)
    _duration = x --first thing
    engine.pong(sc.linexp(_duration, 0,1, 0.2,23)) --second thing
  end)
2 Likes

I will add these as practice and reenforcement and post a zip later today

Thanks dan!

2 Likes

As someone just getting involved in this corner of the synthesis world, I have to say that it is nice to have something calming to listen to while digging through code and docs. Thanks for this!

4 Likes

@dan_derks amazing explanation really helped. I have the script now working with the arc.

I will post a zip here for now and will eventually start a github for PR’s as this is a good way to start getting in to a bit of the scripting.

grd_arcify.zip (2.5 MB)

5 Likes

This is incredible, thanks so much!

1 Like

My pleasure! I’m gonna to look at auto-assigning the parameters to the knobs in this order:

_r _g _delta _duration so that it’ll auto-boot correctly.

It’s been a lot of fun exploring the addition of arc control to the script and I’d like to do it to more

2 Likes

Installed grd (from within maiden) on my second factory norns and am getting the following error after restarting sc and maiden on that device. Tried re-installing and same issue. Not sure how to proceed, it’s functioning fine on the other norns device:


ERROR: Variable ‘root’ not defined.
in file ‘/home/we/dust/code/grd/engine_grd.sc’
line 11 char 12:
root = 50;

	group  = ParGroup.tail(context.xg);

ERROR: Variable ‘root’ not defined.
in file ‘/home/we/dust/code/grd/engine_grd.sc’
line 42 char 18:
([0,12,24]+root).do { |base,i|

			key = d2k.((m[i*8+1]*8).asInt, mode);

ERROR: Variable ‘root’ not defined.
in file ‘/home/we/dust/code/grd/engine_grd.sc’
line 59 char 3:
});

}

other user encounters same error, which is system-breaking:

looks like it could use var root; at the top of engine_grd.sc. (but mysterious that it would work sometimes.)

I had this failure tonight too after updating all apps. Had to remove Grd to get my fates to stop throwing the SC fail. I guess this makes 3 of us so far?

I’ve nothing helpful to add here other than to say I also got the Variable ‘root’ not defined error after sending the script, and restarting maiden and sc.

Looks like a stunner of a script! Will keep an eye on the thread for updates. @mmml and @coreyr - if you manage to get it working in the meantime will you share your workings?

my mistake!
while working on the update i accidentally pushed a commit and introduced a bug…
i will try to fix it and post here!

Ok. it’s fixed now! sorry for the trouble.

2 Likes

Thank you for fixing so quickly. I am now getting a ‘missing Grd’ error. Any thoughts on what might have caused this?

Here’s the full error:

norns.script.load(“code/grd/grd.lua”)
script load: /home/we/dust/code/grd/grd.lua
cleanup failed with error: /home/we/dust/code/grd/grd.lua:177: attempt to index a nil value (global ‘m_draw’)
script clear
ERROR (i2c/hp) failed to write
including /home/we/dust/code/grd/lib/sc.lua
pset >> write: /home/we/dust/data/system.pset
script run
loading engine: Grd
SCRIPT ERROR: missing Grd
reading PMAP /home/we/dust/data/grd/grd.pmap
m.read: /home/we/dust/data/grd/grd.pmap not read.

have you done this?
;restart

you may need to reboot norns if it persist

1 Like

A quick reboot worked! This is GLORIOUS. Thank you so much.

@yota thank you! Installed, rebooted, and working properly.

1 Like

This is amazing thank you.
Would love to see a sample menu linking to those 7 files and letting you choose whatever samples u have in norns. It’d make things a bit more convenient.
Such a meditative thing never the less.

4 Likes

v2.0 enjoy!

15 Likes