File: sin.scm

package info (click to toggle)
jack-tools 20131226-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, jessie, jessie-kfreebsd, stretch
  • size: 708 kB
  • ctags: 808
  • sloc: ansic: 6,183; makefile: 109; lisp: 54
file content (45 lines) | stat: -rw-r--r-- 844 bytes parent folder | download | duplicates (3)
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
39
40
41
42
43
44
45
(import (sosc)
        (rsc3))

(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 c-set1
  (lambda (i n)
    (message "/c_set" (list i n))))

(define g-ctl
  (lambda (g i)
    (+ (* g 3) i)))

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

(with-jackdl
  (lambda (fd)
    (for-each
     (lambda (g)
       (send fd (g-load g "/home/rohan/sw/rju/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)))