-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcanto.scd
83 lines (68 loc) · 1.3 KB
/
canto.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
// Canto Ostinato :: Simeon Ten Holt
//
// version for harp and electronics
// W. Snoei 2012
(
/*
RoundView.dontRefresh = false;
RoundView.dontRefresh = true;
*/
~canto = ~canto ? EM();
~canto.latency = ((s.options.hardwareBufferSize * 1) + 64)/44100;
~canto.path = thisProcess.nowExecutingPath.dirname;
~canto.fileNames = [
"midi import",
"play",
"window",
"icontrols",
"reverb",
"recbuf",
//"loop",
"delays",
"revDelay",
"freeze",
"fastFreeze",
"clicks",
"bass drum",
"beats",
"nanokontrol",
].collect({ |item| ~canto.path +/+ "canto" + item ++ ".scd" });
~canto.fileNames.do(_.load);
~canto.fileWindow !? _.close;
~canto.fileWindow = Window( "canto files",
Rect( 9, 366, 130, (~canto.fileNames.size * 20) + 4 )
).front;
~canto.fileWindow.addFlowLayout;
~canto.fileNames.do({ |item|
RoundButton( ~canto.fileWindow, 122 @ 16 )
.label_( item.basename )
.action_({ Document.open( item ) });
});
~canto.startAll = { |evt|
evt.delay.global.start;
evt.delay.input.start;
evt.delay.input.amp = 0;
evt.ir.start;
evt.start;
NanoKONTROL.setScene(0);
};
~canto.endAll = { |evt|
evt.end;
evt.ir.stop;
[
\delay,
\revDelay,
].do({ |item|
evt[item].global.end;
evt[item].input.end;
});
[
\freeze1,
\fastFreeze,
\fastFreeze2,
\clicks,
].do({ |item|
evt[item].end;
});
};
)