OK, changing it from a params:set, to params:delta seems to work better. I’ve noticed that whatever mechanism compass uses when the commands change the loop start & end, that doesn’t get reflected in the Arc leds (though it’s possible that that actually makes sense, the start/end defines the bounds for the softcut start/end).

I might have to take a look at this one, but you may be able to get the feel better through adjusting the second parameter in arcify:register() - just plugging in numbers and seeing what feels better?

I wonder if my code isn’t accommodating delta properly - I’ll take a look!

1 Like

Yes, I did try that. I suspect if I set the second param=1 it might work as expected.

Edit to add, yes, that does work.

One of the problems I’m facing with this library is calculating a default response for the Arc encoders that feels “musical” across a wide range of parameters. Maybe I’ll look at how the midi mapping on the Norns does it

Hi! :slight_smile: I’m using arcify to map some parameters in a script using the string arcify: register (parameter name), everything works, only problem is that I can’t update the values ​​in real time on the main screen while on the parameters page they update without problems, how can I do?
here an example

How are you handling your redraw function? You might want to put it in a metro callback. Something like…

  local norns_redraw_timer = metro.init()
  norns_redraw_timer.time = 1/15
  norns_redraw_timer.event = function() redraw() end
  norns_redraw_timer:start()
3 Likes

You could also use the params:set_action function for each of the params, and then have the Norns redraw when that param changes. Depending on your script, my approach or @Justmat’s may feel more appropriate/take less code.

There’s an example of set_action in use in the studies here

2 Likes

I am a beginner in scripting and thank you very much for your patience!
I’m trying to edit the UHF script by adding LFO and Arc control.
I tried the @Justmat method and it works but slows down a lot and creates latency.
I attach the folder with the script if you want to try it and help me. the samples of the script “uhfrhythm” takes them from the DRUM folder that I created.uhfrhythm.lua (8.6 KB) uhfsetar.lua (8.5 KB) README.md (36 Bytes) arcify.lua (10.8 KB) hnds_uhf.lua (2.7 KB) uhf.lua (8.7 KB)

the result that i want is something like that but with the parameters that update on the screen. :grimacing:https://llllllll.co/uploads/default/original/3X/a/f/afa7d7b5d6fe6518b1054a76ad1ca5a4119dceb3.mp4

1 Like

I haven’t had a chance to look at this but you might want to try just increasing the rate of @justmat’s metro example. 1 / 30 might feel a little smoother. You do reach a point where the Norns can’t keep up though.

I’m away from my studio right now so I can’t tinker with your code but maybe start there?

Does this script still work when accounting for the new global params section? I would love a chance to use my arc with basically ALL my norns scripts, but I’m not getting read outs on the norns nor am I seeing it in the params when I try to drop it in on something like MLR for speed_slew rate

I’ve done a little more reading on this script and I get it now. I see where I made some mistakes with adding params. Will do some more building and testing later today.

2 Likes

I recently tore down my studio and put it in storage, so I haven’t been able to look at new Norns features or update any code. If anyone wants to give this a shot via pull request I’m happy to offer advice and explanation of the architecture.

1 Like

The test script seems to work, and being terrible at Lua, there’s a very good chance this is on me. I will try again with a more simplistic parameter than what I previously tried and see if I can get it working right.

Trying to add arcify to molly_the_poly. Very inexperienced with coding in general, trying to break into it with something useful.
Copied molly_the_poly so I won’t break anything. Threw arcify.lua into molly_the_poly’s lib. Copied the code provided on th github into molly_the_poly. Save the script. Molly is still working, but I don’t see anything in params. Did I not “instrument” the code? I’m not sure what I’m supposed to do once it is in the script. Reading the docs provided on github, but I’m not proficient in lua enough to understand what the next step is.

Test script works. Beets works. I’ll open up beets, maybe ill see what I’m missing.

Also, I have a push button arc 2. I would like to learn how to include the push button aspect to scripts as both an individual button for on/off pause/play and as a modify for the two knobs in order for 1 knob to adjust 2 values so that the arc 2 can do everything modern arc 4 can.

Feel free to message me.

Edit: The lovely folks here Discord Norns Study Group helped me out today. I am now able to map existing script parameters to my arc 2!

2 Likes

Awesome! I apologize for not getting to this faster but I’m glad it was that easy :slight_smile:

1 Like

It was definitely way out of my league, but with a mentor holding my hand I was able fully understand the changes we were making to the code (@synthetivv have I thanked you yet :wink: ) , and we got knobs moving! EDIT: I meting with @tyleretters this morning and we got push button support exposed.

ap.a_ = arc_obj or arc.connect()

ap.a_.key = function(n, z)
    Arcify:handle_shift(n, z)
 print(n, z)
end

With this, the arc 2 is outputting appropriate values that could be used with the shift function you’ve got going on. So I could make use of my push button support and make my arc2 an arc4 without taking any buttons from norns. But I’m not getting any functionality from shift at all. Not even from picking the norns keys in the params menu. Feel free to pm me if/when you’ve got time to talk it out.

@mimetaur I would be happy to help, considering I’m adding arcify to scripts to get practice.

2 Likes

Excellent - the pandemic pretty much packed up my studio for the last six months so I haven’t had a chance to dig my Norns out of storage.

I hope to return to the project of streamlining this for future users either by (better) 1) just integrating Arcify into the Norns OS or (more annoyingly) 2) rolling through a bunch of popular scripts and submitting pull requests with Arcify support.

1 Like

In the example code there is a capital-A Arcify (the Arcify class) - and a lowercase-a arcify (an Arcify object, an instance of the Arcify class)

See: https://github.com/mimetaur/arcify

I’m not sure how you have things named, but you may be trying to call handle_shift on the class instead of the object, which won’t work.

1 Like

I was calling the class and not the object, good catch. Changing to lower case fixed the issue. Now changing the shift key to key 2 in params is taken over by the second arc button! pressing the second norns key does nothing, and I’m getting the exact functionality I was hoping for! Thank you! I haven’t put every useful param in the list yet, but I have arcify’d molly_the_poly exactly like I wanted.

2 Likes

Edit: Okay got it adjusting the hz and amp!

Trying to get Arcify to work with a newly acquired arc. Not getting any response from arc. Arc seems to be functioning normal with other scripts. TestSine file appears in WE folder.

Any recommendations? Thanks.

1 Like