#!r6rs (library (rsc3 ugen proxied) (export proxied) (import (rnrs) (only (srfi lists) iota) (rsc3 graphdef mce) (rsc3 graphdef proxy) (rsc3 graphdef ugen)) (define (proxied u) (cond ((ugen? u) (let* ((o (ugen-outputs u)) (n (length o))) (if (< n 2) u (make-mce (map (lambda (i) (make-proxy u i)) (iota n)))))) ((mce? u) (make-mce (map proxied (mce-channels u)))))) )