deprecated - head to passthrough v2
passthrough
A library to pass midi between devices connected to Norns.


passthrough is intended as a simple solution for routing midi between external devices connected to norns. it may be considered midi thru for norns, defined at a script level, with a few extra functionalities added.
introduction
with passthrough, norns can be used as a midi routing hub. the internal nomenclature of the library defines two midi ports as either device or interface.
a device is conventionally dedicated to controlling, for example, a midi keyboard, sending note or control change data. an interface, often a device that generates sound, receives this incoming data and does something with it such as play incoming notes.
it is possible to send midi clock messages to the device from the interface. one peculiar feature of passthrough, that extends a typical midi thru functionality is that incoming notes from the device can be quantized to a scale if desired.
use cases
- send notes through norns from a usb midi controller to a midi-compatible synthesizer.
- scale quantization of incoming midi note data from controllers
- by leveraging callbacks at a script level, incoming midi events can be shared between norns engines/parameters and external hardware
requirements
norns + midi compatible hardware.
if your hardware does not offer midi via usb, an interface such as an iConnectivity mio helps to connect with 5-pin midi ports.
installation + documentation
passthrough is extensively documented on Github and is mirrored on norns.community
tldr:
;install https://github.com/nattog/passthrough
then add to any script:
if util.file_exists(_path.code.."passthrough") then
local passthru = include 'passthrough/lib/passthrough'
passthru.init()
end

)