frac32.bipolar pitch
int32 gate
int32 mux
frac32.bipolar out
bool32.tgl on
frac32.s.map C
frac32.s.map Cis
frac32.s.map D
frac32.s.map Dis
frac32.s.map E
frac32.s.map F
frac32.s.map Fis
frac32.s.map G
frac32.s.map Gis
frac32.s.map A
frac32.s.map Ais
frac32.s.map B
int o;
int ntrig;
int latch;
o = 0;
switch (inlet_mux > 0 ? inlet_mux : 0) {
case 0:
o = (param_C >> 7);
break;
case 1:
o = (param_Cis >> 7);
break;
case 2:
o = (param_D >> 7);
break;
case 3:
o = (param_Dis >> 7);
break;
case 4:
o = (param_E >> 7);
break;
case 5:
o = (param_F >> 7);
break;
case 6:
o = (param_Fis >> 7);
break;
case 7:
o = (param_G >> 7);
break;
case 8:
o = (param_Gis >> 7);
break;
case 9:
o = (param_A >> 7);
break;
case 10:
o = (param_Ais >> 7);
break;
case 11:
o = (param_B >> 7);
break;
default:
o = (param_C >> 7);
break;
}
o = (param_on) ? (inlet_pitch + o) : inlet_pitch;
if ((inlet_gate > 0) && !ntrig) {
latch = o - 4;
ntrig = 1;
}
if (!(inlet_gate > 0))
ntrig = 0;
outlet_out = latch;