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 / Guitar / flanger < prev    next >
Text File  |  2007-02-12  |  977b  |  47 lines

  1. // This effect Copyright (C) 2004 and later Cockos Incorporated
  2. // License: GPL - http://www.gnu.org/licenses/gpl.html
  3.  
  4. desc:flanger
  5. slider1:6<0,200,1>length (ms)
  6. slider2:-120<-120,6,1>feedback (dB)
  7. slider3:-6<-120,6,1>wet mix (dB)
  8. slider4:-6<-120,6,1>dry mix (dB)
  9. slider5:0.6<0.001,100,0.1>rate (hz)
  10.  
  11. @init
  12. delaypos=0;
  13.  
  14. @slider
  15. odelay=delaylen;
  16. delaylen=min(slider1 * srate / 1000,500000);
  17. odelay != delaylen ? freembuf(delaylen*2);
  18.  
  19. wetmix = 2 ^ (slider2/6);
  20. wetmix2 = 2 ^ (slider3/6);
  21. drymix2 = 2 ^ (slider4/6);
  22. dppossc = 2*$pi*slider5 / srate;
  23. dpbacksc = delaylen*0.5 - 1;
  24.  
  25.  
  26. @sample
  27.  
  28. dppos = dppos+dppossc;
  29. dpback = (sin(dppos)+1)*dpbacksc;
  30. dpint = delaypos-dpback-1;
  31. dpint < 0 ? dpint += delaylen;
  32.  
  33. dpint *= 2;
  34.  
  35. os1=dpint[0];
  36. os2=dpint[1];
  37.  
  38. dpint = delaypos*2;
  39.  
  40. dpint[0]=spl0 + os1*wetmix;
  41. dpint[1]=spl1 + os2*wetmix;
  42.  
  43. (delaypos+=1) >= delaylen ? delaypos=0;
  44.  
  45. spl0=spl0*drymix2 + os1*wetmix2;
  46. spl1=spl1*drymix2 + os2*wetmix2;
  47.