:>   macro


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/libs/core/pattern-language.xtm

Implementation

;; start or modify looper
(define-macro (:> tag . args)
  (let ((tagtime (string->symbol (string-append (symbol->string tag) "_tagtime"))))
    (if (not (defined? tagtime)) (eval `(define ,tagtime (now)) (interaction-environment)))
    (if (< (eval tagtime) (- (now) (* 2 *second*)))
        (eval `(define ,tag #f) (interaction-environment)))
    (if (and (defined? tag) (closure? (eval tag)))
        `(rmap-loop-runner ,tag ,tagtime modify ,@args)
        `(rmap-loop-runner ,tag ,tagtime start ,@args))))


Back to Index

Similar Entries

  • 1900->1970    scheme
  • 1970->1900    scheme
  • <>    scheme
  • anyatom->string    scheme
  • char-ci>=?    scheme
  • char-ci>?    scheme
  • char>=?    scheme
  • char>?    scheme
  • clock->samples    scheme
  • exact->inexact    scheme
  • file->string    scheme
  • list->string    scheme
  • list->vector    scheme
  • number->string    scheme
  • pc:chord->scale    scheme
  • samples->clock    scheme
  • string->anyatom    scheme
  • string->list    scheme
  • string->number    scheme
  • string->sexpr    scheme
  • string-ci>=?    scheme
  • string-ci>?    scheme
  • string>=?    scheme
  • string>?    scheme
  • vector->list    scheme