class:: TWindex summary:: Triggered windex. categories:: UGens>Random, UGens>Triggers Description:: When triggered, returns a random index value based on array as a list of probabilities. By default the list of probabilities should sum to 1.0, when the normalize flag is set to 1, the values get normalized by the UGen (less efficient). classmethods:: method::ar, kr argument::in The trigger. Trigger can be any signal. A trigger happens when the signal changes from non-positive to positive. argument::array The list of probabilities. argument::normalize Controls whether to normalize the probability values. Examples:: code:: //assuming normalized values ( a = SynthDef("help-TWindex",{ arg w1=0.0, w2=0.5, w3=0.5; var trig, index; trig = Impulse.kr(6); index = TWindex.kr(trig, [w1, w2, w3]); Out.ar(0, SinOsc.ar( Select.kr(index,[400, 500, 600]), 0, 0.2 ) ) }).play; ) a.setn(0, [0,0,1].normalizeSum); a.setn(0, [1,1,1].normalizeSum); a.setn(0, [1,0,1].normalizeSum); //modulating probability values ( a = SynthDef("help-TWindex",{ arg w1=0.0, w2=0.5; var trig, index; trig = Impulse.kr(6); index = TWindex.kr( trig, [w1, w2, SinOsc.kr(0.3, 0, 0.5, 0.5)],//modulate probability 1 //do normalisation ); Out.ar(0, SinOsc.ar( Select.kr(index,[400, 500, 600]), 0, 0.2 ) ) }).play; ) a.setn(0, [0,0]); a.setn(0, [1,1]); a.setn(0, [1,0]); a.setn(0, [0,1]); ::