slider1:0<-60,0,0.1>volume (dB)
slider2:1<0,31,1{-----,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,61+62,63+64}>vca out channel

@init
s=1;
amount=1.0;
noteOn=9*16;

@slider
cv = slider1 <= -60.0 ? 0.0 : 10^(slider1/20);

channel = slider2*2;
out = channel;
out2 = out+1;

@block
while (midirecv(offset,msg1,msg23) ?
status = msg1 & 240;
velocity = ((msg23/256) & 127);
status == noteOn && velocity ?
(
lower = 1-(((127-velocity)/127) * amount);
)
: status != noteOn || (status == noteOn && !velocity) ?
(
lower = 0;
);
midisend(offset,msg1,msg23); // pass MIDI events
);

@sample
spl0 = spl0;
spl1 = spl1;

slider2 >0 ? (
spl(out) = (cv*s) * lower;
spl(out2) = (cv*s) * lower;
s=-s;
);