2 summary:: Set-reset flip flop.
3 related:: Classes/ToggleFF
4 categories:: UGens>Triggers
9 Output is set to 1.0 upon receiving a trigger in the trig input, and to
10 0.0 upon receiving a trigger in the reset input. Once the flip flop is
11 set to zero or one further triggers in the same input are have no effect.
12 One use of this is to have some precipitating event cause something to
13 happen until you reset it.
15 If both inputs receive a trigger at the same time, the teletype::reset:: input takes precedence. The output will be 0. See the examples below.
23 The trigger that sets output to 1. Trigger can be any signal.
24 A trigger happens when the signal changes from non-positive to
30 The trigger that sets output to 0. Trigger can be any signal.
31 A trigger happens when the signal changes from non-positive to
41 a = Dust.ar(5); // the set trigger
42 b = Dust.ar(5); // the reset trigger
43 SetResetFF.ar(a,b) * BrownNoise.ar(0.2);
49 subsection::Simultaneous triggers
51 Here, 'reset' is triggered twice as often as 'trig'. Since 'trig' is always matched by a 'reset', the output is 0. (If 'trig' took precedence, you would have a 50%-duty-cycle pulse wave.)
54 a = { SetResetFF.kr(Impulse.kr(50), Impulse.kr(100)) }.plot(duration: 0.1);
57 You can reverse this behavior, by reversing the inputs so that SetResetFF is triggered twice as often as resetting. This results in a signal that is 0 initially and switches to 1 halfway through the cycle: emphasis::reset, then trigger::. To make it emphasis::trigger, then reset::, invert the phase: code::1 - SetResetFF::.
60 a = { 1 - SetResetFF.kr(Impulse.kr(100), Impulse.kr(50)) }.plot(duration: 0.1);