// This effect Copyright (C) 2004 and later Cockos Incorporated
// License: GPL - http://www.gnu.org/licenses/gpl.html

desc: triggerable tremolo
slider1:1000<1,100000,100>decay time (ms)
slider2:8<0.1,10000,1>start speed (hz)
slider3:1<0.1,10000,1>end speed (hz)
slider4:-6<-100,0,1>tremolo (dB)
slider5:1<0,10,1>trigger

@slider
 trigmask = 2 ^ (slider5|0);
 startv = slider2*$pi/srate;
 endv = slider3*$pi/srate;
 vinc = (endv-startv)*1000/(slider1*srate);
 tfac=2 ^ (slider4/6);

@block
  trigger&trigmask ? vel=startv;

@sample

v=(cos(pos) + 1) * 0.5 * tfac + (1-tfac);
spl0=spl0*v;
spl1=spl1*v;

pos=pos+vel;

vel=vinc > 0?min(vel+vinc,endv):max(vel+vinc,endv);
