This is the one I am fixing today :slight_smile: I’ve fixed where alt behavior == momentary, just need to decide how to go about it when alt behavior is set to toggle. :slight_smile:

Bugs, hopefully, squashed! Re-download and replace/ git pull to update.

3 Likes

Any idea why I’m getting this error (related to the polling object)?:

### SCRIPT ERROR: init
/home/we/dust/code/mangl/mangl.lua:152: attempt to index a nil value (local 'phase_poll')
stack traceback:
	/home/we/norns/lua/core/norns.lua:190: in metamethod '__newindex'
	/home/we/dust/code/mangl/mangl.lua:152: in function 'init'
	/home/we/norns/lua/core/script.lua:74: in function 'core/script.init'
	[C]: in function 'xpcall'
	/home/we/norns/lua/core/norns.lua:191: in field 'try'
	/home/we/norns/lua/core/engine.lua:89: in function </home/we/norns/lua/core/engine.lua:88>
>> reading PMAP /home/we/dust/data/mangl/mangl.pmap

Not quite sure. Can you post the output from the other REPL tab? The SC tab


  


warning: didn't find engine: Engine_Glut
cpu_peak
cpu_avg
amp_in_l
amp_in_r
amp_out_l
amp_out_r
pitch_in_l
pitch_in_r

I guess that’s a clue! I’m brand new to norns. I’m guessing I’m missing the GLUT engine… not sure where to get it…

1 Like

It’s here in the Library! I added Glut to the list of requirements in the top post, can’t believe I missed that :sweat_smile:

Thanks for the help. That worked.

1 Like

Enjoying mangl: https://www.instagram.com/p/B09jV-rhdAu/?igshid=sfdju1lqscd5

2 Likes

How’s that FATES board working for you? You running a Pi3 or 4? Also, what was the build time on that custom ARC???

God, I want an ARC so I can play with Mangl so bad. Hahah

1 Like

You can midi map every parameter that the arc controls! No need to wait for an arc :sweat_smile:

3 Likes

:expressionless:

Maybe I should read the docs now and then…

1 Like

My Fates is on a pi 3b (not the “+” version). I haven’t had too much time to play with it as of yet. After ironing out a few wrinkles it seems to be working pretty reliably. The DIY Arc is a complicated build: it uses 0603 parts (which are fairly small), 9 printed circuit boards, 5 rather tiny microcontroller’s, 256 LEDs. I’d guess there are several 1000 joints that need to be soldered in all; lots of places for things to go wrong.

2 Likes

Wow! Considering these builds are a hobby of mine, I guess my time would be better saving up cash and practicing music production, so I can just justify buying an ARC. Thanks for the info

bug? (thought it was reproducible, but now I can’t get it to happen again)

saw this in maiden when changing scripts away from mangl (loading study3.lua)

norns.script.load("code/we/study/study3.lua")
# script load: /home/we/dust/code/we/study/study3.lua
# cleanup
# script clear
pset >> write: /home/we/dust/data/system.pset
# script run
loading engine: PolyPerc
<ok>
lua: 
/home/we/dust/code/mangl/mangl.lua:224: attempt to call a nil value (global 'loop_pos')
stack traceback:
	/home/we/dust/code/mangl/mangl.lua:224: in field 'event'
	/home/we/norns/lua/core/metro.lua:165: in function </home/we/norns/lua/core/metro.lua:162>
Engine.register_commands; count: 6

I’ll attempt to repro tomorrow. Thanks for the info!

Was just playing with this again after a while … great stuff. And scrub mode is so cool.

Idea : quad scrub mode, where you scrub all 4 samples with the 4 arc encoders at once. Some kind of demented 4 deck minimalist DJ deck … boom!

1 Like

Rolled up my sleeves and did my first actual norns scripting. :slight_smile:

After a misstep or two I noticed encoders 2 and 3 don’t actually do anything, so I used them as proof of concept scrubbers. By default they scrub tracks 1 and 2. Hold alt to scrub 3 and 4.

I won’t do a pull request or fork just yet, as I want to keep tinkering, and do the scrubbing on the arc as planned.

For those that want it the code change is simple;

function enc(n, d)
  if n == 1 then
    params:delta(track .. "volume", d)
  end
  
  -- begin experimental quad scrubbing enhancement 
  
  if n == 2 then
    if alt then
      scrub(3, d)
    else
      scrub(1, d)
    end
  end
  
  if n == 3 then
    if alt then
      scrub(4, d)
    else
      scrub(2, d)
    end
  end  
  
  -- end experimental quad scrubbing enhancement
  
  last_enc = n
  time_last_enc = util.time()
end

There may be unexpected consequences, but seems ok so far.

2 Likes

Hmmmm… I wonder if I should just make parameter for switching between quad scrub mode and “classic” mode. I could even assign it to one of the unused encoders… turn right for classic, left for scrubs? Setting the 4 arc rings to scrub their buffers should be easy enough, I think. I need to look at the script again :sweat_smile:

Edit: @ether, I had completely forgotten about this, but a while back I wrote a Gist/mod of Angl called HC-ft (human controlled file transport lol). This might be of interest to you :slight_smile:

7 Likes

FYI I’m continuing to tinker with this, and have now experimented with adding grid support for more control, to good effect.

I’m thinking through ui ideas, and will probably fork this off into a new scene, tentatively to be called tangl.

5 Likes

Does this one support four stereo tracks, or are they mono?