82 lines
1.5 KiB
Racket
82 lines
1.5 KiB
Racket
#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);
|
|
|
|
::
|
|
|
|
]
|
|
|
|
|