[CM] with-threaded-sound?
Fernando Lopez-Lezcano
nando at ccrma.Stanford.EDU
Fri Jun 6 07:21:34 PDT 2008
On Fri, 2008-06-06 at 07:19 -0700, Bill Schottstaedt wrote:
> I just realized it's almost trivial to define a with-sound that
> puts each note in a separate thread:
Hey, that's very interesting... any tests in a multicore machine for
many notes spread into a few threads? Does this translate into linux
threads or is this internal to scheme?
-- Fernando
> (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"...
>
>
>
> _______________________________________________
> Cmdist mailing list
> Cmdist at ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
More information about the Cmdist
mailing list