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_haus
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
|