jerohm wrote:
'ConB' SHOULD be able to be set using an 'A' variable. Many waveshapes can operate equally well with either 0 or 1, and could be set as a random value(0 or 1) at inception.
============
there SHOULD be a variable that tells whether a file is being invoked as a waveshape or a particle... can't give you a good reason why, but it seems logical...
============
a function f(a,x) that returns 1 if(a == 0 )
otherwise returns x, for conditional multiplications ...
Maybe I am dumb, but it took me forever to find a reasonable solution ... which ended up depending on -1/1 rather than 0/1
============
implement "? :" expression operator INSTEAD of preceeding suggestion...
complement operator '~' might also be nice...
As a config programmer (of sorts), I like your suggestions, particularly the first. Perhaps if ConB=2?? Hmmmmmmm....? Can we use operators equivalent to AND/OR operators? I think the keystroke ^ is OR. THe implementation of these logic-based operators since GF 2.6 has left ppl like me who don't know much of hands-on programming somewhat lost.
As to your point that there should be an indicator as to whether a waveshape can be used as a particle, this is where the dreaded Meta line comes in handy.
If you notice at the end of every bundled waveshape syntax file, there is a line dedicated to this, which essentially tells the computer how simple or complex the effect in question is to be. There are four basic parameters to a Meta line, to which more can be added if you're into more complicated designs.
One of these, however, called the Morphable, is the sole determiner of whether the WaveShape is computed as such, or as a Particle. Quite simply, omitting this parmeter from the Meta declaration will tell the GF processor, "this is a Particle. Make it dance on its own."
I hope this helps.
EDIT 2: Re your first point, I'm not sure if A can be used as a variable in the sense you're proposing, since A is used by the syntax as a value randomizer. Some kind of function might be used thus:
ConB = x(0,1) // let x = function to be determined.