/usr/lib/pd/extra/upp/upp.xf.pd is in pd-upp 0.1-1.
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 | #N canvas 139 522 587 257 10;
#X obj 69 38 inlet;
#X obj 69 195 outlet;
#X obj 142 195 outlet;
#X text 70 212 pass on;
#X text 138 212 release;
#X obj 168 37 inlet;
#X text 170 19 modulation message;
#X obj 207 195 outlet;
#X text 204 213 voices active;
#X text 67 20 event message;
#X obj 352 125 list append \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9;
#X obj 352 81 pack 0 \$0;
#N canvas 15 27 871 725 comm 0;
#X obj 79 48 inlet;
#X text 296 446 release;
#X obj 300 659 outlet;
#X text 296 676 release;
#X obj 364 56 inlet;
#X obj 153 571 t a;
#X msg 153 533 -1;
#X obj 118 608 nbx 5 14 -1e+37 1e+37 0 0 empty empty active 0 -8 0
10 -262144 -1 -1 0 256;
#X text 360 38 modulation message;
#X msg 118 534 1;
#X obj 118 570 +;
#X obj 491 660 outlet;
#X text 488 681 voices active;
#X text 77 30 event message;
#X obj 539 339 table \$0-free \$1;
#X obj 539 359 table \$0-assigned \$1;
#X obj 628 47 loadbang;
#X obj 627 212 tabwrite \$0-free;
#X obj 628 123 until;
#X obj 629 151 f;
#X obj 656 152 + 1;
#X obj 628 98 f \$1;
#X obj 565 261 v \$0-freecnt;
#X obj 654 261 tabwrite \$0-assigned;
#X obj 628 72 t b b;
#X msg 675 122 0;
#X obj 606 47 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X msg 666 237 -1;
#X obj 106 139 t a a;
#X obj 188 290 list prepend UPP-\$0;
#X obj 79 201 upp.dilemma;
#X obj 79 654 outlet;
#X text 75 671 overflow;
#X obj 326 289 list prepend start;
#X obj 391 313 list prepend mod;
#X obj 263 355 list append;
#N canvas 0 22 243 358 itervoices 0;
#X obj 62 37 inlet;
#X obj 62 297 outlet;
#X obj 62 98 v \$0-freecnt;
#X obj 62 201 until;
#X obj 62 263 tabread \$0-assigned;
#X msg 131 199 0;
#X obj 62 234 f;
#X obj 89 234 + 1;
#X obj 62 126 - \$1;
#X obj 62 148 * -1;
#X obj 62 73 t b b;
#X connect 0 0 10 0;
#X connect 2 0 8 0;
#X connect 3 0 6 0;
#X connect 4 0 1 0;
#X connect 5 0 6 1;
#X connect 6 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 6 1;
#X connect 8 0 9 0;
#X connect 9 0 3 0;
#X connect 10 0 2 0;
#X connect 10 1 5 0;
#X restore 364 196 pd itervoices;
#X obj 300 462 r UPP-\$0;
#X obj 195 546 loadbang;
#X msg 193 569 0;
#X msg 188 314 symbol \$1-\$2;
#X obj 188 233 f;
#X obj 106 168 > 0;
#X text 361 216 active voices;
#X obj 630 175 t a b a;
#X obj 118 233 t b a;
#X obj 539 380 table \$0-ids \$1;
#X obj 685 284 tabwrite \$0-ids;
#X text 646 336 stack of free voices;
#X text 666 359 stack of assigned voices;
#X text 637 379 voice positions on assigned stack;
#N canvas 327 105 791 512 allocvoice 0;
#X obj 35 30 inlet;
#X obj 34 449 outlet;
#X obj 62 81 v \$0-freecnt;
#X obj 410 312 tabread \$0-free;
#X text 407 328 voice #;
#X obj 260 448 v \$0-freecnt;
#X obj 130 451 tabwrite \$0-free;
#X msg 130 428 -1;
#X obj 34 426 f;
#X obj 584 452 tabwrite \$0-assigned;
#X text 579 432 val;
#X text 688 434 pos;
#X obj 702 331 - \$1;
#X obj 702 357 * -1;
#X obj 35 59 t b b;
#X obj 62 132 moses 1;
#X obj 232 256 - 1;
#X obj 212 213 t b a a;
#X obj 411 451 tabwrite \$0-ids;
#X obj 410 421 f;
#X obj 410 389 t b a;
#X connect 0 0 14 0;
#X connect 2 0 15 0;
#X connect 3 0 9 0;
#X connect 3 0 8 1;
#X connect 3 0 20 0;
#X connect 7 0 6 0;
#X connect 8 0 1 0;
#X connect 12 0 13 0;
#X connect 13 0 9 1;
#X connect 13 0 19 1;
#X connect 14 0 8 0;
#X connect 14 1 2 0;
#X connect 15 0 8 1;
#X connect 15 1 17 0;
#X connect 16 0 6 1;
#X connect 16 0 3 0;
#X connect 16 0 5 0;
#X connect 17 0 7 0;
#X connect 17 1 16 0;
#X connect 17 2 12 0;
#X connect 19 0 18 0;
#X connect 20 0 19 0;
#X connect 20 1 18 1;
#X restore 106 115 pd allocvoice;
#N canvas 85 115 697 522 freevoice 0;
#X obj 269 28 inlet;
#X obj 269 55 list split 1;
#X obj 460 159 v \$0-freecnt;
#X obj 507 217 v \$0-freecnt;
#X obj 367 472 tabwrite \$0-free;
#X obj 489 188 + 1;
#X text 249 76 voice#;
#X text 82 289 ass index;
#X obj 64 472 tabwrite \$0-assigned;
#X obj 489 246 - \$1;
#X obj 489 267 * -1;
#X obj 489 293 tabread \$0-assigned;
#X text 495 309 get last assigned voice;
#X obj 133 414 f;
#X obj 88 413 f;
#X msg 55 413 -1;
#X text 62 432 clear;
#X obj 103 261 tabread \$0-ids;
#X obj 245 473 tabwrite \$0-ids;
#X msg 186 418 -1;
#X obj 269 99 t a a b;
#X obj 308 417 f;
#X obj 217 417 f;
#X obj 103 323 t b b b a b b a b;
#X connect 0 0 1 0;
#X connect 1 0 20 0;
#X connect 2 0 5 0;
#X connect 2 0 4 1;
#X connect 5 0 9 0;
#X connect 5 0 3 0;
#X connect 9 0 10 0;
#X connect 10 0 14 1;
#X connect 10 0 11 0;
#X connect 11 0 13 1;
#X connect 11 0 21 1;
#X connect 13 0 8 0;
#X connect 14 0 8 1;
#X connect 15 0 8 0;
#X connect 17 0 23 0;
#X connect 19 0 18 0;
#X connect 20 0 17 0;
#X connect 20 1 4 0;
#X connect 20 1 22 1;
#X connect 20 2 2 0;
#X connect 21 0 18 1;
#X connect 22 0 18 1;
#X connect 23 0 15 0;
#X connect 23 1 14 0;
#X connect 23 2 13 0;
#X connect 23 3 8 1;
#X connect 23 4 19 0;
#X connect 23 5 22 0;
#X connect 23 6 18 0;
#X connect 23 7 21 0;
#X restore 339 518 pd freevoice;
#X obj 300 489 t a b a;
#X obj 364 141 t a a;
#X obj 79 89 t a b;
#X obj 263 379 upp.fwd;
#X connect 0 0 55 0;
#X connect 4 0 54 0;
#X connect 5 0 10 1;
#X connect 6 0 10 0;
#X connect 7 0 11 0;
#X connect 9 0 10 0;
#X connect 10 0 5 0;
#X connect 10 0 7 0;
#X connect 16 0 24 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 19 0 44 0;
#X connect 20 0 19 1;
#X connect 21 0 18 0;
#X connect 21 0 22 0;
#X connect 24 0 21 0;
#X connect 24 1 25 0;
#X connect 25 0 19 1;
#X connect 26 0 24 0;
#X connect 27 0 23 0;
#X connect 27 0 47 0;
#X connect 28 0 42 0;
#X connect 28 1 41 1;
#X connect 29 0 40 0;
#X connect 30 0 31 0;
#X connect 30 1 45 0;
#X connect 33 0 35 1;
#X connect 34 0 35 1;
#X connect 35 0 56 0;
#X connect 36 0 29 0;
#X connect 37 0 53 0;
#X connect 38 0 39 0;
#X connect 39 0 5 0;
#X connect 39 0 7 0;
#X connect 40 0 35 0;
#X connect 41 0 29 0;
#X connect 42 0 30 1;
#X connect 44 0 17 0;
#X connect 44 1 27 0;
#X connect 44 2 17 1;
#X connect 44 2 23 1;
#X connect 44 2 47 1;
#X connect 45 0 41 0;
#X connect 45 0 9 0;
#X connect 45 1 33 0;
#X connect 51 0 28 0;
#X connect 53 0 2 0;
#X connect 53 1 6 0;
#X connect 53 2 52 0;
#X connect 54 0 36 0;
#X connect 54 1 34 0;
#X connect 55 0 30 0;
#X connect 55 1 51 0;
#X restore 69 103 pd comm;
#X msg 352 103 upp.comm UPP-\$2 \$1;
#X text 475 23 grrrr.org 2012;
#X obj 247 105 upp.dynpatch \$1;
#X connect 0 0 12 0;
#X connect 5 0 12 1;
#X connect 10 0 15 0;
#X connect 11 0 13 0;
#X connect 12 0 1 0;
#X connect 12 1 2 0;
#X connect 12 2 7 0;
#X connect 13 0 10 0;
#X connect 15 0 11 0;
#X coords 0 0 1 1 100 50 0;
|