File: sin.scm

package info (click to toggle)
jack-tools 20101210-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 504 kB
  • sloc: ansic: 4,678; makefile: 122; lisp: 48; sh: 16
file content (38 lines) | stat: -rw-r--r-- 745 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
(define with-jackdl
  (lambda (f)
    (let* ((fd (udp:open "127.0.0.1" 57190))
           (r (f fd)))
      (udp:close fd)
      r)))

(define g-load
  (lambda (i s)
    (message "/g_load" (list i s))))

(define p-set1
  (lambda (g i n)
    (message "/p_set1" (list g i n))))

(define set-sin
  (lambda (g f a p)
    (with-jackdl
     (lambda (fd)
       (send fd (p-set1 g 0 f))
       (send fd (p-set1 g 1 a))
       (send fd (p-set1 g 2 p))))))

(with-jackdl
  (lambda (fd)
    (for-each
     (lambda (g)
       (send fd (g-load g "/home/rohan/sw/jack.*/help/sin.so")))
     (list 0 1 2))))

(set-sin (i-random 0 3)
         (random 220 880)
         (random 0.1 0.25)
         (random 0 1))

(with-jackdl
  (lambda (fd)
    (send fd quit)))