I am looking into methods of fading out a synth that can be set dynamically.
For example if one is to use an EnvGen.kr(Env.adsr,gate) the gate can be set with
s.sendMsg("/n_set", n, \gate, 1)
; etc but... if I set the
s.sendMsg("/n_set", n, \gate, -61)
and then decided - during the period it is fading out - that I want it to fade faster, slower or not at all. Well an envelope just will not do this.
My solutions so far are:
Out.ar(out, z * mul.lag(x))
where mul and x are arg's
set like this
s.sendMsg("/n_set", 1990, \x, 20, \mul, 0.1 );
Out.ar(out, z * mul
) where the mul arg is set with a Routine
Both seem to work fine...but are there other ways that are better?