comparison src/scheme/old/lineout.scm @ 0:bf79fb79ee13

Initial Mercurial check in.
author samer
date Tue, 17 Jan 2012 17:50:20 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:bf79fb79ee13
1 (define set-step null)
2 (define line-on null)
3 (define line-off null)
4 (define _lineout null)
5
6 (define-method (overlap-and-add x hop)
7 (define oa (OverlapAndAdd. x hop))
8 (define line (LineOut. (.output oa)))
9 (.setWindow oa (Hanning.))
10 (.setWindow line 0 hop)
11 (addtasks oa line)
12 (set! _lineout line)
13 (set! set-step (lambda (h)
14 (.setHop oa h)
15 (.setWindow line 0 h)))
16 )
17
18 (define-method (overlap-and-add sink x hop)
19 (define oa (OverlapAndAdd. x hop))
20 (.setWindow oa (Hanning.))
21 (addtasks oa (.writer sink (.array (.output oa)) 0 hop))
22 )
23
24 (define-method (lineout (linein LineIn))
25 (put "audio.scale" 1.0)
26 (let ((lineout (LineOut. (.output linein))))
27 (.setWindow lineout 0 (.getStep linein))
28 (set! set-step (lambda (n)
29 (.setStep linein n)
30 (.setWindow lineout 0 n)))
31 (set! line-on (lambda ()
32 (.starting lineout)
33 (Thread.sleep 200L)
34 (addafter linein lineout)))
35 (set! line-off (lambda ()
36 (remove lineout)
37 (.stopping lineout)
38 (Thread.sleep 200L)))))
39
40 (define-method (lineout (in Vec))
41 (let ((lineout (LineOut. in) (n (.size in)))
42 (tasklist (tasks)))
43 (set! set-step (lambda (m)
44 (.setWindow lineout (- n m) n)))
45 (set! line-on (lambda ()
46 (.starting lineout)
47 (Thread.sleep 200L)
48 (.addTask tasklist lineout)))
49 (set! line-off (lambda ()
50 (.removeTask tasklist lineout)
51 (.stopping lineout)
52 (Thread.sleep 200L)))))
53
54 (define-method (lineout n)
55 (put "audio.scale" 32767.0)
56 (let ( (lineout (LineOut. n)))
57 (set! set-step (lambda (m)
58 (.setWindow lineout (- n m) n)))
59 (set! line-on (lambda ()
60 (.starting lineout)
61 (Thread.sleep 200L)
62 (addtask lineout)))
63 (set! line-off (lambda ()
64 (remove lineout)
65 (.stopping lineout)
66 (Thread.sleep 200L)))))
67
68