TWindex:
Filter:
Classes | UGens > Random | UGens > Triggers

TWindex : UGen : AbstractFunction : Object

Triggered windex.
Source: Noise.sc

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).

Class Methods

TWindex.ar(in, array, normalize: 0)

TWindex.kr(in, array, normalize: 0)

Arguments:

in

The trigger. Trigger can be any signal. A trigger happens when the signal changes from non-positive to positive.

array

The list of probabilities.

normalize

Controls whether to normalize the probability values.

Inherited class methods

Instance Methods

Inherited instance methods

Examples

//assuming normalized values
(
a = SynthDef("help-TWindex", { |out, w1=0.0, w2=0.5, w3=0.5|
    var trig = Impulse.kr(6);
    var index = TWindex.kr(trig, [w1, w2, w3]);
    Out.ar(out,
        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", { |out, w1=0.0, w2=0.5|
    var trig = Impulse.kr(6);
    var index = TWindex.kr(
        trig,
        [w1, w2, SinOsc.kr(0.3, 0, 0.5, 0.5)],//modulate probability
        1 //do normalisation
    );

    Out.ar(out,
        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]);