Hi everyone,
After talking to Dan a little bit, I decided to make a few quick
UGens that do some basic Boolean stuff. They return 0 for false,
1 for true. There is:
IsEqual, IsNotEqual, IsLess, IsLessOrEqual, IsGreater,
IsGreaterOrEqual
These can be used pretty easily in the SynthDef if statements for
a good either / or result.
There are helpfiles for them, as well as a new helpfile for
Balance (which also has some improvements).
You can get them all at:
http://homepage.mac.com/joshpar/JoshUgenPack.tar.gz
Josh
******************************************
Joshua D. Parmenter
http://homepage.mac.com/joshpar/
"...Some people think a composer's supposed to please them, but in
a way a composer is a chronicler... He's supposed to report on
what he's seen and lived."
-Charles Mingus
On Sep 3, 2005, at 1:33 AM, Dan Stowell wrote:
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
_______________________________________________
sc-users mailing list
sc-users@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-users
_______________________________________________
sc-users mailing list
sc-users@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-users