Advertisement
Guest User

Untitled

a guest
Dec 18th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.70 KB | None | 0 0
  1.     case WAVEFORM_ARBITRARY:
  2.         if (!arbdata) {
  3.             release(block);
  4.             if (shapedata) release(shapedata);
  5.             return;
  6.         }
  7.         // len = 256
  8.         for (i = 0; i < AUDIO_BLOCK_SAMPLES; i++) {
  9.             ph = phasedata[i];
  10.  
  11.             switch (morphType)
  12.             {
  13.                 case 1:
  14.                     ph *= morph;
  15.                     break;
  16.                     //pwm
  17.                 case 2:
  18.                     ph64 = ph * morph;
  19.                     ph = ph64 & 0xFFFFFFFF;
  20.                     break;
  21.                     //sync
  22.             }
  23.  
  24.             index = ph >> 24;
  25.             index2 = index + 1;
  26.             if (index2 >= 256) index2 = 0;
  27.  
  28.             val1 = *(arbdata + bl + index);
  29.             val2 = *(arbdata + bl + index2);
  30.  
  31.             scale = (ph >> 8) & 0xFFFF;
  32.             val2 *= scale;
  33.             val1 *= 0x10000 - scale;
  34.             *bp++ = multiply_32x32_rshift32(val1 + val2, magnitude);
  35.         }
  36.         break;
  37.  
  38.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement