;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; original mplay from Andrew's implementation
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(impc:aot:do-or-emit
(define-macro (mplay . args)
(if (length-equal? args 5)
`(play-midi-note (*metro* beat)
,(cl:nth 0 args)
(helper:midi-val ,(cl:nth 1 args))
(helper:midi-val ,(cl:nth 2 args))
(*metro* 'dur ,(cl:nth 3 args))
(real->integer ,(cl:nth 4 args)))
`(play-midi-note (*metro* (+ beat ,(cl:nth 0 args)))
,(cl:nth 1 args)
(helper:midi-val ,(cl:nth 2 args))
(helper:midi-val ,(cl:nth 3 args))
(*metro* 'dur ,(cl:nth 4 args))
(real->integer , (cl:nth 5 args)))))
)