mplay   macro


Defined in:  https://github.com/lambdamusic/extempore-extensions/blob/main/init/init_playp.xtm

Implementation

;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 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)))))
    )


Back to Index

Similar Entries