Squash and repeat time

density  d (density)

Runs the block d times with the bpm for the block also multiplied by d. Great for repeating sections a number of times faster yet keeping within a fixed time. If d is less than 1, then time will be stretched accordingly and the block will take longer to complete.

Introduced in v2.3

Examples

# Example 1

use_bpm 60  

density 2 do      
                  
  sample :bd_hause
  sleep 0.5       
end


# Set the BPM to 60
 
# BPM for block is now 120
# block is called 2.times
# sample is played twice
# sleep is 0.25s
 



# Example 2

density 2 do |idx|
  puts idx        
  sleep 0.5       
end


# You may also pass a param to the block similar to n.times
# prints out 0, 1
# sleep is 0.25s
 



# Example 3

density 0.5 do         
                       
                       
  play 80, release: 1  
  sleep 0.5            
end


# Specifying a density val of < 1 will stretch out time
# A density of 0.5 will double the length of the block's
# execution time.
# plays note 80 with 2s release
# sleep is 1s