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

85 lines
1.3 KiB
Text

class:: Trig1
summary:: Timed trigger.
related:: Classes/Trig
categories:: UGens>Triggers
Description::
When a nonpositive to positive transition occurs at the input, Trig1
outputs 1 for the specified duration, otherwise outputs 0.
classmethods::
method::ar, kr
argument::in
Trigger. Trigger can be any signal. A trigger happens when the
signal changes from non-positive to positive.
argument::dur
Duration of the trigger output.
Examples::
code::
{ Trig1.ar(Dust.ar(1), 0.2) * FSinOsc.ar(800, 0.5) }.play
To create a fixed duration gate
(
SynthDef("trig1",{ arg dur=0.125;
var gate;
gate = Trig1.kr(1.0,dur);
OffsetOut.ar(0,
SinOsc.ar(800, 0.3)
* EnvGen.kr(
Env([0,0.1,0.1,0],[0.01,1.0,0.01],[-4,4],2),
gate,
doneAction: Done.freeSelf)
)
}).add;
Routine({
1.0.wait;
100.do({
s.sendBundle(0.05,["s_new", "trig1" ,-1,0,0,0,rrand(0.02,0.25)]);
0.25.wait
})
}).play(SystemClock)
)
This should sound like a continuous sine wave, although it is actually a series of 0.25 second synths.
(
SynthDef("trig1",{
var gate;
gate = Trig1.kr(1.0,0.25);
OffsetOut.ar(0,
SinOsc.ar(800, 0.3)
* EnvGen.kr(
Env([0,0.1,0.1,0],[0.01,1.0,0.01],[-4,4],2),
gate,
doneAction: Done.freeSelf)
)
}).add;
Routine({
1.0.wait;
100.do({
s.sendBundle(0.05,["s_new", "trig1" ,-1]);
0.25.wait
})
}).play(SystemClock)
)
::