This file is indexed.

/usr/lib/pd/extra/upp/upp.vline~.pd is in pd-upp 0.1.0-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
#N canvas 75 41 558 533 10;
#X obj 48 109 inlet;
#X obj 48 480 outlet~;
#X text 104 194 dur;
#X text 137 193 del;
#N canvas 366 346 284 335 normalize 0;
#X obj 29 92 t a b;
#X obj 29 122 list split 1;
#X obj 168 122 list split 1;
#X msg 130 92 0;
#X obj 119 199 f;
#X obj 178 199 f;
#X obj 29 61 inlet;
#X obj 30 280 outlet;
#X obj 63 143 route bang;
#X obj 63 163 t b b;
#X obj 30 254 pack 0 0 0;
#X text 27 8 Convert input to triplets;
#X text 27 26 2nd and 3rd element are 0 by default;
#X connect 0 0 1 0;
#X connect 0 1 3 0;
#X connect 1 0 10 0;
#X connect 1 1 8 0;
#X connect 2 0 4 0;
#X connect 2 1 5 0;
#X connect 3 0 4 1;
#X connect 3 0 5 1;
#X connect 4 0 10 1;
#X connect 5 0 10 2;
#X connect 6 0 0 0;
#X connect 8 0 9 0;
#X connect 8 1 2 0;
#X connect 9 0 4 0;
#X connect 9 1 5 0;
#X connect 10 0 7 0;
#X restore 48 146 pd normalize input;
#X text 50 194 target;
#X obj 48 327 pack 0 0 0 0 0;
#X obj 48 452 catch~ \$0-out;
#X obj 366 426 nbx 5 14 -1e+37 1e+37 0 0 empty empty voices 0 -8 0
10 -262144 -1 -1 0 256;
#X obj 278 105 loadbang;
#X obj 278 176 select 0;
#X msg 278 198 64;
#N canvas 533 264 227 122 const 0;
#X obj 95 89 throw~ \$0-out;
#X obj 28 17 inlet;
#X obj 28 89 switch~;
#X obj 95 16 inlet;
#X obj 95 45 t b a;
#X obj 28 45 &&;
#X text 37 64 only on for values != 0;
#X connect 1 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 1 5 1;
#X connect 4 1 0 0;
#X connect 5 0 2 0;
#X restore 319 483 pd const;
#X obj 352 104 inlet;
#X obj 319 425 == 0;
#X text 281 135 blocksize;
#X obj 416 152 f \$1;
#X obj 416 173 select 0;
#X obj 278 155 f \$2;
#X text 415 135 voices;
#X obj 416 222 s \$0-voices;
#N canvas 43 85 418 364 voices 0;
#X obj 39 46 r \$0-voices;
#X obj 58 207 f \$0;
#X obj 58 143 t b a;
#N canvas 44 529 450 300 \$0-dyn 0;
#X obj 20 19 inlet;
#X obj 84 19 outlet;
#X restore 248 73 pd \$0-dyn;
#X obj 58 95 until;
#X obj 58 120 f;
#X obj 86 120 + 1;
#X msg 100 96 0;
#X msg 58 252 obj 20 \$4 upp._vlinesub \$1 \, connect \$2 0 \$3 0;
#X obj 58 230 pack 0 0 0 0;
#X obj 147 186 * 20;
#X obj 146 207 + 50;
#X obj 71 166 moses 1;
#X msg 39 298 connect \$1 0 1 0 \, loadbang;
#X obj 115 207 + 2;
#X obj 96 185 + 1;
#X obj 58 326 s pd-\$0-dyn;
#X obj 39 275 + 1;
#X obj 248 46 inlet;
#X obj 248 99 outlet;
#X text 37 15 Dynamically create voices for ramp parts in [pd \$0-dyn]
;
#X obj 39 69 t a a b b;
#N canvas 154 492 537 236 clear 0;
#X obj 39 34 inlet;
#X obj 38 125 outlet;
#X msg 38 67 vis 1 \, editmode 1 \, mouse 5 50 0 0 0 \, mouseup 100000
100000 0 \, cut \, editmode 0 \, vis 0;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 219 181 pd clear;
#X obj 220 155 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X connect 0 0 21 0;
#X connect 1 0 9 0;
#X connect 2 0 1 0;
#X connect 2 1 10 0;
#X connect 2 1 12 0;
#X connect 2 1 14 0;
#X connect 3 0 19 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 5 0 2 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 16 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 11 0 9 3;
#X connect 12 0 9 1;
#X connect 12 1 15 0;
#X connect 13 0 16 0;
#X connect 14 0 9 2;
#X connect 15 0 9 1;
#X connect 17 0 13 0;
#X connect 18 0 3 0;
#X connect 21 0 17 0;
#X connect 21 1 4 0;
#X connect 21 2 7 0;
#X connect 22 0 16 0;
#X connect 23 0 22 0;
#X restore 48 386 pd voices;
#X text 316 374 count active voices;
#X text 47 434 voice sum;
#X text 318 447 no voice active:;
#X text 319 463 output constant target value;
#X text 49 356 dynamically generated voices;
#X obj 278 225 t a;
#X obj 48 213 unpack 0 0 0;
#X obj 48 171 upp.schedule 2, f 26;
#X obj 319 391 r \$0-busy;
#X msg 416 297 0;
#X obj 416 318 s \$0-busy;
#N canvas 89 52 536 458 calculate 0;
#X obj 41 73 inlet;
#X obj 104 73 inlet;
#X obj 171 73 inlet;
#X obj 41 284 upp.dilemma;
#X obj 104 261 != 0;
#X text 13 305 immediate;
#X obj 104 237 t a a;
#X text 87 304 dur!=0;
#X obj 41 412 outlet;
#X obj 427 68 inlet;
#X text 408 50 blocksize;
#N canvas 0 23 310 307 offset 0;
#X obj 219 76 inlet;
#X obj 35 74 inlet;
#X text 219 58 blksize;
#X obj 35 256 outlet;
#X obj 157 75 inlet;
#X text 156 56 max;
#X text 30 18 Running offset by DSP blocks;
#X obj 88 75 inlet;
#X text 86 54 reset;
#X text 33 53 now;
#X obj 35 192 *;
#X obj 35 217 t a a;
#X obj 136 212 >;
#X obj 136 234 sel 1;
#X msg 137 257 stop;
#X obj 35 143 upp.dspintv;
#X connect 0 0 10 1;
#X connect 1 0 15 0;
#X connect 4 0 12 1;
#X connect 7 0 15 1;
#X connect 10 0 11 0;
#X connect 11 0 3 0;
#X connect 11 1 12 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 10 0;
#X restore 376 258 pd offset;
#X text 364 277 start with 0;
#X text 363 291 increase for next block;
#X text 395 333 offset;
#X obj 104 96 t a b;
#X obj 41 95 t a b;
#X text 41 56 tgt1;
#X text 109 55 dur1;
#X text 172 55 del1;
#X text 166 139 del0;
#X text 41 140 tgt0;
#X text 100 141 dur0;
#X text 88 333 tgt0;
#X text 154 333 cur0;
#X text 213 333 dur0;
#X text 268 333 del0;
#X text 339 333 del1;
#X obj 104 351 expr $f2+($f1-$f2)*max(0 \, min(1 \, ($f6+$f5-$f4)/$f3))
;
#X obj 171 95 t a b;
#X obj 401 221 +;
#X text 212 124 storage for previous values;
#X obj 41 121 f 0;
#X obj 104 122 f 0;
#X obj 171 121 f 0;
#X text 372 238 dur+del;
#X text 45 13 Calculate current value as result of the last played
segment and the time passed;
#X obj 333 71 loadbang;
#X obj 41 158 t a b;
#X obj 41 388 t a a b;
#X connect 0 0 16 0;
#X connect 1 0 15 0;
#X connect 2 0 29 0;
#X connect 3 0 39 0;
#X connect 3 1 28 0;
#X connect 4 0 3 1;
#X connect 6 0 4 0;
#X connect 6 1 28 2;
#X connect 9 0 11 3;
#X connect 11 0 28 5;
#X connect 15 0 33 1;
#X connect 15 0 30 0;
#X connect 15 1 33 0;
#X connect 16 0 32 1;
#X connect 16 1 32 0;
#X connect 28 0 39 0;
#X connect 29 0 28 4;
#X connect 29 0 34 1;
#X connect 29 0 30 1;
#X connect 29 1 34 0;
#X connect 30 0 11 2;
#X connect 32 0 38 0;
#X connect 33 0 6 0;
#X connect 34 0 28 3;
#X connect 37 0 11 1;
#X connect 38 0 3 0;
#X connect 38 1 11 0;
#X connect 39 0 8 0;
#X connect 39 1 28 1;
#X connect 39 2 11 1;
#X restore 119 253 pd calculate starting point;
#X obj 48 245 t a a;
#X obj 36 291 sel 0;
#X obj 182 479 outlet;
#X msg 416 195 2;
#X text 151 433 overflow signal;
#X obj 182 454 b;
#X text 46 19 Replacement for vline~ with expected behavior;
#X text 46 58 grrrr.org 2016;
#X text 46 36 Time units are samples;
#X text 415 267 initialize number;
#X text 417 280 of busy voices;
#X text 76 292 has target value changed at all?;
#X text 120 270 current value;
#X text 49 371 for synthesis of ramp parts;
#X text 50 128 target duration delay;
#X connect 0 0 4 0;
#X connect 4 0 29 0;
#X connect 6 0 21 0;
#X connect 7 0 1 0;
#X connect 9 0 18 0;
#X connect 9 0 16 0;
#X connect 9 0 31 0;
#X connect 10 0 11 0;
#X connect 10 1 27 0;
#X connect 11 0 27 0;
#X connect 13 0 27 0;
#X connect 14 0 12 0;
#X connect 16 0 17 0;
#X connect 17 0 37 0;
#X connect 17 1 20 0;
#X connect 18 0 10 0;
#X connect 21 0 39 0;
#X connect 27 0 29 2;
#X connect 27 0 33 3;
#X connect 27 0 6 4;
#X connect 28 0 34 0;
#X connect 28 1 6 1;
#X connect 28 1 33 1;
#X connect 28 2 6 2;
#X connect 28 2 33 2;
#X connect 29 0 28 0;
#X connect 30 0 8 0;
#X connect 30 0 14 0;
#X connect 31 0 32 0;
#X connect 33 0 6 3;
#X connect 33 0 35 1;
#X connect 34 0 35 0;
#X connect 34 1 33 0;
#X connect 34 1 12 1;
#X connect 35 1 6 0;
#X connect 37 0 20 0;
#X connect 39 0 36 0;