> Well, I don't know that it would be impossible to implement; maybe just > hard. You'd probably have to accept some delay when the processing graph > changes due to the recompile. However, if it's done in a separate > process, it could be done without any break in the audio processing.
the implementation is definitely not impossible ... you could just parse the dsp graph for multiplication ugens, followed by a filter ugen, and then replace both ugens by one single ugen. in this case, things may already get more complicated. there need to be two versions of the multiplier/filter ugen, one for signal multiplications, and one for scalar multiplications. you need a proxy object in the dsp chain, that references the multiplier object as well as the filter object to fetch the internal state for the ugens. then, maybe you don't use the |*~| object, but the |volctl~| object, which is a vector-scalar multiplication with a different interpolation scheme for the scalar factor ... so for each ugen, one would basically have to check the machine code to figure out the number of required registers is requires and whether it makes sense to write an optimized version ... of course, depending on a certain architecture (x86_64 has about 2 times more registers than x86) ... it is not impossible, but requires a lot of hand-tuning and a lot of code to be written ... i am somehow more confident about running the dsp graph on multiple cpus than introducing cross-ugen optimizations to gain performance ... cheers, tim -- [EMAIL PROTECTED] ICQ: 96771783 http://tim.klingt.org Every word is like an unnecessary stain on silence and nothingness Samuel Beckett
signature.asc
Description: This is a digitally signed message part
_______________________________________________ nova-dev mailing list [email protected] http://klingt.org/cgi-bin/mailman/listinfo/nova-dev http://tim.klingt.org/nova
