This section lists advanced patches and tweaks that could get applied to norns.

Use at your own risk, and be aware that those could get reverted by updates.

additional audio ports via USB

connect-opz (lines thread) is the most advanced attempt at this, doing most of the heavy work by modifying the jackd routing.

Made to work with a Teenage engineering OP-Z, but may be adaptable to other USB audio interfaces.

decrease encoders sensitivity globally

depending on encoder knob diameter, encoders may feel a bit too sensitive or not enough.

nmEncoderTest allows you to interactively test sensitivity settings.

Patching allows us to tweak their values /home/we/norns/lua/core/encoders.lua (original source).

global menu sensitivity of each encoder can be tweaked with var encoders.sens.

default script sensitivity of each encoder can be tweaked with var sens.

Values go from 1 (high sensitivity) to 16 (low).

We can prevent scripts from setting their knob sensitivity by overriding function norns.enc.sens:

norns.enc.sens = function(n,s)
    if(_menu.mode == false) then norns.encoders.set_sens(n,s) end
end

Please note that some scripts may use threshold on the delta values of encoders turns to tweak their sensitivity, which is less patchable globally.

make arc act as encoders

globally, patch function _norns.arc.delta in core/lua/arc.lua:

_norns.arc.delta = function(id, n, delta)
  if n == 3 or n == 4 then -- only arcs 3 & 4
    _norns.enc(n - 1, delta/16) -- acting as e2 / e3
    return
  end
  -- [rest of function ...]
end

original message

for a single script, use arcify.