mirror of
https://github.com/pd-l2ork/pd-l2ork.git
synced 2026-02-11 17:50:41 +01:00
934 lines
26 KiB
Plaintext
934 lines
26 KiB
Plaintext
#N canvas 10 84 659 633 12;
|
|
#X obj 61 34 loadbang;
|
|
#N canvas 107 123 756 233 load_hcs/folder_list 0;
|
|
#X obj 357 47 inlet;
|
|
#X obj 357 155 s pd-\$0-hcs/folder_list;
|
|
#N canvas 288 225 450 300 \$0-hcs/folder_list 0;
|
|
#X obj 5 5 receive 1003-fl-in;
|
|
#X obj 5 30 /usr/lib/pd-l2ork/extra/hcs/folder_list;
|
|
#X obj 5 55 send 1003-fl-out;
|
|
#X connect 0 0 1 0;
|
|
#X connect 1 0 2 0;
|
|
#X restore 43 113 pd \$0-hcs/folder_list;
|
|
#X obj 43 47 inlet;
|
|
#X obj 43 76 s \$0-fl-in;
|
|
#X obj 43 149 r \$0-fl-out;
|
|
#X obj 43 180 outlet;
|
|
#X msg 357 90 clear \, obj 5 5 receive \$0-fl-in \, obj 5 30 \$1/extra/hcs/folder_list
|
|
\, obj 5 55 send \$0-fl-out \, connect 0 0 1 0 \, connect 1 0 2 0;
|
|
#X connect 0 0 7 0;
|
|
#X connect 3 0 4 0;
|
|
#X connect 5 0 6 0;
|
|
#X connect 7 0 1 0;
|
|
#X restore 164 459 pd load_hcs/folder_list;
|
|
#X text 304 45 \$0-libdir - directory containing doc and extra;
|
|
#N canvas 46 220 956 472 list_of_libdirs 0;
|
|
#X obj 24 9 inlet;
|
|
#X text 70 128 libraries that are loaded at startup in Pd-L2Ork;
|
|
#X text 49 267 Gem is currently excluded because it doesn't run on
|
|
all platforms;
|
|
#X obj 24 408 outlet;
|
|
#X text 510 128 legacy libraries that are not loaded at startup;
|
|
#X text 511 315 iem_tab: 45 classes that refuse to create without args
|
|
;
|
|
#X text 511 338 tof: param class is too complex to easily give default
|
|
args;
|
|
#X text 585 293 Missing:;
|
|
#X text 84 245 Missing:;
|
|
#X obj 24 376 list append;
|
|
#X obj 24 35 trigger bang bang;
|
|
#X msg 489 150 adaptive arraysize autotune~ bassemu~ bob~ boids bonk~
|
|
bsaylor choice comport controctopus fluid~ hid iem16 iem_adaptfilt
|
|
iem_ambi iem_bin_ambi iem_delay iemgui iemmatrix iem_roomsim iem_spec2
|
|
iemxmlrpc jasch_lib K12 la-kitchen loop~ lrshift~ memento-p mjlib moocow
|
|
moonlib motex mrpeach nsend pan pd~ pdcontainer pd-wavelet pique plugin~
|
|
pmpd purepd rjlib rradical rtc sfruit sigmund~ stdout timestretch windowing
|
|
;
|
|
#X msg 24 150 libdir cyclone zexy creb cxc iemlib list-abs mapping
|
|
markex maxlib memento mjlib motex osx pddp pdogg pixeltango pmpd rradical
|
|
sigpack smlib unauthorized vbap pan freeverb~ hcs jmmmp ext13 ggee
|
|
iem_anything ekext disis lyonpotpourri;
|
|
#X connect 0 0 10 0;
|
|
#X connect 9 0 3 0;
|
|
#X connect 10 0 12 0;
|
|
#X connect 10 1 11 0;
|
|
#X connect 11 0 9 1;
|
|
#X connect 12 0 9 0;
|
|
#X restore 132 124 pd list_of_libdirs;
|
|
#N canvas 245 192 382 392 list_drip 0;
|
|
#X obj 67 30 inlet;
|
|
#X obj 102 83 list length;
|
|
#X obj 102 108 until;
|
|
#X obj 102 163 f;
|
|
#X obj 102 188 + 1;
|
|
#X msg 274 263 set;
|
|
#X msg 66 307 \$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 \,;
|
|
#X obj 66 263 list;
|
|
#X msg 102 263 adddollar \$1 \, addcomma;
|
|
#X msg 150 126 0;
|
|
#X obj 66 332 symbol;
|
|
#X obj 66 357 outlet;
|
|
#X obj 67 55 trigger anything anything bang;
|
|
#X obj 144 224 b;
|
|
#X connect 0 0 12 0;
|
|
#X connect 1 0 2 0;
|
|
#X connect 2 0 3 0;
|
|
#X connect 3 0 4 0;
|
|
#X connect 4 0 3 1;
|
|
#X connect 4 0 8 0;
|
|
#X connect 5 0 6 0;
|
|
#X connect 6 0 10 0;
|
|
#X connect 7 0 6 0;
|
|
#X connect 8 0 6 0;
|
|
#X connect 9 0 3 1;
|
|
#X connect 10 0 11 0;
|
|
#X connect 12 0 7 0;
|
|
#X connect 12 1 1 0;
|
|
#X connect 12 2 5 0;
|
|
#X connect 12 2 9 0;
|
|
#X connect 12 2 13 0;
|
|
#X connect 13 0 7 1;
|
|
#X restore 132 154 pd list_drip;
|
|
#N canvas 389 65 533 579 get_extensions 0;
|
|
#X obj 17 44 inlet;
|
|
#X obj 17 70 bang;
|
|
#X msg 17 105 platform;
|
|
#X obj 17 131 pdinfo;
|
|
#X obj 49 289 pdinfo;
|
|
#X msg 49 261 arch;
|
|
#X msg 17 205 .pd_linux;
|
|
#X obj 17 156 select linux freebsd darwin win32;
|
|
#X msg 355 205 .so;
|
|
#X obj 399 205 print warning: unknown platform;
|
|
#X obj 17 231 t a b;
|
|
#X obj 49 315 sel ia32 x64 arm;
|
|
#X msg 49 352 .l_i386;
|
|
#X msg 119 352 .l_ia64;
|
|
#X msg 195 352 .l_arm;
|
|
#X obj 17 397 list;
|
|
#X msg 106 205 .pd_darwin .d_fat;
|
|
#X obj 299 397 list;
|
|
#X msg 246 205 .dll .m_i386;
|
|
#X obj 17 460 list append .pd;
|
|
#X text 131 459 add ".pd" extension for abstractions;
|
|
#X obj 17 485 outlet;
|
|
#X connect 0 0 1 0;
|
|
#X connect 1 0 2 0;
|
|
#X connect 2 0 3 0;
|
|
#X connect 3 0 7 0;
|
|
#X connect 4 0 11 0;
|
|
#X connect 5 0 4 0;
|
|
#X connect 6 0 10 0;
|
|
#X connect 7 0 6 0;
|
|
#X connect 7 1 6 0;
|
|
#X connect 7 2 16 0;
|
|
#X connect 7 3 18 0;
|
|
#X connect 7 4 8 0;
|
|
#X connect 7 4 9 0;
|
|
#X connect 8 0 17 0;
|
|
#X connect 10 0 15 0;
|
|
#X connect 10 1 5 0;
|
|
#X connect 11 0 12 0;
|
|
#X connect 11 1 13 0;
|
|
#X connect 11 2 14 0;
|
|
#X connect 12 0 15 1;
|
|
#X connect 13 0 15 1;
|
|
#X connect 14 0 15 1;
|
|
#X connect 15 0 19 0;
|
|
#X connect 16 0 17 0;
|
|
#X connect 17 0 19 0;
|
|
#X connect 18 0 17 0;
|
|
#X connect 19 0 21 0;
|
|
#X restore 310 214 pd get_extensions;
|
|
#X obj 164 305 list;
|
|
#N canvas 245 192 382 392 list_drip 0;
|
|
#X obj 67 30 inlet;
|
|
#X obj 102 83 list length;
|
|
#X obj 102 108 until;
|
|
#X obj 102 163 f;
|
|
#X obj 102 188 + 1;
|
|
#X msg 274 263 set;
|
|
#X msg 66 307 \$1 \, \$2 \, \$3 \,;
|
|
#X obj 66 263 list;
|
|
#X msg 102 263 adddollar \$1 \, addcomma;
|
|
#X msg 150 126 0;
|
|
#X obj 66 332 symbol;
|
|
#X obj 66 357 outlet;
|
|
#X obj 67 55 trigger anything anything bang;
|
|
#X obj 144 224 b;
|
|
#X connect 0 0 12 0;
|
|
#X connect 1 0 2 0;
|
|
#X connect 2 0 3 0;
|
|
#X connect 3 0 4 0;
|
|
#X connect 4 0 3 1;
|
|
#X connect 4 0 8 0;
|
|
#X connect 5 0 6 0;
|
|
#X connect 6 0 10 0;
|
|
#X connect 7 0 6 0;
|
|
#X connect 8 0 6 0;
|
|
#X connect 9 0 3 1;
|
|
#X connect 10 0 11 0;
|
|
#X connect 12 0 7 0;
|
|
#X connect 12 1 1 0;
|
|
#X connect 12 2 5 0;
|
|
#X connect 12 2 9 0;
|
|
#X connect 12 2 13 0;
|
|
#X connect 13 0 7 1;
|
|
#X restore 164 334 pd list_drip;
|
|
#X text 304 65 \$0-current-libdir - current libdir being tested;
|
|
#X obj 290 318 t a a;
|
|
#X obj 164 399 pack s s s;
|
|
#X text 249 399 ext current-libdir libdir;
|
|
#X msg 164 424 list \$3/extra/\$2/*\$1;
|
|
#N canvas 314 37 450 472 remove_help_patches 0;
|
|
#X obj 40 14 inlet;
|
|
#X obj 126 18 r \$0-ext;
|
|
#X obj 126 43 sel .pd;
|
|
#X msg 126 98 1;
|
|
#X msg 169 98 0;
|
|
#X obj 169 71 b;
|
|
#X obj 40 136 list prepend;
|
|
#X obj 40 161 route 0 1;
|
|
#X obj 122 251 list fromsymbol;
|
|
#X obj 122 276 t a a;
|
|
#X obj 154 304 list length;
|
|
#X obj 154 329 - 8;
|
|
#X obj 122 363 list split;
|
|
#X obj 155 394 list tosymbol;
|
|
#X obj 155 419 sel -help.pd;
|
|
#X msg 155 444 0;
|
|
#X obj 116 485 spigot;
|
|
#X obj 90 189 t a a b;
|
|
#X msg 353 448 1;
|
|
#X obj 40 526 symbol;
|
|
#X obj 40 551 outlet;
|
|
#X obj 117 218 symbol;
|
|
#X connect 0 0 6 0;
|
|
#X connect 1 0 2 0;
|
|
#X connect 2 0 3 0;
|
|
#X connect 2 1 5 0;
|
|
#X connect 3 0 6 1;
|
|
#X connect 4 0 6 1;
|
|
#X connect 5 0 4 0;
|
|
#X connect 6 0 7 0;
|
|
#X connect 7 0 19 0;
|
|
#X connect 7 1 17 0;
|
|
#X connect 8 0 9 0;
|
|
#X connect 9 0 12 0;
|
|
#X connect 9 1 10 0;
|
|
#X connect 10 0 11 0;
|
|
#X connect 11 0 12 1;
|
|
#X connect 12 1 13 0;
|
|
#X connect 13 0 14 0;
|
|
#X connect 14 0 15 0;
|
|
#X connect 15 0 16 1;
|
|
#X connect 16 0 19 0;
|
|
#X connect 17 0 16 0;
|
|
#X connect 17 1 21 0;
|
|
#X connect 17 2 18 0;
|
|
#X connect 18 0 16 1;
|
|
#X connect 19 0 20 0;
|
|
#X connect 21 0 8 0;
|
|
#X restore 164 483 pd remove_help_patches;
|
|
#N canvas 0 0 450 300 remove_ext 0;
|
|
#X obj 28 30 inlet;
|
|
#X obj 78 150 r \$0-ext;
|
|
#X obj 78 205 list length;
|
|
#X obj 28 55 list fromsymbol;
|
|
#X obj 28 260 list split;
|
|
#X obj 28 80 t a a;
|
|
#X obj 60 115 list length;
|
|
#X obj 60 230 -;
|
|
#X obj 28 285 list tosymbol;
|
|
#X obj 28 310 outlet;
|
|
#X obj 78 175 list fromsymbol;
|
|
#X connect 0 0 3 0;
|
|
#X connect 1 0 10 0;
|
|
#X connect 2 0 7 1;
|
|
#X connect 3 0 5 0;
|
|
#X connect 4 0 8 0;
|
|
#X connect 5 0 4 0;
|
|
#X connect 5 1 6 0;
|
|
#X connect 6 0 7 0;
|
|
#X connect 7 0 4 1;
|
|
#X connect 8 0 9 0;
|
|
#X connect 10 0 2 0;
|
|
#X restore 164 509 pd remove_ext;
|
|
#N canvas 70 66 589 509 test_load_with_declare 0;
|
|
#X obj 64 21 inlet;
|
|
#N canvas 0 0 450 300 \$0-load_declare 0;
|
|
#X restore 153 319 pd \$0-load_declare;
|
|
#X obj 153 161 f;
|
|
#X obj 183 161 + 1;
|
|
#X obj 153 186 * 30;
|
|
#X obj 153 216 pack f s;
|
|
#X obj 153 291 s pd-\$0-load_declare;
|
|
#X obj 306 77 t b b;
|
|
#X msg 171 132 0;
|
|
#X msg 338 246 clear;
|
|
#X msg 153 246 obj 5 \$1 declare -lib \$2;
|
|
#X obj 64 56 trigger bang bang anything;
|
|
#X msg 64 246 clear;
|
|
#X text 59 354 Load each object by dynamically instantiating a [declare
|
|
-lib libname]. We must clear the subpatch afterward as well to make
|
|
sure we don't accidentally start with some loaded libs after editing
|
|
this patch. Since Pd doesn't have any way to unload a library this
|
|
works.;
|
|
#X text 111 21 load a lib;
|
|
#X obj 306 22 r \$0-current-libdir;
|
|
#X text 361 49 reset for each libdir;
|
|
#X connect 0 0 11 0;
|
|
#X connect 2 0 3 0;
|
|
#X connect 2 0 4 0;
|
|
#X connect 3 0 2 1;
|
|
#X connect 4 0 5 0;
|
|
#X connect 5 0 10 0;
|
|
#X connect 7 0 8 0;
|
|
#X connect 7 1 9 0;
|
|
#X connect 8 0 2 1;
|
|
#X connect 9 0 6 0;
|
|
#X connect 10 0 6 0;
|
|
#X connect 11 0 12 0;
|
|
#X connect 11 1 2 0;
|
|
#X connect 11 2 5 1;
|
|
#X connect 12 0 6 0;
|
|
#X connect 15 0 7 0;
|
|
#X restore 164 569 pd test_load_with_declare;
|
|
#N canvas 464 46 450 650 get-creator-names 0;
|
|
#X obj 41 22 inlet;
|
|
#X obj 41 586 outlet;
|
|
#X obj 141 54 r \$0-last-objectmaker-methodspace-length;
|
|
#X obj 41 137 -;
|
|
#X obj 41 107 classinfo objectmaker;
|
|
#X msg 41 82 methods;
|
|
#X obj 41 168 until;
|
|
#X obj 41 209 f;
|
|
#X obj 84 209 + 1;
|
|
#X obj 41 244 classinfo objectmaker;
|
|
#X obj 141 137 t a;
|
|
#X obj 41 47 bang;
|
|
#X obj 41 269 t a a;
|
|
#X obj 210 241 r \$0-libdir;
|
|
#X obj 210 296 list fromsymbol;
|
|
#X obj 210 321 list length;
|
|
#X obj 73 296 list split 1;
|
|
#X obj 73 321 list fromsymbol;
|
|
#X obj 73 356 list split;
|
|
#X obj 179 425 select s;
|
|
#X msg 179 450 1;
|
|
#X obj 232 450 b;
|
|
#X msg 232 475 0;
|
|
#X obj 41 507 list prepend;
|
|
#X obj 41 532 route 1;
|
|
#X obj 41 557 list;
|
|
#X text 110 532 filter out creators that aren't absolute paths;
|
|
#X text 110 552 otherwise we get unmanageable namespace clashes;
|
|
#X obj 210 271 trigger anything anything;
|
|
#X obj 73 391 list tosymbol;
|
|
#X connect 0 0 11 0;
|
|
#X connect 2 0 3 1;
|
|
#X connect 2 0 10 0;
|
|
#X connect 3 0 6 0;
|
|
#X connect 4 0 3 0;
|
|
#X connect 5 0 4 0;
|
|
#X connect 6 0 7 0;
|
|
#X connect 7 0 8 0;
|
|
#X connect 7 0 9 0;
|
|
#X connect 8 0 7 1;
|
|
#X connect 9 0 12 0;
|
|
#X connect 10 0 7 1;
|
|
#X connect 11 0 5 0;
|
|
#X connect 12 0 23 0;
|
|
#X connect 12 1 16 0;
|
|
#X connect 13 0 28 0;
|
|
#X connect 14 0 15 0;
|
|
#X connect 15 0 18 1;
|
|
#X connect 16 0 17 0;
|
|
#X connect 17 0 18 0;
|
|
#X connect 18 0 29 0;
|
|
#X connect 18 2 29 0;
|
|
#X connect 19 0 20 0;
|
|
#X connect 19 1 21 0;
|
|
#X connect 20 0 23 1;
|
|
#X connect 21 0 22 0;
|
|
#X connect 22 0 23 1;
|
|
#X connect 23 0 24 0;
|
|
#X connect 24 0 25 0;
|
|
#X connect 25 0 1 0;
|
|
#X connect 28 0 14 0;
|
|
#X connect 28 1 19 1;
|
|
#X connect 29 0 19 0;
|
|
#X restore 132 653 pd get-creator-names;
|
|
#N canvas 311 211 450 421 test-object 0;
|
|
#X obj 26 36 inlet;
|
|
#X text 72 34 creator_name argtype1 argtype2 etc.;
|
|
#N canvas 372 37 649 659 right_outlet_for_aliases 0;
|
|
#X obj 70 25 inlet;
|
|
#X obj 70 50 t a a;
|
|
#X obj 102 78 list split 1;
|
|
#X obj 135 303 t b a;
|
|
#X msg 135 328 0;
|
|
#X obj 135 383 b;
|
|
#X msg 135 408 0;
|
|
#X msg 195 408 1;
|
|
#X obj 70 448 list prepend;
|
|
#X obj 70 473 route 0 1;
|
|
#X obj 70 558 outlet;
|
|
#X obj 121 558 outlet;
|
|
#X obj 135 358 classinfo;
|
|
#X obj 70 498 list;
|
|
#X obj 107 498 list;
|
|
#X text 196 23 Check if we're a lone creator name with no corresponding
|
|
class name. If so \, we are an alias and should skip any class-based
|
|
tests;
|
|
#X obj 102 133 list fromsymbol;
|
|
#X obj 329 89 r \$0-libdir;
|
|
#X obj 439 87 r \$0-current-libdir;
|
|
#X obj 290 140 symbol;
|
|
#X obj 400 140 symbol;
|
|
#X obj 102 103 trigger anything bang bang;
|
|
#X obj 290 165 pack s s;
|
|
#X msg 290 190 symbol \$1/\$2/;
|
|
#X obj 290 215 list fromsymbol;
|
|
#X obj 290 240 list length;
|
|
#X obj 102 273 list split;
|
|
#X obj 171 328 list tosymbol;
|
|
#X connect 0 0 1 0;
|
|
#X connect 1 0 8 0;
|
|
#X connect 1 1 2 0;
|
|
#X connect 2 0 21 0;
|
|
#X connect 3 0 4 0;
|
|
#X connect 3 1 27 0;
|
|
#X connect 4 0 12 0;
|
|
#X connect 5 0 6 0;
|
|
#X connect 6 0 8 1;
|
|
#X connect 7 0 8 1;
|
|
#X connect 8 0 9 0;
|
|
#X connect 9 0 13 0;
|
|
#X connect 9 1 14 0;
|
|
#X connect 12 0 5 0;
|
|
#X connect 12 1 7 0;
|
|
#X connect 13 0 10 0;
|
|
#X connect 14 0 11 0;
|
|
#X connect 16 0 26 0;
|
|
#X connect 17 0 19 1;
|
|
#X connect 18 0 20 1;
|
|
#X connect 19 0 22 0;
|
|
#X connect 20 0 22 1;
|
|
#X connect 21 0 16 0;
|
|
#X connect 21 1 19 0;
|
|
#X connect 21 2 20 0;
|
|
#X connect 22 0 23 0;
|
|
#X connect 23 0 24 0;
|
|
#X connect 24 0 25 0;
|
|
#X connect 25 0 26 1;
|
|
#X connect 26 1 3 0;
|
|
#X connect 27 0 12 1;
|
|
#X restore 194 129 pd right_outlet_for_aliases;
|
|
#N canvas 787 103 740 854 load_the_object 0;
|
|
#X obj 22 13 inlet;
|
|
#X obj 86 115 list split 1;
|
|
#N canvas 238 121 613 490 set_args 0;
|
|
#X obj 36 20 inlet;
|
|
#N canvas 245 192 382 392 drip 0;
|
|
#X obj 67 30 inlet;
|
|
#X obj 102 83 list length;
|
|
#X obj 102 108 until;
|
|
#X obj 102 163 f;
|
|
#X obj 102 188 + 1;
|
|
#X msg 274 263 set;
|
|
#X msg 66 307 \$1 \,;
|
|
#X obj 66 263 list;
|
|
#X msg 102 263 adddollar \$1 \, addcomma;
|
|
#X msg 150 126 0;
|
|
#X obj 66 332 symbol;
|
|
#X obj 66 357 outlet;
|
|
#X obj 67 55 trigger anything anything bang;
|
|
#X obj 144 224 b;
|
|
#X connect 0 0 12 0;
|
|
#X connect 1 0 2 0;
|
|
#X connect 2 0 3 0;
|
|
#X connect 3 0 4 0;
|
|
#X connect 4 0 3 1;
|
|
#X connect 4 0 8 0;
|
|
#X connect 5 0 6 0;
|
|
#X connect 6 0 10 0;
|
|
#X connect 7 0 6 0;
|
|
#X connect 8 0 6 0;
|
|
#X connect 9 0 3 1;
|
|
#X connect 10 0 11 0;
|
|
#X connect 12 0 7 0;
|
|
#X connect 12 1 1 0;
|
|
#X connect 12 2 5 0;
|
|
#X connect 12 2 9 0;
|
|
#X connect 12 2 13 0;
|
|
#X connect 13 0 7 1;
|
|
#X restore 139 78 pd drip;
|
|
#X msg 239 157 add2 \$0-test-array;
|
|
#X msg 139 158 add2 1e+06;
|
|
#X msg 518 157 set;
|
|
#X msg 139 203;
|
|
#X obj 36 45 trigger bang anything anything;
|
|
#X obj 139 248 outlet;
|
|
#X text 359 226 With A_GIMME we have no way to figure out the proper
|
|
args \, so we just stay blank here and hope the external author made
|
|
sane defaults that at least allow the object to create with no arguments
|
|
given., f 22;
|
|
#X obj 139 103 select A_FLOAT A_SYMBOL A_GIMME A_DEFSYM A_DEFFLOAT
|
|
;
|
|
#X text 358 400 Same with A_DEFSYM and A_DEFFLOAT;
|
|
#X text 31 307 Unforunately some externals don't have sane defaults--
|
|
they require arguments just to instantiate. Here we fill in some dummy
|
|
arguments in order to continue the tests, f 45;
|
|
#X msg 388 157 add2;
|
|
#X obj 518 104 t b b;
|
|
#X obj 550 248 outlet;
|
|
#X connect 0 0 6 0;
|
|
#X connect 1 0 9 0;
|
|
#X connect 2 0 5 0;
|
|
#X connect 3 0 5 0;
|
|
#X connect 4 0 5 0;
|
|
#X connect 5 0 7 0;
|
|
#X connect 6 0 5 0;
|
|
#X connect 6 1 1 0;
|
|
#X connect 6 2 13 0;
|
|
#X connect 9 0 3 0;
|
|
#X connect 9 1 2 0;
|
|
#X connect 9 2 12 0;
|
|
#X connect 9 3 12 0;
|
|
#X connect 9 4 12 0;
|
|
#X connect 12 0 5 0;
|
|
#X connect 13 0 4 0;
|
|
#X connect 13 1 14 0;
|
|
#X restore 193 168 pd set_args;
|
|
#X obj 126 140 route bang;
|
|
#X obj 86 213 list;
|
|
#X obj 125 521 s pd-\$0-load_the_object_subpatch;
|
|
#X obj 86 238 t a b;
|
|
#X msg 118 264 clear;
|
|
#X text 216 107 Try to instantiate the object and connect up the primary
|
|
inlet and outlet;
|
|
#X msg 54 570 find \$1;
|
|
#X obj 54 595 s \$0-load_canvasinfo_input;
|
|
#X obj 54 620 r \$0-load_canvasinfo_output;
|
|
#X obj 54 645 list split 1;
|
|
#X text 261 569 <-- find the object by box text-- it was the first
|
|
one on the canvas to get created so it will get returned first if there
|
|
are any duplicate matches;
|
|
#X text 149 645 <-- filter out any duplicate matches from our "helper"
|
|
object chain;
|
|
#X obj 54 670 t b a;
|
|
#X msg 54 695 class;
|
|
#X obj 54 720 objectinfo;
|
|
#X obj 54 745 select text;
|
|
#X text 140 744 <-- the "text" class is an internal class that essentially
|
|
represents an object box that currently holds no object. So if we query
|
|
our object and get "text" here \, it means Pd couldn't load the object.
|
|
;
|
|
#X obj 54 546 trigger anything anything;
|
|
#N canvas 365 98 450 323 fail 0;
|
|
#X obj 41 34 inlet;
|
|
#X obj 112 34 inlet;
|
|
#X text 153 34 creator name;
|
|
#X obj 41 98 symbol;
|
|
#X obj 41 175 s \$0-fail;
|
|
#X obj 112 59 list split 1;
|
|
#X msg 41 150 couldn't create object '\$1';
|
|
#X connect 0 0 3 0;
|
|
#X connect 1 0 5 0;
|
|
#X connect 3 0 6 0;
|
|
#X connect 5 0 3 1;
|
|
#X connect 6 0 4 0;
|
|
#X restore 54 770 pd fail;
|
|
#X obj 22 805 outlet;
|
|
#N canvas 436 87 569 401 plain_then_with_libdir_prefix 0;
|
|
#X obj 35 26 inlet;
|
|
#X text 128 26 try both the lone creator name and the libdir prefix:
|
|
e.g. \, foo and libdir/foo;
|
|
#X text 128 156 we could probably add an absolute path here as well
|
|
if we want to test that \, too.;
|
|
#X text 128 66 This extra test was added because it appears miXed/cyclone
|
|
is doing strange things with the libdir prefixes. For example-- maxtrix~
|
|
requires two float args while cyclone/matrix~ just segfaults. There
|
|
may be other oddities in external libs with regard to libdir prefixes.
|
|
;
|
|
#X obj 88 246 r \$0-current-libdir-name;
|
|
#X obj 35 281 pack s s;
|
|
#X obj 35 391 outlet;
|
|
#X msg 35 306 symbol \$1 \, symbol \$2/\$1;
|
|
#X obj 35 201 list split 1;
|
|
#X obj 330 246 t a;
|
|
#X obj 35 358 list append;
|
|
#X connect 0 0 8 0;
|
|
#X connect 4 0 5 1;
|
|
#X connect 5 0 7 0;
|
|
#X connect 7 0 10 0;
|
|
#X connect 8 0 5 0;
|
|
#X connect 8 1 9 0;
|
|
#X connect 9 0 10 1;
|
|
#X connect 10 0 6 0;
|
|
#X restore 128 57 pd plain_then_with_libdir_prefix;
|
|
#X obj 22 38 t a a;
|
|
#X obj 54 89 t a a;
|
|
#X msg 125 441 obj 5 30 \$@ \, obj 5 100 r \$0-load_canvasinfo_input
|
|
\, obj 5 130 canvasinfo \, obj 5 160 s \$0-load_canvasinfo_output \,
|
|
obj 5 190 r \$0-switch \, obj 5 220 switch~ \, connect 1 0 2 0 \, connect
|
|
2 0 3 0 \, connect 4 0 5 0;
|
|
#X obj 86 307 unpost;
|
|
#X text 137 306 suppress any constructor/error messages associated
|
|
with creating this object. In the future we may want to fail the test
|
|
if there are errors. For now there are just too many abstractions that
|
|
have dependencies on other abstractions \, and the way we're doing
|
|
the tests those standard paths aren't accessible. So for now \, we're
|
|
just looking for crashers and memory errors...;
|
|
#X connect 0 0 24 0;
|
|
#X connect 1 0 4 0;
|
|
#X connect 1 1 3 0;
|
|
#X connect 2 0 4 1;
|
|
#X connect 2 1 4 1;
|
|
#X connect 3 0 4 1;
|
|
#X connect 3 1 2 0;
|
|
#X connect 4 0 6 0;
|
|
#X connect 6 0 27 0;
|
|
#X connect 6 1 7 0;
|
|
#X connect 7 0 5 0;
|
|
#X connect 9 0 10 0;
|
|
#X connect 11 0 12 0;
|
|
#X connect 12 0 15 0;
|
|
#X connect 15 0 16 0;
|
|
#X connect 15 1 17 1;
|
|
#X connect 16 0 17 0;
|
|
#X connect 17 0 18 0;
|
|
#X connect 18 0 21 0;
|
|
#X connect 20 0 9 0;
|
|
#X connect 20 1 21 1;
|
|
#X connect 24 0 22 0;
|
|
#X connect 24 1 23 0;
|
|
#X connect 24 1 25 0;
|
|
#X connect 25 0 20 0;
|
|
#X connect 25 1 1 0;
|
|
#X connect 26 0 5 0;
|
|
#X connect 27 1 26 0;
|
|
#X restore 66 206 pd load_the_object;
|
|
#N canvas 844 164 450 369 \$0-load_the_object_subpatch 0;
|
|
#X restore 211 207 pd \$0-load_the_object_subpatch;
|
|
#X msg 66 271 clear;
|
|
#X obj 66 296 s pd-\$0-load_the_object_subpatch;
|
|
#N canvas 135 60 704 645 check_for_namespace_collisions 0;
|
|
#X obj 42 26 inlet;
|
|
#X obj 42 51 t a a;
|
|
#X obj 74 83 list split 1;
|
|
#X obj 74 215 f;
|
|
#X obj 114 215 + 1;
|
|
#X obj 74 149 until;
|
|
#X obj 74 283 classinfo objectmaker;
|
|
#X obj 74 321 route bang;
|
|
#X obj 9 182 bang;
|
|
#X obj 141 385 select;
|
|
#X obj 141 349 list split 1;
|
|
#X obj 74 108 trigger bang bang anything;
|
|
#X obj 163 149 f 0;
|
|
#N canvas 337 184 583 424 fail 0;
|
|
#X obj 106 16 inlet;
|
|
#X obj 334 56 r \$0-current-libdir-name;
|
|
#X obj 243 56 r \$0-libdir;
|
|
#X obj 204 101 symbol;
|
|
#X obj 270 100 symbol;
|
|
#X msg 204 161 symbol \$1/extra/\$2;
|
|
#X obj 204 136 pack s s;
|
|
#X obj 106 41 t a a b b;
|
|
#X obj 106 293 s \$0-fail;
|
|
#X obj 106 66 unpack f s;
|
|
#X obj 106 213 pack f s s s;
|
|
#X msg 106 248 \$3: \$2: externdir mismatch: expected \$4 but found
|
|
another objectmaker method at index \$1;
|
|
#X connect 0 0 7 0;
|
|
#X connect 1 0 4 1;
|
|
#X connect 2 0 3 1;
|
|
#X connect 2 0 10 2;
|
|
#X connect 3 0 6 0;
|
|
#X connect 4 0 6 1;
|
|
#X connect 5 0 10 3;
|
|
#X connect 6 0 5 0;
|
|
#X connect 7 0 9 0;
|
|
#X connect 7 2 3 0;
|
|
#X connect 7 3 4 0;
|
|
#X connect 9 0 10 0;
|
|
#X connect 9 1 10 1;
|
|
#X connect 10 0 11 0;
|
|
#X connect 11 0 8 0;
|
|
#X restore 141 590 pd fail;
|
|
#X obj 163 174 trigger anything anything;
|
|
#X obj 141 420 f;
|
|
#X obj 181 420 + 1;
|
|
#X obj 74 250 trigger anything anything;
|
|
#X obj 141 445 select 1 0;
|
|
#X obj 228 476 f;
|
|
#X obj 141 504 f;
|
|
#X obj 38 568 outlet;
|
|
#X obj 141 560 pack f s;
|
|
#X obj 344 337 r \$0-last-objectmaker-methodspace-length;
|
|
#X obj 141 532 moses;
|
|
#X text 264 475 Many libraries ship with backup abstractions that have
|
|
the same name as the binary library. We check for those here-- if the
|
|
nameclash is in the current library we're testing then we ignore it.
|
|
;
|
|
#X connect 0 0 1 0;
|
|
#X connect 1 0 21 0;
|
|
#X connect 1 1 2 0;
|
|
#X connect 2 0 11 0;
|
|
#X connect 3 0 4 0;
|
|
#X connect 3 0 17 0;
|
|
#X connect 4 0 3 1;
|
|
#X connect 5 0 3 0;
|
|
#X connect 6 0 7 0;
|
|
#X connect 7 0 8 0;
|
|
#X connect 7 1 10 0;
|
|
#X connect 8 0 5 1;
|
|
#X connect 9 0 15 0;
|
|
#X connect 10 0 9 0;
|
|
#X connect 11 0 5 0;
|
|
#X connect 11 1 12 0;
|
|
#X connect 11 2 9 1;
|
|
#X connect 11 2 22 1;
|
|
#X connect 12 0 14 0;
|
|
#X connect 14 0 3 1;
|
|
#X connect 14 1 15 1;
|
|
#X connect 15 0 16 0;
|
|
#X connect 15 0 18 0;
|
|
#X connect 16 0 15 1;
|
|
#X connect 17 0 6 0;
|
|
#X connect 17 1 19 1;
|
|
#X connect 18 0 20 0;
|
|
#X connect 18 1 19 0;
|
|
#X connect 19 0 20 1;
|
|
#X connect 20 0 24 0;
|
|
#X connect 22 0 13 0;
|
|
#X connect 23 0 24 1;
|
|
#X connect 24 0 22 0;
|
|
#X restore 194 164 pd check_for_namespace_collisions;
|
|
#X obj 86 87 s \$0-object-test;
|
|
#X obj 46 160 s pd;
|
|
#X obj 26 61 t b b a b;
|
|
#X msg 46 131 dsp 1 \, dsp 0;
|
|
#X obj 26 325 outlet;
|
|
#N canvas 798 213 450 323 test-dsp 0;
|
|
#X obj 46 32 inlet;
|
|
#X obj 46 61 t b b b b;
|
|
#X obj 46 260 outlet;
|
|
#X msg 106 110 dsp 1;
|
|
#X obj 106 229 send pd;
|
|
#X obj 86 149 s \$0-switch;
|
|
#X msg 66 183 dsp 0;
|
|
#X text 177 149 force a dsp object to compute a block of samples. This
|
|
way we can get code coverage for its "perform" routine at the default
|
|
block size. Later we may want to reblock to size 4 or 1 to trigger
|
|
non-optimized branches.;
|
|
#X connect 0 0 1 0;
|
|
#X connect 1 0 2 0;
|
|
#X connect 1 1 6 0;
|
|
#X connect 1 2 5 0;
|
|
#X connect 1 3 3 0;
|
|
#X connect 3 0 4 0;
|
|
#X connect 6 0 4 0;
|
|
#X restore 66 238 pd test-dsp;
|
|
#X connect 0 0 10 0;
|
|
#X connect 2 0 7 0;
|
|
#X connect 2 1 7 0;
|
|
#X connect 3 0 13 0;
|
|
#X connect 5 0 6 0;
|
|
#X connect 10 0 12 0;
|
|
#X connect 10 1 11 0;
|
|
#X connect 10 2 3 0;
|
|
#X connect 10 3 8 0;
|
|
#X connect 11 0 9 0;
|
|
#X connect 13 0 5 0;
|
|
#X restore 132 714 pd test-object;
|
|
#X obj 164 269 trigger bang anything anything;
|
|
#X msg 371 293 methods;
|
|
#X obj 371 318 classinfo objectmaker;
|
|
#X obj 371 343 s \$0-last-objectmaker-methodspace-length;
|
|
#X text 304 85 \$0-last-objectmaker-methodspace-length;
|
|
#X text 304 105 \$0-ext;
|
|
#N canvas 1 53 436 328 set_\$0-libdir 0;
|
|
#X obj 49 48 inlet;
|
|
#X obj 49 127 pdinfo;
|
|
#X msg 49 98 libdir;
|
|
#X obj 49 220 outlet;
|
|
#X text 97 48 get the directory where extra/ and doc/ live;
|
|
#X obj 49 194 trigger anything anything;
|
|
#X obj 221 220 s \$0-libdir;
|
|
#X connect 0 0 2 0;
|
|
#X connect 1 0 5 0;
|
|
#X connect 2 0 1 0;
|
|
#X connect 5 0 3 0;
|
|
#X connect 5 1 6 0;
|
|
#X restore 61 66 pd set_\$0-libdir;
|
|
#N canvas 246 217 382 392 set_\$0-current_libdir 0;
|
|
#X obj 67 30 inlet;
|
|
#X obj 67 55 trigger anything anything;
|
|
#X obj 67 80 outlet;
|
|
#X obj 202 81 s \$0-current-libdir;
|
|
#X connect 0 0 1 0;
|
|
#X connect 1 0 2 0;
|
|
#X connect 1 1 3 0;
|
|
#X restore 132 214 pd set_\$0-current_libdir;
|
|
#N canvas 0 0 450 300 set_\$0-ext 0;
|
|
#X obj 78 44 inlet;
|
|
#X obj 78 69 trigger anything anything;
|
|
#X obj 78 94 outlet;
|
|
#X obj 250 94 s \$0-ext;
|
|
#X connect 0 0 1 0;
|
|
#X connect 1 0 2 0;
|
|
#X connect 1 1 3 0;
|
|
#X restore 164 359 pd set_\$0-ext;
|
|
#N canvas 236 102 1068 595 results 0;
|
|
#X obj 62 25 inlet;
|
|
#X obj 235 33 r \$0-current-libdir-name;
|
|
#X obj 146 33 r \$0-fail;
|
|
#X obj 146 86 list prepend;
|
|
#X msg 235 58 \$1:;
|
|
#X obj 146 187 print error;
|
|
#X text 251 141 add counter;
|
|
#X obj 156 214 b;
|
|
#X obj 156 239 f;
|
|
#X obj 196 239 + 1;
|
|
#X floatatom 196 316 5 0 0 0 failures - -, f 5;
|
|
#X obj 63 298 f;
|
|
#X msg 95 367 gui;
|
|
#X obj 95 392 pdinfo;
|
|
#X obj 63 424 list prepend;
|
|
#X msg 180 459 all tests succeeded!;
|
|
#X obj 180 484 print info;
|
|
#X obj 180 364 sel 0 1;
|
|
#X msg 343 419 1 test failed;
|
|
#X msg 356 389 \$1 tests failed;
|
|
#X obj 63 450 route 0;
|
|
#X obj 63 475 != 0;
|
|
#X obj 63 525 s pd;
|
|
#X msg 63 500 quit \$1;
|
|
#X obj 343 444 print error;
|
|
#X obj 146 112 list prepend add;
|
|
#X obj 146 137 list trim;
|
|
#X obj 146 162 textfile;
|
|
#X obj 79 90 t b b;
|
|
#X msg 22 153 rewind;
|
|
#X obj 22 113 until;
|
|
#X obj 335 194 bang;
|
|
#X obj 335 237 f;
|
|
#X obj 414 157 f;
|
|
#X obj 414 182 + 1;
|
|
#X obj 414 125 r \$0-object-test;
|
|
#X obj 402 292 print total_objects_tested;
|
|
#X obj 335 345 s \$0-fail;
|
|
#X obj 63 212 t b b b;
|
|
#X obj 63 323 t a b a;
|
|
#X text 432 224 Where did we get 2275? It is the number of creators
|
|
that we found on OSX-- which does not yet ship K12 mode. (Still need
|
|
to set up Windows tests \, however.;
|
|
#X obj 335 262 moses 2251;
|
|
#X msg 335 320 only counted \$1 objects. Need 2251 to succeed;
|
|
#X connect 0 0 38 0;
|
|
#X connect 1 0 4 0;
|
|
#X connect 2 0 3 0;
|
|
#X connect 2 0 7 0;
|
|
#X connect 3 0 25 0;
|
|
#X connect 4 0 3 1;
|
|
#X connect 7 0 8 0;
|
|
#X connect 8 0 9 0;
|
|
#X connect 9 0 8 1;
|
|
#X connect 9 0 10 0;
|
|
#X connect 9 0 11 1;
|
|
#X connect 11 0 39 0;
|
|
#X connect 12 0 13 0;
|
|
#X connect 13 0 14 1;
|
|
#X connect 14 0 20 0;
|
|
#X connect 15 0 16 0;
|
|
#X connect 17 0 15 0;
|
|
#X connect 17 1 18 0;
|
|
#X connect 17 2 19 0;
|
|
#X connect 18 0 24 0;
|
|
#X connect 19 0 24 0;
|
|
#X connect 20 0 21 0;
|
|
#X connect 21 0 23 0;
|
|
#X connect 23 0 22 0;
|
|
#X connect 25 0 26 0;
|
|
#X connect 26 0 27 0;
|
|
#X connect 27 0 5 0;
|
|
#X connect 27 1 30 1;
|
|
#X connect 28 0 30 0;
|
|
#X connect 28 1 29 0;
|
|
#X connect 29 0 27 0;
|
|
#X connect 30 0 27 0;
|
|
#X connect 31 0 32 0;
|
|
#X connect 32 0 41 0;
|
|
#X connect 33 0 34 0;
|
|
#X connect 34 0 33 1;
|
|
#X connect 34 0 32 1;
|
|
#X connect 35 0 33 0;
|
|
#X connect 38 0 11 0;
|
|
#X connect 38 1 28 0;
|
|
#X connect 38 2 31 0;
|
|
#X connect 39 0 14 0;
|
|
#X connect 39 1 12 0;
|
|
#X connect 39 2 17 0;
|
|
#X connect 41 0 42 0;
|
|
#X connect 41 1 36 0;
|
|
#X connect 42 0 37 0;
|
|
#X restore 61 801 pd results;
|
|
#X obj 132 239 t a a;
|
|
#X obj 61 94 trigger bang bang bang anything;
|
|
#X obj 132 179 t a a;
|
|
#X obj 164 534 t a a;
|
|
#X obj 403 169 print testing_libdir;
|
|
#X obj 314 526 print loading_lib;
|
|
#X obj 132 678 t a a;
|
|
#X obj 250 714 print creating_object;
|
|
#X obj 132 607 t a a;
|
|
#X obj 242 613 print getting_creator_names;
|
|
#X connect 0 0 24 0;
|
|
#X connect 1 0 13 0;
|
|
#X connect 3 0 4 0;
|
|
#X connect 4 0 30 0;
|
|
#X connect 5 0 6 1;
|
|
#X connect 6 0 7 0;
|
|
#X connect 7 0 26 0;
|
|
#X connect 9 0 10 2;
|
|
#X connect 9 1 1 1;
|
|
#X connect 10 0 12 0;
|
|
#X connect 12 0 1 0;
|
|
#X connect 13 0 14 0;
|
|
#X connect 14 0 31 0;
|
|
#X connect 16 0 34 0;
|
|
#X connect 18 0 6 0;
|
|
#X connect 18 1 10 1;
|
|
#X connect 18 2 19 0;
|
|
#X connect 19 0 20 0;
|
|
#X connect 20 0 21 0;
|
|
#X connect 24 0 29 0;
|
|
#X connect 25 0 28 0;
|
|
#X connect 26 0 10 0;
|
|
#X connect 28 0 36 0;
|
|
#X connect 28 1 18 0;
|
|
#X connect 29 0 27 0;
|
|
#X connect 29 1 3 0;
|
|
#X connect 29 2 5 0;
|
|
#X connect 29 3 9 0;
|
|
#X connect 30 0 25 0;
|
|
#X connect 30 1 32 0;
|
|
#X connect 31 0 15 0;
|
|
#X connect 31 1 33 0;
|
|
#X connect 34 0 17 0;
|
|
#X connect 34 1 35 0;
|
|
#X connect 36 0 16 0;
|
|
#X connect 36 1 37 0;
|