# 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