Advertisement
Guest User

bjorklund

a guest
Mar 19th, 2011
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (
  2.  ~bjorklund = {
  3.     arg steps,numBeats;
  4.     var beat = Array(steps);
  5.     var remainder = steps-numBeats;
  6.     var remaindersToPop = numBeats;
  7.  
  8.     //initialize array
  9.     steps.do{|i| if (i < numBeats) { beat.add([1]); } {beat.add([0]); }};
  10.  
  11.     //transform the array
  12.     while ({ remainder > 0 } , {
  13.         remaindersToPop = min(remaindersToPop,remainder);
  14.         remaindersToPop.do { |i| beat[i] = [beat[i],beat.pop].flatten; };
  15.         remainder = beat.size - remaindersToPop;
  16.     });
  17.  
  18.     beat.flatten;
  19.  
  20.  };
  21.  
  22. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement