envelopes/env-maker [ Functions ]

[ Top ] [ Functions ]

Name

 env-maker

File

 envelopes.lisp

Description

 Returns a complex envelope as list. Takes a procedure to create
 e.g. logarithmic or exponential envelope segments.

Parameter

 proc: a mathemathical function that is applied on each point
       of the linear segments.
 start: first point of the line
 points-and-steps: a list of lists and numbers indicating the
                   points along the env
                   and the steps between them

Return Value

 list

Example

;;; (env-maker (lambda (x) x) 0 '((1 2) (0 3))) --> (0 1/2 1 2/3 1/3 0)

envelopes/expo [ Functions ]

[ Top ] [ Functions ]

Name

 expo

File

 envelopes.lisp

Description

 Makes an exponential envelope with a power of 2.
 Can also be called as 'expo2'.

Arguments

 start: starting point
 points-and-steps: touples of points and steps to go there

Return Value

 list

Example

;;; (expo 0 '(1 3)) --> (0 1/9 4/9 1)

envelopes/expo-n [ Functions ]

[ Top ] [ Functions ]

Name

 expo-n

File

 envelopes.lisp

Description

 Makes an exponential envelope.

Arguments

 power: the power of the exponential function (only positive,
        negative sign is ignored)
 start: starting point
 points-and-steps: touples of points and steps to go there

Return Value

 list

Example

;;; (expo-n 2 0 '(1 3)) --> (0 1/9 4/9 1)

envelopes/expo3 [ Functions ]

[ Top ] [ Functions ]

Name

 expo3

File

 envelopes.lisp

Description

 Makes an exponential envelope with a power of 3.

Arguments

 start: starting point
 points-and-steps: touples of points and steps to go there

Return Value

 list

Example

;;; (expo3 0 '(1 3)) --> (0 1/27 8/27 1)

envelopes/expo4 [ Functions ]

[ Top ] [ Functions ]

Name

 expo4

File

 envelopes.lisp

Description

 Makes an exponential envelope with a power of 4.

Arguments

 start: starting point
 points-and-steps: touples of points and steps to go there

Return Value

 list

Example

;;; (expo4 0 '(1 3)) --> (0 1/81 16/81 1)

envelopes/expo5 [ Functions ]

[ Top ] [ Functions ]

Name

 expo5

File

 envelopes.lisp

Description

 Makes an exponential envelope with a power of 5.

Arguments

 start: starting point
 points-and-steps: touples of points and steps to go there

Return Value

 list

Example

;;; (expo3 0 '(1 3)) --> (0 1/243 32/243 1)

envelopes/fibo [ Functions ]

[ Top ] [ Functions ]

Name

 fibo

File

 envelopes.lisp

Description

 Makes an envelope based on the fibonacci series.

Arguments

 start: starting point
 points-and-steps: touples of points and steps to go there

Return Value

 list

Example

;;; (fibo 0 '(5 5)) --> (0 1 1 2 3 5)
;;; (fibo 0 '(1 5)) --> (0 1/5 1/5 2/5 3/5 1)

envelopes/line [ Functions ]

[ Top ] [ Functions ]

Name

 line

File

 envelopes.lisp

Description

 Makes a linear envelope.

Arguments

 start: starting point
 points-and-steps: touples of points and steps to go there

Return Value

 list

Example

;;; (line 0 '(1 3)) --> (0 1/3 2/3 1)

envelopes/linpol [ Functions ]

[ Top ] [ Functions ]

Name

 linpol

File

 envelopes.lisp

Description

 Interpolates an envelope to a desired length.

Arguments

 target-length: a positive integer
 envelope
 float (:key, default: nil): if t, all returned values are floats

Return Value

 list

Example

;;; (linpol 5 '(1 2 3 4) :float t) --> (1 1.75 2.5 3.25 4.0)

envelopes/loga [ Functions ]

[ Top ] [ Functions ]

Name

 loga

File

 envelopes.lisp

Description

 Makes an logarithmic envelope with a base of 10.

Arguments

 start: starting point
 points-and-steps: touples of points and steps to go there

Return Value

 list

Example

;;; (loga 0 '(1 5)) --> (0.0 0.43067658 0.6826062 0.86135316 1.0)

envelopes/loga-n [ Functions ]

[ Top ] [ Functions ]

Name

 loga-n

File

 envelopes.lisp

Description

 Makes an logarithmic envelope. Ignores negative sign in 
 base-value, as this would produce complex numbers.

Arguments

 base: the logarithm base
 start: starting point
 points-and-steps: touples of points and steps to go there

Return Value

 list

Example

;;; (loga-n 10 1 '(10 3)) --> (1.0 6.6783676 10.0)

envelopes/mix-average [ Functions ]

[ Top ] [ Functions ]

Name

 mix-average

File

 envelopes.lisp

Description

 stretches all envelopes to the length of the longest one using
 linear interpolation. the average of all resulting envelopes
 for each index will be returned. the resulting envelope length 
 equals the length of the longest partial envelope.

Arguments

 envelopes (rest)

Return Value

 list

Example

;;; (mix-linpol '(1 2 3) '(4 5) '( 6 7 8 9)) -> ???

envelopes/mix-envs [ Functions ]

[ Top ] [ Functions ]

Name

 mix-envs

File

 envelopes.lisp

Description

 mixes envelopes. the resulting envelope length is the sum of
 all partial envelopes. all values remain.

Arguments

 envelopes (rest)

Return Value

 list

Example

;;; (mix '(1 2 3) '(4 5) '( 6 7 8 9)) -> (1 4 6 7 2 5 8 3 9)

envelopes/mix-linpol [ Functions ]

[ Top ] [ Functions ]

Name

 mix-linpol

File

 envelopes.lisp

Description

 mixes envelopes using linear interpolation. the resulting 
 envelope length is the length of the longest partial envelope
 times the amount of partial envelopes. values may differ.

Arguments

 envelopes (rest)

Return Value

 list

Example

;;; (mix-linpol '(1 2 3) '(4 5) '( 6 7 8 9)) -> ???

envelopes/mix-loop [ Functions ]

[ Top ] [ Functions ]

Name

 mix-loop

File

 envelopes.lisp

Description

 mixes envelopes by looping the values of the shorter ones. 
 resulting length is the length of the longest partial envelope
 times the amount of partial envelopes. values may differ.

Arguments

 envelopes (rest)

Return Value

 list

Example

;;; (mix-loop '(1 2 3) '(4 5) '( 6 7 8 9))
;;; -> (1 4 6 2 5 7 3 4 8 1 5 9)

envelopes/print-env [ Functions ]

[ Top ] [ Functions ]

Name

 print-env

File

 envelopes.lisp

Description

 prints the relations between envelope values in pulse notation

Arguments

 env
 resize-factor (optional): zoom in or out by factor

Return Value

 t

Example

;;; (print-env '(1 2 3 4 5) 1 nil) --> "x.x.x.x.x"
;;; (print-env '(1 2 3 4 5) 2 t) --> nil ("x..x..x..x..x")