Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- case WAVEFORM_ARBITRARY:
- if (!arbdata) {
- release(block);
- if (shapedata) release(shapedata);
- return;
- }
- // len = 256
- for (i = 0; i < AUDIO_BLOCK_SAMPLES; i++) {
- ph = phasedata[i];
- switch (morphType)
- {
- case 1:
- ph *= morph;
- break;
- //pwm
- case 2:
- ph64 = ph * morph;
- ph = ph64 & 0xFFFFFFFF;
- break;
- //sync
- }
- index = ph >> 24;
- index2 = index + 1;
- if (index2 >= 256) index2 = 0;
- val1 = *(arbdata + bl + index);
- val2 = *(arbdata + bl + index2);
- scale = (ph >> 8) & 0xFFFF;
- val2 *= scale;
- val1 *= 0x10000 - scale;
- *bp++ = multiply_32x32_rshift32(val1 + val2, magnitude);
- }
- break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement