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?