aboutsummaryrefslogtreecommitdiff
path: root/examples/boids-with-gemlist.pd
blob: 0e9805d8434b3b6438063a1825f6c4fbaeb9a333 (plain)
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
#N canvas 521 28 520 660 10;
#X declare -lib cyclone -lib boids -lib Gem;
#X msg 432 52 destroy;
#N canvas 494 140 629 324 gemwin 0;
#X obj 219 190 gemwin;
#X obj 66 194 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 157 70 set create;
#X msg 350 115 destroy \, reset;
#X msg 238 71 color 0 0 0.5;
#X msg 212 146 create \, 1 \, frame 30 \, color 1 1 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 8 0;
#X connect 3 1 5 0;
#X connect 3 1 6 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 432 72 pd gemwin;
#X text 27 61 There is more information about the technique used in
this patch in the Gem documentation \, mainly at the end of the 02.advanced
section.;
#X text 29 32 manage lots of boids using [gemlist];
#X floatatom 314 241 5 0 0 0 - - -;
#X floatatom 359 241 5 0 0 0 - - -;
#N canvas 0 22 466 316 orbit 0;
#X obj 103 82 counter 360;
#X floatatom 103 107 5 0 0 0 - - -;
#X obj 102 204 poltocar;
#X obj 134 169 expr $f1 * (3.141593/180.);
#X obj 103 134 t b f;
#X obj 103 45 inlet;
#X obj 152 254 outlet;
#X obj 96 254 outlet;
#X obj 102 170 1.5;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 2 0 6 0;
#X connect 2 1 7 0;
#X connect 3 0 2 1;
#X connect 4 0 8 0;
#X connect 4 1 3 0;
#X connect 5 0 0 0;
#X connect 8 0 2 0;
#X restore 314 219 pd orbit;
#X obj 314 188 spigot;
#X obj 350 167 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X obj 350 134 loadbang;
#X msg 128 313 attractpt \$1 \$2;
#X obj 314 264 pack 0 0;
#X obj 47 133 gemhead;
#X obj 47 590 translateXYZ;
#X obj 47 509 alpha;
#X obj 47 616 circle 0.05;
#X obj 47 394 gemlist;
#X obj 47 420 separator;
#N canvas 754 114 494 546 init 0;
#X obj 34 20 inlet;
#X msg 198 102 neighbors 4;
#X msg 203 389 speed 3;
#X msg 203 479 prefdist 1.5;
#X msg 203 149 maxspeed 1.5;
#X msg 203 179 minspeed 1.2;
#X msg 203 209 center 1.2;
#X msg 203 239 attract 1.25;
#X msg 203 269 match 0.3;
#X msg 203 329 repel 3.5;
#X msg 203 299 avoid 3.5;
#X msg 203 359 edgedist 3;
#X msg 203 420 inertia 4.5;
#X msg 203 449 accel 2.5;
#X obj 34 520 outlet;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X connect 0 0 3 0;
#X connect 0 0 4 0;
#X connect 0 0 5 0;
#X connect 0 0 6 0;
#X connect 0 0 7 0;
#X connect 0 0 8 0;
#X connect 0 0 9 0;
#X connect 0 0 10 0;
#X connect 0 0 11 0;
#X connect 0 0 12 0;
#X connect 0 0 13 0;
#X connect 1 0 14 0;
#X connect 2 0 14 0;
#X connect 3 0 14 0;
#X connect 4 0 14 0;
#X connect 5 0 14 0;
#X connect 6 0 14 0;
#X connect 7 0 14 0;
#X connect 8 0 14 0;
#X connect 9 0 14 0;
#X connect 10 0 14 0;
#X connect 11 0 14 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X restore 60 220 pd init;
#N canvas 0 22 418 379 circle 0;
#X obj 101 37 gemhead;
#X obj 99 201 translateXYZ;
#X obj 124 166 unpack 0 0 0;
#X obj 147 94 inlet;
#X msg 240 193 draw line;
#X obj 252 106 loadbang;
#X obj 100 131 alpha;
#X obj 101 68 color 1 0.5 0 0.5;
#X obj 99 228 circle 0.1;
#X connect 0 0 7 0;
#X connect 1 0 8 0;
#X connect 2 0 1 1;
#X connect 2 1 1 2;
#X connect 2 2 1 3;
#X connect 3 0 2 0;
#X connect 4 0 8 0;
#X connect 5 0 4 0;
#X connect 6 0 1 0;
#X connect 7 0 6 0;
#X restore 314 299 pd circle to follow;
#X obj 47 158 trigger bang anything bang;
#N canvas 1 98 474 324 random 0;
#X obj 47 130 random 1000;
#X obj 48 171 * 0.001;
#X obj 131 130 random 1000;
#X obj 132 171 * 0.001;
#X obj 214 131 random 1000;
#X obj 215 172 * 0.001;
#X obj 46 83 t b b b;
#X obj 48 256 outlet;
#X obj 49 217 pack 0 0 0 0.5;
#X obj 47 26 inlet;
#X msg 161 41 seed 1.23342e+06;
#X obj 158 16 inlet;
#X msg 191 65 seed 4.56325e+06;
#X msg 240 92 seed 65426;
#X connect 0 0 1 0;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 8 1;
#X connect 4 0 5 0;
#X connect 5 0 8 2;
#X connect 6 0 0 0;
#X connect 6 1 2 0;
#X connect 6 2 4 0;
#X connect 8 0 7 0;
#X connect 9 0 6 0;
#X connect 10 0 0 0;
#X connect 11 0 10 0;
#X connect 11 0 12 0;
#X connect 11 0 13 0;
#X connect 12 0 2 0;
#X connect 13 0 4 0;
#X restore 200 394 pd random color lists;
#X obj 47 368 trigger bang anything bang;
#X obj 200 449 unpack 0 0 0;
#X obj 77 548 unpack 0 0 0;
#X obj 350 114 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 47 342 boids2d 100;
#X obj 47 459 color;
#X obj 265 6 declare -lib cyclone -lib boids -lib Gem;
#X connect 0 0 1 0;
#X connect 1 0 0 0;
#X connect 4 0 11 0;
#X connect 5 0 11 1;
#X connect 6 0 4 0;
#X connect 6 1 5 0;
#X connect 7 0 6 0;
#X connect 8 0 7 1;
#X connect 9 0 8 0;
#X connect 9 0 18 0;
#X connect 10 0 26 0;
#X connect 11 0 10 0;
#X connect 11 0 19 0;
#X connect 12 0 20 0;
#X connect 13 0 15 0;
#X connect 14 0 13 0;
#X connect 16 0 17 0;
#X connect 17 0 27 0;
#X connect 18 0 26 0;
#X connect 20 0 26 0;
#X connect 20 1 16 1;
#X connect 20 2 7 0;
#X connect 20 2 21 1;
#X connect 21 0 23 0;
#X connect 21 0 27 1;
#X connect 22 0 16 0;
#X connect 22 1 24 0;
#X connect 22 2 21 0;
#X connect 23 0 14 1;
#X connect 24 1 13 1;
#X connect 24 2 13 2;
#X connect 25 0 9 0;
#X connect 26 0 22 0;
#X connect 27 0 14 0;