mirror of
https://github.com/pd-l2ork/pd-l2ork.git
synced 2026-02-11 17:50:41 +01:00
113 lines
3.4 KiB
Plaintext
113 lines
3.4 KiB
Plaintext
#N canvas 96 60 665 633 12;
|
|
#X obj 41 8 inlet;
|
|
#X msg 41 143 1;
|
|
#X obj 43 1229 outlet;
|
|
#X text 117 8 makefilename is a strange combination of the already
|
|
complicated C format string format specification and Pd's syntax limitations.
|
|
This is especially unfortunate given the object only accepts a single
|
|
substitution variable.;
|
|
#X text 117 88 As a consequence we get an extremely error-prone interface
|
|
subject to all kinds of broken format specifiers settable at runtime
|
|
with arbitrary user-input. All that complexity for an object of impressively
|
|
limited usefulness.;
|
|
#X obj 105 982 makefilename;
|
|
#X text 184 864 * todo: add check for [makefilename] with no args to
|
|
make sure it ouputs file%d;
|
|
#X obj 43 982 list;
|
|
#X obj 43 1007 route symbol bang;
|
|
#X obj 145 1118 list;
|
|
#X obj 43 916 trigger bang anything bang anything;
|
|
#X obj 43 1032 b;
|
|
#X obj 43 1057 f 1;
|
|
#X obj 100 1031 f 0;
|
|
#X obj 43 1082 t a b;
|
|
#X obj 43 1203 list append;
|
|
#X msg 145 1149 code coverage for error handling of poorly formed format
|
|
specifier: \$@;
|
|
#X text 143 292 too many flags;
|
|
#X text 50 240 no field type;
|
|
#X text 129 414 max width/precision;
|
|
#X text 115 354 variable width or precision field not supported;
|
|
#X text 148 585 unsupported field types;
|
|
#X text 154 650 non-existent field type;
|
|
#X msg 41 265 % \, %0;
|
|
#X obj 43 861 list prepend set;
|
|
#X obj 43 886 list trim;
|
|
#X msg 53 317 %-+#0-+#0-+#0-+#0- \, %-+#0-+#0-+#0-+#0-g;
|
|
#X msg 63 379 %* \, %*s \, %.*s \, %*.*s;
|
|
#X msg 73 439 %9999g \, %.9999g \, %9999.9999g;
|
|
#X obj 66 946 unpost error;
|
|
#X text 168 947 <- if there's an error we'll get it to the left inlet
|
|
in the form of a symbol;
|
|
#X obj 41 168 s \$0-b;
|
|
#X obj 41 213 r \$0-b;
|
|
#X obj 54 291 r \$0-b;
|
|
#X obj 63 348 r \$0-b;
|
|
#X obj 73 409 r \$0-b;
|
|
#X obj 83 467 r \$0-b;
|
|
#X obj 93 580 r \$0-b;
|
|
#X obj 103 634 r \$0-b;
|
|
#X msg 103 660 %z;
|
|
#X obj 110 684 r \$0-b;
|
|
#X text 185 697 more than one format specifier;
|
|
#X msg 110 710 %g%g \, %g%;
|
|
#X text 132 477 double dots;
|
|
#X msg 83 499 %5..g \, %..g;
|
|
#X obj 93 523 r \$0-b;
|
|
#X text 142 533 precision field/specifier mismatch;
|
|
#X msg 93 555 %5.3c;
|
|
#X msg 93 609 %a \, %A \, %n \, %m \, %p;
|
|
#X text 117 168 Here \, we trigger every branch of the format specifier
|
|
parser to make sure our run-time errors prevent crashes and/or memory
|
|
errors. We use [unpost] to redirect the error from the console to the
|
|
patch.;
|
|
#X obj 120 734 r \$0-b;
|
|
#X msg 120 760 %#d \, %#i;
|
|
#X obj 120 794 r \$0-b;
|
|
#X text 195 747 hash flag mismatch;
|
|
#X text 195 807 zero flag mismatch;
|
|
#X msg 120 820 %0c \, %0s;
|
|
#X connect 0 0 1 0;
|
|
#X connect 1 0 31 0;
|
|
#X connect 7 0 8 0;
|
|
#X connect 8 0 11 0;
|
|
#X connect 8 1 13 0;
|
|
#X connect 9 0 16 0;
|
|
#X connect 10 0 7 0;
|
|
#X connect 10 1 29 0;
|
|
#X connect 10 2 7 1;
|
|
#X connect 10 3 9 1;
|
|
#X connect 11 0 12 0;
|
|
#X connect 12 0 14 0;
|
|
#X connect 13 0 14 0;
|
|
#X connect 14 0 15 0;
|
|
#X connect 14 1 9 0;
|
|
#X connect 15 0 2 0;
|
|
#X connect 16 0 15 1;
|
|
#X connect 23 0 24 0;
|
|
#X connect 24 0 25 0;
|
|
#X connect 25 0 10 0;
|
|
#X connect 26 0 24 0;
|
|
#X connect 27 0 24 0;
|
|
#X connect 28 0 24 0;
|
|
#X connect 29 0 7 1;
|
|
#X connect 29 1 5 0;
|
|
#X connect 32 0 23 0;
|
|
#X connect 33 0 26 0;
|
|
#X connect 34 0 27 0;
|
|
#X connect 35 0 28 0;
|
|
#X connect 36 0 44 0;
|
|
#X connect 37 0 48 0;
|
|
#X connect 38 0 39 0;
|
|
#X connect 39 0 24 0;
|
|
#X connect 40 0 42 0;
|
|
#X connect 42 0 24 0;
|
|
#X connect 44 0 24 0;
|
|
#X connect 45 0 47 0;
|
|
#X connect 47 0 24 0;
|
|
#X connect 48 0 24 0;
|
|
#X connect 50 0 51 0;
|
|
#X connect 51 0 24 0;
|
|
#X connect 52 0 55 0;
|
|
#X connect 55 0 24 0;
|