-
Notifications
You must be signed in to change notification settings - Fork 745
/
SCScope view x,y plot.scd
101 lines (80 loc) · 1.63 KB
/
SCScope view x,y plot.scd
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//jmc 2003
The SCScope view 'style' property supports 3 styles:
0 = separate waveform plots
1 = overlapping waveform plots
2 = x,y plots of 2 channel pairs.
(
// create a window with a scope view
var f, s;
w = SCWindow("scope test", Rect(128, 64, 512, 512));
n = SCScope(w, Rect(10,10,480,480));
n.bufnum = 0;
n.background = Color.black;
n.resize = 5;
n.style = 2;
n.waveColors = [Color.yellow, Color.blue(1.2), Color.red, Color.green];
w.front;
)
// boot internal server
s = Server.internal;
s.boot;
// allocate a 2 channel buffer
s.sendMsg(\b_alloc, 0, 2048, 2);
// play a 2 channel sound into that buffer using ScopeOut.
(
z = {
var m, f;
f = SampleRate.ir / 64;
m = SinOsc.kr(0.001, 0, 0.8, 1).round(1/60);
ScopeOut.ar([SinOsc.ar(f + 0.01), SinOsc.ar(f * m)], 0)
}.play(s);
)
z.free;
(
z = {
var in, f;
f = MouseX.kr(40,8000,1);
in = {RLPF.ar(BrownNoise.ar(0.5), f, 0.3) }.dup;
ScopeOut.ar(in, 0);
Out.ar(0, in);
}.play(s);
)
z.free;
(
z = {
var in, f, pw;
f = MouseX.kr(40,8000,1);
pw = MouseY.kr(0.01,0.99);
in = RLPF.ar(Pulse.ar([100,100.2],pw,0.5), f, 0.1).softclip;
ScopeOut.ar(in, 0);
Out.ar(0, in);
}.play(s);
)
z.free;
(
z = {
var in, f;
f = MouseX.kr(40,8000,1);
in = RLPF.ar(Saw.ar([100,100.2],0.5), f, 0.1).softclip;
ScopeOut.ar(in, 0);
Out.ar(0, in);
}.play(s);
)
z.free;
// allocate a 4 channel buffer
s.sendMsg(\b_alloc, 0, 2048, 4);
(
z = {
var in, f, pw;
f = MouseX.kr(40,8000,1);
pw = MouseY.kr(0.01,0.99);
in = RLPF.ar(Pulse.ar([120,120.12, 200, 200.1],pw,0.5), f,
0.1).softclip;
ScopeOut.ar(in, 0);
Out.ar(0, Mix(in.clump(2)) * 0.5);
}.play(s);
)
z.free;
n.style = 0;
n.style = 1;
n.style = 2;