frac32.bipolar pitch
frac32buffer frequency
frac32 phase
bool32 sync
frac32buffer phase
frac32buffer.bipolar sine wave
frac32.s.map.pitch pitch
frac32.u.map.gain phase
uint32_t Phase;
bool strg;
int32_t step;
int32_t prev;
Phase = 0;
int32_t freq;
MTOFEXTENDED(param_pitch + inlet_pitch, freq);
if ((inlet_sync > 0) && !strg) {
strg = 1;
Phase = 0;
} else if (inlet_sync == 0) {
strg = 0;
}
step = (freq - prev) >> 4;
int32_t I = prev;
prev = freq;
int32_t phase = (param_phase << 1) + (inlet_phase << 4);
I += step;
Phase += I + inlet_freq;
int32_t r;
int32_t p2 = Phase + phase;
SINE2TINTERP(p2, r)
outlet_wave = (r >> 4);
outlet_phase = Phase;