slider1:0<0,5,1{off,dc offset,noise white,noise pink,sine 1000 Hz,sine 440 Hz}>Mode
slider2:-18<-96,0,0.1>Signal Level (dB)

in_pin:L in
in_pin:R in
out_pin:L out
out_pin:R out

@init
src_Gain = tgt_Gain = slider2 <= -96.0 ? 0.0 : pow(10, slider2 * 0.05);

@slider
tgt_Gain = slider2 <= -96.0 ? 0.0 : pow(10, slider2 * 0.05);

@block
d_Gain = (tgt_Gain-src_Gain)/samplesblock;
tGain = src_Gain;
src_Gain = tgt_Gain;

@sample
slider1 == 1 ? (
signal = 1;
);
slider1 == 2 ? (
signal = (rand(2)-1);
);
slider1 == 3 ? (
noise = (rand(2)-1);
b0 = 0.99886 * b0 + noise * 0.0555179;
b1 = 0.99332 * b1 + noise * 0.0750759;
b2 = 0.96900 * b2 + noise * 0.1538520;
b3 = 0.86650 * b3 + noise * 0.3104856;
b4 = 0.55000 * b4 + noise * 0.5329522;
b5 = -0.7616 * b5 - noise * 0.0168980;
signal = (b0 + b1 + b2 + b3 + b4 + b5 + b6 + noise * 0.5362);
b6 = noise * 0.115926;
signal *= 0.126;
);
slider1 == 4 ? (
adj = 2*$pi*1000/srate;
signal = 0.5+sin(pos)/2;
);
slider1 == 5 ? (
adj = 2*$pi*440/srate;
signal = 0.5+sin(pos)/2;
);

tGain += d_Gain;
Gain = tGain;

slider1 > 0 ? (
spl0 += signal*Gain;
spl1 += signal*Gain;
):(
spl0 = spl0;
spl1 = spl1;
);

pos = pos+adj;
(pos >= 2*$pi) ? pos -= 2*$pi;
