On Dec 25, 2004, at 11:04 PM, James McCartney wrote:
variants only define default settings. if you set them then that
always overrides.
yeah, i understand that much. sorry i haven't had explained this very
clearly. in this situation:
(
x = SynthDef("varianttest", { |freq=200, gate=1|
Out.ar(0, SinOsc.ar(freq, 0, Linen.kr(gate, 0, 1, 0, doneAction: 2)));
}).variants = (alpha: #[\freq, 400]);
x.store;
)
Pbind(\instrument, "varianttest.alpha").play
the \freq in the default parent event overrides the \freq in the
synthdef variant. that doesn't seem intuitive. of course you could get
around it by supplying a protoEvent:
Pbind(\proto, (freq: 400), \instrument, "varianttest.alpha").play
but that defeats the purpose of using the variant. (and the purpose of
using the variant is not just to save on typing -- this is a
simplified example from a more complex little project that requires
the use of variants).