; amend device number accordingly
-Q999
;Example by Iain McCurdy
ksmps = 32 ;no audio so sr and nchnls omitted
instr 1
;arguments for midiout are read from p-fields
istatus init p4
ichan init p5
idata1 init p6
idata2 init p7
kskip init 0
if kskip=0 then
midiout istatus, ichan, idata1, idata2; send raw midi data (note on)
kskip = 1; ensure that the note on will only be executed once
endif
krelease release; normally output is zero, on final k pass output is 1
if krelease=1 then; i.e. if we are on the final k pass...
midiout istatus, ichan, idata1, 0; send raw midi data (note off)
endif
endin
;p1 p2 p3 p4 p5 p6 p7
i 1 0 4 144 1 60 100
i 1 1 3 144 1 64 100
i 1 2 2 144 1 67 100
f 0 5; extending performance time prevents note-offs from being lost