[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