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

73 lines
1.1 KiB
Text
Raw Permalink Normal View History

2022-08-24 13:53:18 +00:00
class:: Select
summary:: Select output from an array of inputs.
categories:: UGens>Multichannel>Select
related:: Classes/SelectX, Classes/SelectXFocus, Classes/LinSelectX
Description::
The output is selected from an array of inputs.
note:: All the UGens are continuously running. This may not be the most efficient
way if each input is CPU-expensive. ::
Note that the array is fixed at the time of writing the SynthDef, and the
whole array is embedded in the SynthDef file itself. For small arrays
this is more efficient than reading from a buffer.
classmethods::
method::ar, kr
argument::which
Integer index
argument::array
Input array of signals
Examples::
code::
(
SynthDef("help-Select",{ arg out=0;
var a,cycle;
a = [
SinOsc.ar,
Saw.ar,
Pulse.ar
];
cycle = a.size * 0.5;
Out.ar(out,
Select.ar(LFSaw.kr(1.0,0.0,cycle,cycle),a) * 0.2
)
}).play;
)
//Here used as a sequencer:
(
SynthDef("help-Select-2",{ arg out=0;
var a,s,cycle;
a = Array.fill(32,{ rrand(30,80) }).midicps;
a.postln;
cycle = a.size * 0.5;
s = Saw.ar(
Select.kr(
LFSaw.kr(1.0,0.0,cycle,cycle),
a
),
0.2
);
Out.ar(out,s )
}).play;
)
::