[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] conditional statement in SynthDef



2005/8/31, James Harkins <jamshark70@xxxxxxxxx>:
> ...
> Also remember that the server knows nothing about the language.
> "if(high == 1)" is meaningless to the server (as is "freq = 220" in the
> if branch). The expressions are evaluated in the language once, when
> the synthdef is built, and the result is hardcoded into the synthdef
> structure. And, of course, anOutputProxy == 1 is always going to be
> false.
> 
>  > and < comparisons should work, though. someUGen > someUGen produces a
> BinaryOpUGen that outputs 0 when false and 1 when true.
> 
>        freq = if(high > 0, 440, 220);


OK, maybe this is a naive question, but why should > and < behave so
very differently from == within a synth? Seems counter-intuitive. Is
there any reason why "someUGen == someUGen" shouldn't produce a
BinaryOpUGen that outputs 1 when the signals match and 0 when they
don't?

Dan