[chuck-dev] Patching core files to provide VST support.

Robin Davies robin.davies at quest.com
Wed May 30 14:02:43 EDT 2007


So, I'm wondering... 

I don't image that the external Ugens have been fixed yet, have they? 

If not, would you be interested in taking a patch that re-enables them? 

My own personal burning desire: support for VST in chuck. My personal
feeling about chuck right now: the fixed list of audio-rate ugens is
constraining, wonderful as STK is. Chuck sequencing and precision in
conjunction with commercial-grade VSTs would be a killer combination.

And to that end, I'm willing to contribute some effort to bring up the
external ugens. For licensing reasons, you wouldn't want VSTs to be
internally implemented, I think, because you'd pick up the Steinberg
licensing requirements. 

Pieces of work that I'd see as being necessary. (I've reviewed the
relevant sources in about the 1.2.0.4 timeframe, and I'm guessing that
the general gist of the sources remains the same).

-   Rework the audio processing spine to allow for 
    block processing of audio between successive events. (One sample at
a time incurrs a massive 
    performance hit when interacting with VSTs: 10x + in common cases,
and the same would be true of 
    external ugens, generally. The alternative would be buffering, but
I'd like to push for gold). 
    The general idea: circular dependencies in the audio-rate
connections would cause a fall-back to 
    sample-at-a-time processing; non-circular references would allow a
mixture of block-based and sample-based
    processing.
-   Resurrect and re-enable the external ugen code. It 
    appears to be mostly there, and probably fixable, but 
    missing access from the language itself. I can provide coverage and
test cases for for 
    Win32/Visual studio and cygwin/g++ compiles.
-   Publish an opensource implementation of an external VST ugen.  

That's a fairly modest bundle of work, but will touch a passel of core
files. 

How stable are the core sources right now? If I take a week or two to do
this what are my chances of facing a merge nightmare once I'm done? 

Is now a good time to do this kind of thing? Are you interested? Is this
more of a help than a hindrance at the present time?






More information about the chuck-dev mailing list