-- ALSA sequencer support for OAK #INCLUDE "oak.inc" #INCLUDE "alsa.inc" --{{{ PROC alsa.seq ([]CHAN EVENT out!) PROC alsa.seq ([]CHAN EVENT out!) SEQ C.alsa.seq.init () WHILE TRUE BOOL ok: INT type: [4]INT args: SEQ B.alsa.seq.read.event (ok, type, args) ASSERT (ok) CASE type 1 out[args[0]] ! note.on ; args[1] ; args[2] 2 out[args[0]] ! note.off ; args[1] 3 out[args[0]] ! pitchbend ; args[1] 4 out[args[0]] ! controller ; args[1] ; args[2] ELSE SKIP : --}}}