A flip-flop UGen with two inputs, one (set) triggering an output of 1.0, the other (reset) triggering an output of 0.0. Subsequent triggers happening within the same input slot have no effect. If both inputs receive a trigger at the same time, the ''reset'' input takes precedence.
===Examples===
// mouse-button toggle
play {
// make sure lag is zero, otherwise the output
// never falls back exactly to zero!
val set = MouseButton.kr(lag = 0)
val reset = Impulse.kr(1)
val ff = SetResetFF.kr(set, reset)
SinOsc.ar(ff.mulAdd(400, 800)) * 0.1
}
// limit trigger rate
play {
// with a combination of TDelay and SetResetFF
// we can build a filter that lets triggers
// pass at a maximum rate.
val dur = 1.0 // minimum spacing between triggers
val in = Dust.ar(10) // high frequency trigger
val lim = SetResetFF.ar(in, TDelay.ar(in, dur))
val time = Timer.ar(lim)
time.poll(lim, "bang")
()
}
- See also
- Companion
- class
Type members
Value members
Concrete methods
- Value Params
- reset
trigger that sets output to 0. A trigger happens when the signal changes from non-positive to positive.
- trig
trigger that sets output to 1. A trigger happens when the signal changes from non-positive to positive.