frac32.positive start position in table
bool32.rising start playback
bool32.rising stop playback
frac32buffer wave
objref table
int pstart;
int pstop;
int pos;
pos = 0;
pstart = 0;
pstop = 1;
if ((inlet_start > 0) && !pstart) {
pstart = 1;
pstop = 0;
uint32_t asat = __USAT(inlet_pos, 27);
pos = asat >> (27 - attr_table.LENGTHPOW);
} else if (!(inlet_start > 0)) {
pstart = 0;
}
if ((inlet_stop > 0) && !pstop) {
pstop = 1;
pstart = 0;
}
if (!pstop) {
if (pos < attr_table.LENGTH)
outlet_wave = attr_table.array[pos++] << attr_table.GAIN;
else
outlet_wave = 0;
} else
outlet_wave = 0;