- Select requires a UGen input for the index.
- An index such as
linExp > 0.5
is a UGen iflinExp
is a UGen. - In a SynthDef, arguments are automatically promoted to UGens (outputs of a Control). So one might have expected argument linExp → promoted to UGen → comparison op → UGen result → Select would be fine.
- But an *ar method of a pseudo-UGen class does not promote arguments to UGens. If you pass a fixed number for linExp, it will do e.g.
0 > 0.5
and producefalse
and break Select.
But Maths2 could detect the Boolean comparison results and prune branches that will never be used (which would be more efficient than simply wrapping numbers in UGens).
hjh