class:: TWChoose summary:: Randomly select one of several inputs categories:: UGens>Triggers, UGens>Random related:: Classes/TChoose description:: An output is selected randomly on receiving a trigger from an array of inputs. the code::weights:: of this choice are determined from the weights array. If code::normalize:: is set to 1 the weights are continuously normalized (this is an extra overhead) when using fixed values the code::normalizeSum:: method can be used to normalize the values. TWChoose is a composite of link::Classes/TWindex:: and link::Classes/Select::. classmethods:: method:: ar, kr argument:: trig argument:: array argument:: weights argument:: normalize examples:: code:: ( { var a; a = [ SinOsc.ar, Saw.ar, Pulse.ar ]; TWChoose.ar(Dust.ar(MouseX.kr(1, 1000, 1)), a, [0.99, 0.05, 0.05].normalizeSum) * 0.2 }.play; ) :: note:: all the ugens are continuously running. This may not be the most efficient way if each input is cpu-expensive.::