rsc3/doc-schelp/HelpSource/Classes/TWChoose.schelp

40 lines
986 B
Text
Raw Permalink Normal View History

2022-08-24 13:53:18 +00:00
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.::