homo-play-midi-note   scheme


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/libs/contrib/rtmidi-scm.xtm

Implementation

;; homophonic playnote
(define homo-play-midi-note
  (let ((notes (make-vector 127 0)))
    (lambda (time device pitch velocity duration channel)
      (if (> time (vector-ref notes pitch))
    (let ((dur (- duration (* 2 *au:block-size*))))
      (vector-set! notes pitch (+ time dur))
      (callback time 'midi_send device *midi-note-on* channel pitch velocity)
      (callback (+ time dur) 'midi_send device *midi-note-off* channel pitch velocity))))))


Back to Index

Similar Entries