(not sure this is the right place for this!?)
@tehn ,I was playing with Earthsea yesterday (latest build) looking at the midi, as i wanted to play with the new api
I noticed whilst this is working , its not using the new virtual devices, as I could not force it to use a particular midi device - it used all.
my assumption is that the recommendation is to move away from midi_add setting d.event .
rather we should do something like:
(pseudo code, had it working last night, but didn’t save it)
local midi as Midi.connect(1)
…
init()
…
if midi then midi.event = midi_event end
…
the difference is…
midi virtual device by default is all, so for most users it wont appear any different,
but it allows the user to use the System menu to now choose a specific device if they want.
also I thought the midi refactoring was going to include filtering , seems odd that every script writer should have to still need to know the midi code for note_on 
perhaps if this was not wanted to be ‘hardcoded’ in norns (not sure why not, midi spec is pretty static), then perhaps some canned functions in dust/lib?
so we do something like
midi.event = stdmidi_handler(note_on, note_off, cc)
(where params are funcs and can be nil if your not interested in handling these midi messages)