frac32buffer band01
frac32buffer band02
frac32buffer band03
frac32buffer band04
frac32buffer band05
frac32buffer band06
frac32buffer band07
frac32buffer band08
frac32buffer band09
frac32buffer band10
frac32buffer band11
frac32buffer band12
frac32buffer band13
frac32buffer band14
frac32buffer band15
frac32buffer band16
frac32buffer band17
frac32buffer band18
frac32buffer band19
frac32buffer band20
frac32 ctrl01
frac32 ctrl02
frac32 ctrl03
frac32 ctrl04
frac32 ctrl05
frac32 ctrl06
frac32 ctrl07
frac32 ctrl08
frac32 ctrl09
frac32 ctrl10
frac32 ctrl11
frac32 ctrl12
frac32 ctrl13
frac32 ctrl14
frac32 ctrl15
frac32 ctrl16
frac32 ctrl17
frac32 ctrl18
frac32 ctrl19
frac32 ctrl20
frac32buffer out
frac32.u.map rise
frac32.u.map fall
frac32.u.map volume
int32_t val01;
int32_t val02;
int32_t val03;
int32_t val04;
int32_t val05;
int32_t val06;
int32_t val07;
int32_t val08;
int32_t val09;
int32_t val10;
int32_t val11;
int32_t val12;
int32_t val13;
int32_t val14;
int32_t val15;
int32_t val16;
int32_t val17;
int32_t val18;
int32_t val19;
int32_t val20;
int32_t ctrl;
float32_t volume;
float32_t rise;
float32_t fall;
volume = param_volume;
volume = param_volume / (1 << 23);
rise = param_rise / (1 << 23);
fall = param_fall / (1 << 23);
outlet_out = 0;
ctrl = inlet_ctrl01;
if (ctrl >= val01) {
val01 = val01 + ((ctrl - val01) / (1 + rise));
} else {
val01 = val01 + ((ctrl - val01) / (1 + fall));
}
outlet_out += ___SMMUL(val01 << 3, inlet_band01 << 2) * volume;
ctrl = inlet_ctrl02;
if (ctrl >= val02) {
val02 = val02 + ((ctrl - val02) / (1 + rise));
} else {
val02 = val02 + ((ctrl - val02) / (1 + fall));
}
outlet_out += ___SMMUL(val02 << 3, inlet_band02 << 2) * volume;
ctrl = inlet_ctrl03;
if (ctrl >= val03) {
val03 = val03 + ((ctrl - val03) / (1 + rise));
} else {
val03 = val03 + ((ctrl - val03) / (1 + fall));
}
outlet_out += ___SMMUL(val03 << 3, inlet_band03 << 2) * volume;
ctrl = inlet_ctrl04;
if (ctrl >= val04) {
val04 = val04 + ((ctrl - val04) / (1 + rise));
} else {
val04 = val04 + ((ctrl - val04) / (1 + fall));
}
outlet_out += ___SMMUL(val04 << 3, inlet_band04 << 2) * volume;
ctrl = inlet_ctrl05;
if (ctrl >= val05) {
val05 = val05 + ((ctrl - val05) / (1 + rise));
} else {
val05 = val05 + ((ctrl - val05) / (1 + fall));
}
outlet_out += ___SMMUL(val05 << 3, inlet_band05 << 2) * volume;
ctrl = inlet_ctrl06;
if (ctrl >= val06) {
val06 = val06 + ((ctrl - val06) / (1 + rise));
} else {
val06 = val06 + ((ctrl - val06) / (1 + fall));
}
outlet_out += ___SMMUL(val06 << 3, inlet_band06 << 2) * volume;
ctrl = inlet_ctrl07;
if (ctrl >= val07) {
val07 = val07 + ((ctrl - val07) / (1 + rise));
} else {
val07 = val07 + ((ctrl - val07) / (1 + fall));
}
outlet_out += ___SMMUL(val07 << 3, inlet_band07 << 2) * volume;
ctrl = inlet_ctrl08;
if (ctrl >= val08) {
val08 = val08 + ((ctrl - val08) / (1 + rise));
} else {
val08 = val08 + ((ctrl - val08) / (1 + fall));
}
outlet_out += ___SMMUL(val08 << 3, inlet_band08 << 2) * volume;
ctrl = inlet_ctrl09;
if (ctrl >= val09) {
val09 = val09 + ((ctrl - val09) / (1 + rise));
} else {
val09 = val09 + ((ctrl - val09) / (1 + fall));
}
outlet_out += ___SMMUL(val09 << 3, inlet_band09 << 2) * volume;
ctrl = inlet_ctrl10;
if (ctrl >= val10) {
val10 = val10 + ((ctrl - val10) / (1 + rise));
} else {
val10 = val10 + ((ctrl - val10) / (1 + fall));
}
outlet_out += ___SMMUL(val10 << 3, inlet_band10 << 2) * volume;
ctrl = inlet_ctrl11;
if (ctrl >= val11) {
val11 = val11 + ((ctrl - val11) / (1 + rise));
} else {
val11 = val11 + ((ctrl - val11) / (1 + fall));
}
outlet_out += ___SMMUL(val11 << 3, inlet_band11 << 2) * volume;
ctrl = inlet_ctrl12;
if (ctrl >= val12) {
val12 = val12 + ((ctrl - val12) / (1 + rise));
} else {
val12 = val12 + ((ctrl - val12) / (1 + fall));
}
outlet_out += ___SMMUL(val12 << 3, inlet_band12 << 2) * volume;
ctrl = inlet_ctrl13;
if (ctrl >= val13) {
val13 = val13 + ((ctrl - val13) / (1 + rise));
} else {
val13 = val13 + ((ctrl - val13) / (1 + fall));
}
outlet_out += ___SMMUL(val13 << 3, inlet_band13 << 2) * volume;
ctrl = inlet_ctrl14;
if (ctrl >= val14) {
val14 = val14 + ((ctrl - val14) / (1 + rise));
} else {
val14 = val14 + ((ctrl - val14) / (1 + fall));
}
outlet_out += ___SMMUL(val14 << 3, inlet_band14 << 2) * volume;
ctrl = inlet_ctrl15;
if (ctrl >= val15) {
val15 = val15 + ((ctrl - val15) / (1 + rise));
} else {
val15 = val15 + ((ctrl - val15) / (1 + fall));
}
outlet_out += ___SMMUL(val15 << 3, inlet_band15 << 2) * volume;
ctrl = inlet_ctrl16;
if (ctrl >= val16) {
val16 = val16 + ((ctrl - val16) / (1 + rise));
} else {
val16 = val16 + ((ctrl - val16) / (1 + fall));
}
outlet_out += ___SMMUL(val16 << 3, inlet_band16 << 2) * volume;
ctrl = inlet_ctrl17;
if (ctrl >= val17) {
val17 = val17 + ((ctrl - val17) / (1 + rise));
} else {
val17 = val17 + ((ctrl - val17) / (1 + fall));
}
outlet_out += ___SMMUL(val17 << 3, inlet_band17 << 2) * volume;
ctrl = inlet_ctrl18;
if (ctrl >= val18) {
val18 = val18 + ((ctrl - val18) / (1 + rise));
} else {
val18 = val18 + ((ctrl - val18) / (1 + fall));
}
outlet_out += ___SMMUL(val18 << 3, inlet_band18 << 2) * volume;
ctrl = inlet_ctrl19;
if (ctrl >= val19) {
val19 = val19 + ((ctrl - val19) / (1 + rise));
} else {
val19 = val19 + ((ctrl - val19) / (1 + fall));
}
outlet_out += ___SMMUL(val19 << 3, inlet_band19 << 2) * volume;
ctrl = inlet_ctrl20;
if (ctrl >= val20) {
val20 = val20 + ((ctrl - val20) / (1 + rise));
} else {
val20 = val20 + ((ctrl - val20) / (1 + fall));
}
outlet_out += ___SMMUL(val20 << 3, inlet_band20 << 2) * volume;