[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:

      
https://lists.cs.princeton.edu/pipermail/chuck-dev/2005-September/ 
000090.html
      
https://lists.cs.princeton.edu/pipermail/chuck-dev/2005-September/ 
000091.html

>  * 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  
objects
in the language (via new) but garbage collection isn't done yet.  This  
will
hopefully be finished in the very near future.

Best,
Ge!



More information about the chuck-users mailing list