;; ugen -> bool (define unipolar? (lambda (u) (if (mce? u) (all unipolar? (mce-channels u)) (member (ugen-name u) (list "Dust" "Impulse" "LFPulse" "TPulse" "Trig1"))))) ;; ugen -> ugen -> ugen -> ugen (define range (lambda (u l r) (if (unipolar? u) (lin-lin u 0 1 l r) (lin-lin u -1 1 l r)))) ;; ugen -> ugen -> ugen -> ugen (define exp-range (lambda (u l r) (if (unipolar? u) (lin-exp u 0 1 l r) (lin-exp u -1 1 l r))))