line

[Class]
  `line`

Enumerates data in sequential order and sticks on the last element once it has been reached.

See generic pattern initializations for documentation on keyword initializations to the pattern.

#### Examples:

Example 1. The line pattern.

    (define pat1 (new line :of '(a b c d)))

    (next pat1 12)
    ⇒ (a b c d d d d d d d d d)

    (define pat1 (new line :of `(a b c ,(new random :of '(d e)))))

    (next pat1 12)
    ⇒ (a b c e e d e d e d d d)

Example 2. Metric figures using line.

    (define pat1
      (new heap :of (list (new line :rhythms 's
                               :for (new random :of '(4 6 8)))
                          (new line :rhythms 'e :for
                               :for (new random :of '(2 3)))
                          (new line :rhythms 'q :for 1))))

    (define (play-pat reps pat lb ub)
      (process repeat reps
               for r = (* (next pat) .5)
               output (new midi :time (now)
                           :keynum (between lb ub)
                           :duration (* r 2.5))
               wait r))

    (events (play-pat 40 pat1 40 80) "test.mid")
    ⇒ "test.mid"

#### See Also:

- Pattern classes [Topic]