home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 February / PCWorld_2008-02_cd.bin / audio-video / reaper / reaper2028-install.exe / Effects / LOSER / StereoField < prev    next >
Text File  |  2007-12-03  |  2KB  |  56 lines

  1. // (C) 2006-2007, Michael Gruhn.
  2.  
  3. // NO WARRANTY IS GRANTED. THIS PLUG-IN IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
  4. // WARRANTY OF ANY KIND. NO LIABILITY IS GRANTED, INCLUDING, BUT NOT LIMITED TO,
  5. // ANY DIRECT OR INDIRECT,  SPECIAL,  INCIDENTAL OR CONSEQUENTIAL DAMAGE ARISING
  6. // OUT OF  THE  USE  OR INABILITY  TO  USE  THIS PLUG-IN,  COMPUTER FAILTURE  OF
  7. // MALFUNCTION INCLUDED.  THE USE OF THE SOURCE CODE,  EITHER  PARTIALLY  OR  IN
  8. // TOTAL, IS ONLY GRANTED,  IF USED IN THE SENSE OF THE AUTHOR'S INTENTION,  AND
  9. // USED WITH ACKNOWLEDGEMENT OF THE AUTHOR. FURTHERMORE IS THIS PLUG-IN A  THIRD
  10. // PARTY CONTRIBUTION,  EVEN IF INCLUDED IN REAPER(TM),  COCKOS INCORPORATED  OR
  11. // ITS AFFILIATES HAVE NOTHING TO DO WITH IT.  LAST BUT NOT LEAST, BY USING THIS
  12. // PLUG-IN YOU RELINQUISH YOUR CLAIM TO SUE IT'S AUTHOR, AS WELL AS THE CLAIM TO
  13. // ENTRUST SOMEBODY ELSE WITH DOING SO.
  14.  
  15.  
  16. desc:Stereo Field Manipulator
  17.  
  18. slider1:0<-90,90,1>Rotate (Deg)
  19. slider2:100<0,200,1>Width (%)
  20. slider3:0<-100,100,1>Center (%)
  21. slider4:0<-100,100,1>Left/Rigth (%)
  22.  
  23. @slider
  24. rot=slider1*0.017453292;
  25. width = slider2 / 200;
  26. center = min(slider3/100+1,1);
  27. side = (1-slider3/100);
  28. left = -min(slider4/100,0);
  29. left1 = -max(slider4/100-1,-1);
  30. right = max(slider4/100,0);
  31. right1 = min(1+slider4/100,1);
  32.  
  33. update = 0;
  34.  
  35. @sample
  36.  
  37. // Rotation
  38. s0 = sign(spl0);
  39. s1 = sign(spl1);
  40. angle = atan( spl0 / spl1 );
  41. (s0 == 1 && s1 == -1) || (s0 == -1 && s1 == -1) ? angle += 3.141592654;
  42. s0 == -1 && s1 == 1 ? angle += 6.283185307;
  43. spl1 == 0 ? spl0 > 0 ? angle = 1.570796327 : angle = 4.71238898;
  44. spl0 == 0 ? spl1 > 0 ? angle = 0 : angle = 3.141592654;
  45. angle -= rot;
  46. radius = sqrt( sqr(spl0)+sqr(spl1) ) ;
  47. spl0 = sin(angle)*radius;
  48. spl1 = cos(angle)*radius;
  49.  
  50. // 3 Way Balancer + Enhancer
  51. mono = (spl0 + spl1)/2 * center;
  52. stereo = (spl0 - spl1) * side;
  53. spl0 = (mono + (stereo*left1 - stereo*right )* width) / max(width,1);
  54. spl1 = (mono + (-stereo*right1 + stereo*left )* width) / max(width,1);
  55.  
  56.