Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
purr-data
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
brittney allen
purr-data
Commits
fab23d62
Commit
fab23d62
authored
7 years ago
by
Jonathan Wilkes
Browse files
Options
Downloads
Patches
Plain Diff
add first draft of an external test suite
parent
756fbd5f
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
scripts/external-tests.pd
+777
-0
777 additions, 0 deletions
scripts/external-tests.pd
with
777 additions
and
0 deletions
scripts/external-tests.pd
0 → 100644
+
777
−
0
View file @
fab23d62
#N canvas 154 25 751 635 12;
#X msg 513 70 bang;
#N canvas 273 114 533 496 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 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 restore 97 345 pd get_extensions;
#N canvas 453 108 450 323 get_libdir 0;
#X obj 119 58 inlet;
#X obj 119 135 pdinfo;
#X obj 119 84 b;
#X msg 119 110 libdir;
#X obj 119 161 outlet;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X restore 513 95 pd get_libdir;
#N canvas 107 123 756 233 load_hcs/folder_list 0;
#X obj 306 40 inlet;
#X obj 306 133 s pd-\$0-hcs/folder_list;
#N canvas 0 0 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 37 97 pd \$0-hcs/folder_list;
#X obj 37 40 inlet;
#X obj 37 65 s \$0-fl-in;
#X obj 37 128 r \$0-fl-out;
#X obj 37 154 outlet;
#X msg 306 77 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 97 569 pd load_hcs/folder_list;
#N canvas 0 0 450 300 add_.pd 0;
#X obj 66 29 inlet;
#X obj 66 55 list append .pd;
#X obj 66 80 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 97 371 pd add_.pd;
#X obj 97 425 t a a;
#X obj 97 487 pack s s s;
#X obj 37 19 loadbang;
#X obj 130 453 s \$0-ext;
#X obj 332 596 r \$0-reset;
#X obj 150 317 s \$0-reset;
#X msg 150 285 bang;
#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 97 624 pd remove_ext;
#N canvas 314 37 450 472 remove_help 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 97 594 pd remove_help;
#X obj 513 120 s \$0-libdir;
#X text 293 407 \$0-ext - library extension (platform specific);
#X text 293 427 \$0-libdir - directory containing doc and extra;
#X text 293 447 \$0-reset - reset state for each libdir;
#X obj 197 453 r \$0-libdir;
#X obj 77 285 t a b a b;
#N canvas 443 86 450 557 get-creator-names 0;
#X obj 41 22 inlet;
#X obj 51 316 outlet;
#X obj 141 54 r \$0-last-objectmaker-methodspace-length;
#X obj 100 167 -;
#X obj 41 107 classinfo objectmaker;
#X msg 41 82 methods;
#X obj 51 208 until;
#X obj 51 249 f;
#X obj 94 249 + 1;
#X obj 51 284 classinfo objectmaker;
#X obj 151 181 t a;
#X obj 41 47 bang;
#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 1 0;
#X connect 10 0 7 1;
#X connect 11 0 5 0;
#X restore 77 686 pd get-creator-names;
#N canvas 227 231 450 346 test-object 0;
#X obj 86 36 inlet;
#X text 132 34 creator_name argtype1 argtype2 etc.;
#N canvas 150 78 649 452 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 102 103 t b a;
#X msg 102 128 0;
#X obj 102 183 b;
#X msg 102 208 0;
#X msg 162 208 1;
#X obj 70 248 list prepend;
#X obj 70 273 route 0 1;
#X obj 70 358 outlet;
#X obj 121 358 outlet;
#X obj 102 158 classinfo;
#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 the next class-based
test(s) by going to the right outlet.;
#X obj 70 298 list;
#X obj 107 298 list;
#X connect 0 0 1 0;
#X connect 1 0 8 0;
#X connect 1 1 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 12 1;
#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 14 0;
#X connect 9 1 15 0;
#X connect 12 0 5 0;
#X connect 12 1 7 0;
#X connect 14 0 10 0;
#X connect 15 0 11 0;
#X restore 86 61 pd right_outlet_for_aliases;
#N canvas 181 94 522 576 namespace_collisions 0;
#X obj 40 15 inlet;
#X obj 60 98 list split 1;
#X obj 60 123 t b a;
#X msg 60 148 externdir;
#X obj 310 63 r \$0-current-libdir-name;
#X obj 219 63 r \$0-libdir;
#X obj 180 108 symbol;
#X obj 246 107 symbol;
#X msg 180 168 symbol \$1/extra/\$2;
#X obj 60 174 classinfo;
#X obj 60 232 select;
#X obj 40 40 t a a b b;
#X msg 60 257 0;
#X obj 98 256 b;
#X msg 98 281 1;
#X obj 40 321 list prepend;
#X obj 40 346 route 0 1;
#X obj 40 521 outlet;
#X obj 70 457 s \$0-fail;
#X obj 70 403 pack s s s;
#X obj 70 377 list split 1;
#X obj 60 199 trigger anything anything;
#X msg 70 431 \$1: externdir mismatch: expected \$2 but got \$3;
#X obj 180 143 pack s s;
#X obj 40 489 list;
#X connect 0 0 11 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 9 1;
#X connect 3 0 9 0;
#X connect 4 0 7 1;
#X connect 5 0 6 1;
#X connect 6 0 23 0;
#X connect 7 0 23 1;
#X connect 8 0 10 1;
#X connect 8 0 19 1;
#X connect 9 0 21 0;
#X connect 10 0 12 0;
#X connect 10 1 13 0;
#X connect 11 0 15 0;
#X connect 11 1 1 0;
#X connect 11 2 6 0;
#X connect 11 3 7 0;
#X connect 12 0 15 1;
#X connect 13 0 14 0;
#X connect 14 0 15 1;
#X connect 15 0 16 0;
#X connect 16 0 24 0;
#X connect 16 1 20 0;
#X connect 19 0 22 0;
#X connect 20 0 19 0;
#X connect 21 0 10 0;
#X connect 21 1 19 2;
#X connect 22 0 18 0;
#X connect 23 0 8 0;
#X connect 24 0 17 0;
#X restore 86 101 pd namespace_collisions;
#N canvas 104 25 740 671 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 86 351 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 400 find \$1;
#X msg 86 291 obj 5 30 \$@ \, obj 5 100 r \$0-load_canvasinfo_input
\, obj 5 130 canvasinfo \, obj 5 160 s \$0-load_canvasinfo_output \,
connect 1 0 2 0 \, connect 2 0 3 0;
#X obj 54 425 s \$0-load_canvasinfo_input;
#X obj 54 450 r \$0-load_canvasinfo_output;
#X obj 54 475 list split 1;
#X text 261 399 <-- 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 475 <-- filter out any duplicate matches from our "helper"
object chain;
#X obj 54 500 t b a;
#X msg 54 525 class;
#X obj 54 550 objectinfo;
#X obj 54 575 select text;
#X text 140 574 <-- 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 376 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 600 pd fail;
#X obj 22 625 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 connect 0 0 25 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 10 0;
#X connect 6 1 7 0;
#X connect 7 0 5 0;
#X connect 9 0 11 0;
#X connect 10 0 5 0;
#X connect 12 0 13 0;
#X connect 13 0 16 0;
#X connect 16 0 17 0;
#X connect 16 1 18 1;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 22 0;
#X connect 21 0 9 0;
#X connect 21 1 22 1;
#X connect 25 0 23 0;
#X connect 25 1 24 0;
#X connect 25 1 26 0;
#X connect 26 0 21 0;
#X connect 26 1 1 0;
#X restore 86 156 pd load_the_object;
#X obj 272 101 t a;
#N canvas 268 243 450 346 \$0-load_the_object_subpatch 0;
#X restore 231 157 pd \$0-load_the_object_subpatch;
#X msg 86 241 clear;
#X obj 86 266 s pd-\$0-load_the_object_subpatch;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 5 0;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 7 0 8 0;
#X restore 77 716 pd test-object;
#X obj 249 340 classinfo objectmaker;
#X msg 249 315 methods;
#X text 293 467 \$0-last-objectmaker-methodspace-length;
#X obj 249 370 s \$0-last-objectmaker-methodspace-length;
#X text 293 487 \$0-current-libdir-name;
#X text 293 507 \$0-fail;
#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 \, \$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 \,;
#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 77 198 pd drip;
#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 \, \$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 97 398 pd drip;
#X msg 97 542 list \$3/extra/\$2/*\$1;
#N canvas 500 53 450 404 test_path 0;
#X obj 41 33 inlet;
#X obj 41 138 outlet;
#X obj 94 33 r \$0-libdir;
#X obj 41 63 pack s s;
#X msg 41 113 symbol \$2/extra/\$1;
#X connect 0 0 3 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X restore 269 569 pd test_path;
#X obj 269 594 t a b;
#N canvas 384 25 589 486 test_load_and_path_with_declare 0;
#X obj 64 21 inlet;
#N canvas 0 0 450 300 \$0-load_declare 0;
#X restore 647 149 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 596 22 inlet;
#X obj 596 77 t b b;
#X msg 171 132 0;
#X msg 628 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 324 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 obj 334 21 inlet;
#X obj 423 161 f;
#X obj 453 161 + 1;
#X obj 423 186 * 30;
#X obj 423 216 pack f s;
#X msg 441 132 0;
#X obj 334 56 trigger bang bang anything;
#X msg 334 246 clear;
#X msg 423 246 obj 5 \$1 declare -path \$2;
#X text 111 21 load a lib;
#X text 380 22 set a path;
#X connect 0 0 12 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 11 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 0 20 0;
#X connect 8 1 10 0;
#X connect 9 0 2 1;
#X connect 10 0 6 0;
#X connect 11 0 6 0;
#X connect 12 0 13 0;
#X connect 12 1 2 0;
#X connect 12 2 5 1;
#X connect 13 0 6 0;
#X connect 15 0 21 0;
#X connect 16 0 17 0;
#X connect 16 0 18 0;
#X connect 17 0 16 1;
#X connect 18 0 19 0;
#X connect 19 0 23 0;
#X connect 20 0 16 1;
#X connect 21 0 22 0;
#X connect 21 1 16 0;
#X connect 21 2 19 1;
#X connect 22 0 6 0;
#X connect 23 0 6 0;
#X restore 97 654 pd test_load_and_path_with_declare;
#N canvas 259 121 571 514 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 276 5 0 0 0 failures - -, f 5;
#X obj 62 258 f;
#X msg 94 327 gui;
#X obj 94 352 pdinfo;
#X obj 62 384 list prepend;
#X msg 180 389 all tests succeeded!;
#X obj 180 414 print info;
#X obj 180 324 sel 0 1;
#X msg 343 389 1 test failed;
#X msg 356 359 \$1 tests failed;
#X obj 62 410 route 0;
#X obj 62 435 != 0;
#X obj 62 485 s pd;
#X msg 62 460 quit \$1;
#X obj 343 414 print error;
#X obj 146 112 list prepend add;
#X obj 146 137 list trim;
#X obj 146 162 textfile;
#X obj 62 283 t a b a b;
#X obj 79 60 t b b;
#X msg 22 123 rewind;
#X obj 22 83 until;
#X connect 0 0 11 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 28 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 31 1;
#X connect 28 0 14 0;
#X connect 28 1 12 0;
#X connect 28 2 17 0;
#X connect 28 3 29 0;
#X connect 29 0 31 0;
#X connect 29 1 30 0;
#X connect 30 0 27 0;
#X connect 31 0 27 0;
#X restore 37 756 pd results;
#X obj 249 284 s \$0-current-libdir-name;
#X obj 77 223 trigger anything anything;
#X obj 674 284 t a;
#X obj 674 504 t a;
#X msg 77 72 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 hexloader disis lyonpotpourri;
#X obj 37 44 t b b b b;
#N canvas 340 199 450 300 libs_not_loaded_by_default 1;
#X obj 10 11 inlet;
#X obj 10 231 outlet;
#X msg 10 36 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
iem_tab 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 tof windowing;
#X text 110 172 ratchet up as we go;
#X obj 10 173 list split 12;
#X connect 0 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 1 0;
#X restore 57 164 pd libs_not_loaded_by_default;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 14 0;
#X connect 3 0 13 0;
#X connect 4 0 29 0;
#X connect 5 0 6 0;
#X connect 5 1 8 0;
#X connect 6 0 30 0;
#X connect 7 0 40 0;
#X connect 9 0 33 2;
#X connect 11 0 10 0;
#X connect 12 0 33 0;
#X connect 13 0 12 0;
#X connect 18 0 6 2;
#X connect 18 0 3 1;
#X connect 19 0 20 0;
#X connect 19 1 1 0;
#X connect 19 2 6 1;
#X connect 19 3 10 0;
#X connect 19 3 23 0;
#X connect 20 0 21 0;
#X connect 22 0 25 0;
#X connect 23 0 22 0;
#X connect 28 0 36 0;
#X connect 29 0 5 0;
#X connect 30 0 3 0;
#X connect 31 0 32 0;
#X connect 32 0 33 1;
#X connect 32 1 33 2;
#X connect 36 0 19 0;
#X connect 36 1 35 0;
#X connect 36 1 37 0;
#X connect 37 0 38 0;
#X connect 38 0 31 0;
#X connect 39 0 28 0;
#X connect 40 0 34 0;
#X connect 40 1 41 0;
#X connect 40 2 39 0;
#X connect 40 3 0 0;
#X connect 41 0 28 0;
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment