Use Non-Frames Version Previous Page Next Page
Instrument Control: Conditional Values

> ,  < , >= , <= , == , != , ?


    (a >  b ? v1 : v2)
    (a <  b ? v1 : v2)
    (a >= b ? v1 : v2)
    (a <= b ? v1 : v2)
    (a == b ? v1 : v2)
    (a != b ? v1 : v2)

Description

where a, b, v1 and v2 may be expressions, but a, b not audio-rate.

In the above conditionals, a and b are first compared. If the indicated relation is true (a greater than b, a less than b, a greater than or equal to b, a less than or equal to b, a equal to b, a not equal to b), then the conditional expression has the value of v1; if the relation is false, the expression has the value of v2. (For convenience, a sole "=" will function as "= =".)

NB.: If v1 or v2 are expressions, these will be evaluated before the conditional is determined.

In terms of binding strength, all conditional operators (i.e. the relational operators (<, etc.), and ?, and : ) are weaker than the arithmetic and logical operators (+, -, *, /, & and ||).

These are operators not opcodes. Therefore, they can be used within orchestra statements, but do not form complete statements themselves.

Example

 k2 = (k1 < p5/2 + p6 ? k1 : p7)

binds the terms p5/2 and p6. It will return the value k1 below this threshold, else the value p7.


Use Non-Frames Version Previous Page Next Page
Instrument Control: Conditional Values