1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
  
     | 
    
      class:: LeastChange
summary:: Output least changed
related:: Classes/MostChange, Classes/LastValue
categories::  UGens>Maths
Description::
Output the input that changed least.
classmethods::
method::ar, kr
argument::a
Input signal A.
argument::b
Input signal B.
examples::
code::
(
d = { arg amp=1.0;
	var in1, in2;
	in1 = LFNoise0.ar(800, amp);
	in2 = SinOsc.ar(800);
	LeastChange.ar(in1, in2) * 0.1;
}.play;
)
d.set(\amp, 0.1);
d.set(\amp, 0);
d.set(\amp, 3);
d.free;
::
the control that changed least is used as output:
code::
(
d = { arg freq=440;
	var internalFreq;
	internalFreq = LFNoise0.ar(0.3, 300, 800);
	SinOsc.ar(
		LeastChange.kr(freq, internalFreq) // two sources of change: one external, one internal
	) * 0.1
}.play
);
d.set(\freq, 800);
d.set(\freq, 900);
d.free;
::
 
     |