64 lines
1.3 KiB
Text
64 lines
1.3 KiB
Text
|
class:: XOut
|
||
|
summary:: Send signal to a bus, crossfading with previous contents.
|
||
|
related:: Classes/OffsetOut, Classes/Out, Classes/ReplaceOut
|
||
|
categories:: UGens>InOut
|
||
|
|
||
|
|
||
|
Description::
|
||
|
|
||
|
Send signal to a bus, crossfading with previous contents.
|
||
|
code::xfade:: is a level for the crossfade between what
|
||
|
is on the bus and what you are sending. The algorithm is equivalent to this:
|
||
|
|
||
|
code::
|
||
|
bus_signal = (input_signal * xfade) + (bus_signal * (1 - xfade));
|
||
|
::
|
||
|
|
||
|
|
||
|
See the link::Reference/Server-Architecture:: and link::Classes/Bus:: helpfiles for more information on
|
||
|
buses and how they are used.
|
||
|
|
||
|
|
||
|
classmethods::
|
||
|
|
||
|
method::ar, kr
|
||
|
|
||
|
argument::bus
|
||
|
The index of the bus to write out to. The lowest numbers are written to the audio hardware.
|
||
|
|
||
|
argument::xfade
|
||
|
Crossfade level.
|
||
|
|
||
|
argument::channelsArray
|
||
|
An Array of channels or single output to write out. You cannot change the size of this once a SynthDef has been built.
|
||
|
|
||
|
Examples::
|
||
|
|
||
|
code::
|
||
|
|
||
|
(
|
||
|
SynthDef("help-SinOsc", { arg freq=440, out;
|
||
|
Out.ar(out, SinOsc.ar(freq, 0, 0.1))
|
||
|
}).add;
|
||
|
|
||
|
SynthDef("help-XOut", { arg out=0, xFade=1;
|
||
|
var source;
|
||
|
source = PinkNoise.ar(0.05);
|
||
|
|
||
|
// write to the bus, crossfading with previous contents
|
||
|
XOut.ar(out, xFade, source);
|
||
|
|
||
|
}).add;
|
||
|
)
|
||
|
|
||
|
Synth("help-SinOsc", [\freq, 500]);
|
||
|
a = Synth.tail(s, "help-XOut");
|
||
|
|
||
|
|
||
|
a.set(\xFade, 0.7);
|
||
|
a.set(\xFade, 0.4);
|
||
|
a.set(\xFade, 0.0);
|
||
|
|
||
|
::
|
||
|
|