[chuck-users] comments, questions about chuck

Ge Wang gewang at CS.Princeton.EDU
Thu Feb 16 00:25:26 EST 2006

Hi Charlls!

>  * ugen/plugin infrastructure; what headers you include? what classes  
> you inherit?

While the framework for both statically and dynamically adding new  
classes and unit
generators exists, only the static one is exposed.  Look into any of  
the ugen_*.cpp or
ulib_*.cpp as an example.  These are pretty cumbersome, we definitely  
hope to
improve them at some point.

> *** how much multithread-eable could be chuck; in other words, how  
> possible is to implement shreds in a true multithreaded mode where  
> each shred can run in a different core, but keeping the  
> sample-synchronous approach?

Having multi-core isn't hard, but keeping the sample-synchronous nature  
between cores
may be really difficult to do efficiently.  This is the subject of  
future research.

> i imagine one could relax that to a "block-synchronous" multi-shreding.

There has been some thought put into adaptively optimizing by putting
things into blocks when possible, as advised by the shreduler.  There
was a discussion of it here:


>  * dynamic allocation of resources; of course, this could be  
> implemented on top of the language; for example, creating a fixed  
> number of audio buffers and calling .read as a score progresses a  
> number of times in the same sndbuf object would (i imagine) free the  
> previous allocated buffer and alloc for the new one.

There is certainly a goal.  Currently we can dynamically allocate  
in the language (via new) but garbage collection isn't done yet.  This  
hopefully be finished in the very near future.


More information about the chuck-users mailing list