[CM] with-threaded-sound?
Bill Schottstaedt
bil at ccrma.Stanford.EDU
Fri Jun 6 07:19:39 PDT 2008
I just realized it's almost trivial to define a with-sound that
puts each note in a separate thread:
(defmacro with-threaded-sound (args . body)
`(with-sound-helper (lambda ()
(for-each
(lambda (expr)
(call-with-new-thread
(lambda ()
(eval expr (current-module)))))
',body)
(let ((us (current-thread)))
(for-each
(lambda (expr)
(if (and (not (thread-exited? expr))
(not (eq? expr us)))
(join-thread expr)))
(all-threads))))
, at args))
(with-threaded-sound ()
(fm-violin 0 1 440 .1)
(fm-violin 0 1 660 .1))
Now to get rid of that "eval"...
More information about the Cmdist
mailing list