Mercurial > hg > jslab
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 |