/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;
|