home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 July & August / PCWorld_2007-07-08_cd.bin / audio-video / reaper / reaper1861-install.exe / Effects / Delay / scratchy < prev   
Text File  |  2007-02-12  |  858b  |  45 lines

  1. // This effect Copyright (C) 2004 and later Cockos Incorporated
  2. // License: GPL - http://www.gnu.org/licenses/gpl.html
  3. desc: scratchy
  4. slider1:300<0,4000,20>buffer size (ms)
  5. slider2:1<0,1>cursor position
  6.  
  7. @init
  8. delaypos=0;
  9.  
  10. @slider
  11. odelay=delaylen;
  12. delaylen=min(slider1 * srate / 1000,500000);
  13. odelay != delaylen ? freembuf(delaylen*2);
  14.  
  15. seekfrom=seekpos;
  16. seekto=slider2*delaylen;
  17. seekcnt=0;
  18.  
  19. @sample
  20.  
  21. seekpos != seekto ? (
  22.    seekcnt+=2/(srate);
  23.    t = ((sin(seekcnt*$pi - $pi/2)+1)^2)*0.5;
  24.    seekpos=t*(seekto-seekfrom)+seekfrom;
  25.    seekcnt >= 1 ? seekpos=seekto;
  26.  
  27. );
  28.  
  29. dpint = delaypos-seekpos;
  30. dpint < 0 ? dpint += delaylen;
  31. dpint = (dpint|0)*2;
  32.  
  33. os1=dpint[0];
  34. os2=dpint[1];
  35.  
  36. dpint = delaypos*2;
  37.  
  38. dpint[0]=spl0;
  39. dpint[1]=spl1;
  40.  
  41. (delaypos+=1) >= delaylen ? delaypos=0;
  42.  
  43. spl0=spl0*0 + os1*1;
  44. spl1=spl1*0 + os2*1;
  45.