summaryrefslogtreecommitdiff
path: root/env.scm
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>2016-06-27 21:22:00 +0200
committerIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>2016-06-27 21:22:00 +0200
commit3eb3c4d013403119c639870bf55d61e3456c1078 (patch)
tree959cbf5ce662539ff3284e3360fd92e4b78b57d3 /env.scm
parent248790aca5d5b6dc9a8edeea1abed0195ac1338e (diff)
Imported Upstream version 16.6
Diffstat (limited to 'env.scm')
-rw-r--r--env.scm16
1 files changed, 7 insertions, 9 deletions
diff --git a/env.scm b/env.scm
index 0c043f5..43f36a0 100644
--- a/env.scm
+++ b/env.scm
@@ -197,7 +197,7 @@ divseg in early versions of CLM and its antecedents in Sambox and Mus10 (linen).
(set! scl (if old-dec
(/ (- new-dec new-att) (- old-dec old-att))
(/ (- last-x new-att) (- last-x old-att)))))
- (when (and old-dec
+ (when (and (real? old-dec)
(< x0 old-dec)
(>= x1 old-dec))
(set! y0 (if (= x1 old-dec)
@@ -222,8 +222,7 @@ divseg in early versions of CLM and its antecedents in Sambox and Mus10 (linen).
(lambda* (e scl (offset 0))
(if (null? e)
()
- (append (list (car e) (+ offset (* scl (cadr e))))
- (scale-envelope (cddr e) scl offset))))))
+ (cons (car e) (cons (+ offset (* scl (cadr e))) (scale-envelope (cddr e) scl offset)))))))
;;; -------- reverse-envelope
@@ -255,7 +254,7 @@ divseg in early versions of CLM and its antecedents in Sambox and Mus10 (linen).
newe
(cat-1 (cddr e)
(cons (cadr e)
- (cons (+ (- (car e) x0) xoff)
+ (cons (- (+ (car e) xoff) x0)
newe))
xoff
x0)))
@@ -289,7 +288,7 @@ repetition to be in reverse."))
(rev-env (cddr (reverse ur-env)))
(new-env (reverse ur-env)))
(while (pair? rev-env)
- (set! new-env (cons (+ lastx (- lastx (cadr rev-env))) new-env))
+ (set! new-env (cons (- (+ lastx lastx) (cadr rev-env)) new-env))
(set! new-env (cons (car rev-env) new-env))
(set! rev-env (cddr rev-env)))
(reverse new-env))))
@@ -303,7 +302,7 @@ repetition to be in reverse."))
((= i times))
(do ((j 2 (+ j 2)))
((>= j len))
- (set! x (+ x (- (e j) (e (- j 2)))))
+ (set! x (- (+ x (e j)) (e (- j 2))))
(set! new-env (cons (e (+ j 1)) (cons x new-env))))
(if (and (< i (- times 1)) (not first-y-is-last-y))
(begin
@@ -433,8 +432,7 @@ each segment: (powenv-channel '(0 0 .325 1 1 32.0 2 0 32.0))"))
(let* ((mn (min-envelope e))
(largest-diff (* 1.0 (- (max-envelope e) mn)))
(x-min (car e))
- (len (length e))
- (x-max (e (- len 2)))
+ (x-max (e (- (length e) 2)))
(x-incr (* 1.0 (/ (- x-max x-min) xgrid)))
(new-e ()))
(do ((x x-min (+ x x-incr)))
@@ -467,7 +465,7 @@ each segment: (powenv-channel '(0 0 .325 1 1 32.0 2 0 32.0))"))
(rms (make-moving-average incrsamps)) ; this could use make-moving-rms from dsp.scm
(rms-val 0.0)
(jend 0)
- (len (+ 1 (- end start)))
+ (len (- (+ end 1) start))
(data (make-float-vector len)))
(do ((i 0 (+ i 1)))
((= i len))