InTrig generate a trigger anytime a bus is set


superclass: MultiOutUGen


*kr(bus, numChannels)


bus - the index of the bus to read in from.

numChannels - the number of channels (i.e. adjacent buses) to read in. The default is 1. You cannot modulate this number by assigning it to an argument in a SynthDef.


Any time the bus is "touched" ie. has its value set (using "/c_set" etc.), a single impulse trigger will be generated.  Its amplitude is the value that the bus was set to.



s = Server.local;

b = Bus.control(s,1);


SynthDef("help-InTrig",{arg out=0,busnum=0;

var inTrig;

inTrig = InTrig.kr( busnum );

Out.ar(out,

EnvGen.kr(Env.perc,gate: inTrig,levelScale: inTrig ) * SinOsc.ar

)

}).play(s,[\out, 0, \busnum, b.index]);




b.set(1.0);


b.value = 1.0;


b.value = 0.2;


b.value = 0.1;


compare with [In] example.