rsc3/doc-schelp/HelpSource/Classes/XOut.scrbl

83 lines
1.5 KiB
Text
Raw Normal View History

2022-08-24 13:53:18 +00:00
#lang scribble/manual
@(require (for-label racket))
@title{XOut}
Send signal to a bus, crossfading with previous contents.@section{related}
Classes/OffsetOut, Classes/Out, Classes/ReplaceOut
@section{categories}
UGens>InOut
@section{description}
Send signal to a bus, crossfading with previous contents.
@racketblock[xfade:: is a level for the crossfade between what
is on the bus and what you are sending. The algorithm is equivalent to this:
]
@racketblock[
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.
]
@section{classmethods}
@section{method}
ar, kr
@section{argument}
bus
The index of the bus to write out to. The lowest numbers are written to the audio hardware.
@section{argument}
xfade
Crossfade level.
@section{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.
@section{Examples}
@racketblock[
(
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);
::
]