;; jack.scope.scm - (c) rohan drape, 2004-2006 (require (lib "rsc.ss" "rsc")) (define z (udp:open "127.0.0.1" 57140)) (define (set-scope cmd arg) (send z (list cmd arg))) (set-scope "/frames" 1024) (set-scope "/delay" (/ 1000.0 24.0)) (set-scope "/mode" "signal") (set-scope "/style" "fill") (set-scope "/style" "line") (set-scope "/style" "dot") (set-scope "/mode" "embed") (set-scope "/incr" 0.1) (set-scope "/embed" 64) (require (lib "rscC.ss" "rscC") (lib "rscCi.ss" "rscC")) (define c (make-ctls* s 64)) (ctls-view c 1 5 0) (define std-spec (make-spec* 0.0 1.0 'linear)) (define (setup/recv c n s i d r) (ctl-setup c n s i d) (ctl-recv-add c r)) (define (setup-scope-interface) (setup/recv (c 0) "mode" std-spec 0 2 (lambda (i a b n) (set-scope "/mode" (list-ref '("signal" "embed") n)))) (setup/recv (c 1) "style" std-spec 0 3 (lambda (i a b n) (set-scope "/style" (list-ref '("dot" "fill" "line") n)))) (setup/recv (c 2) "fsz" (make-spec* 64.0 8192.0 'linear) 64 1 (lambda (i a b n) (set-scope "/frames" b))) (setup/recv (c 3) "emb" (make-spec* 0.0 128.0 'linear) 0 1 (lambda (i a b n) (set-scope "/embed" b))) (setup/recv (c 4) "incr" (make-spec* 0.01 1.0 'linear) 0.01 1 (lambda (i a b n) (set-scope "/incr" b))) (setup/recv (c 5) "rfsh" (make-spec* 24 512 'linear) 24 1 (lambda (i a b n) (set-scope "/delay" b)))) (setup-scope-interface)