[chuck-users] comments, questions about chuck
gewang at CS.Princeton.EDU
Thu Feb 16 00:25:26 EST 2006
> * 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
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
may be really difficult to do efficiently. This is the subject of
> 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