[PD] What's the easiest way to cut various symbols to a fixed length?

oliver oliver at klingt.org
Wed Nov 13 09:59:48 CET 2019


Ingo wrote:
> First of all thank you, Winfried and Tim!
>
> I ended up picking Tim's version with [list fromsymbol], [list split] and
> [list tosymbol] because it needs less objects.
> Works perfectly!
>
> However, I had to add a [iemlib/mergefilename _] to eliminate blank spaces in
> some names.
> In order to change the names to work with [mergefilename] and [ list
> fromsymbol] I had to convert a few times with [s2l] and [l2s].
> The underscores are converted to spaces again right before going to the LCD
> display.

it can all be done with vanilla objects, just needs a little patching.

here's an abstraction of mine that i use a lot, which takes care of all 
the stuff you need. helpfile is included

best

oliver
-------------- next part --------------
#N canvas 535 50 841 689 10;
#X text 105 621 symbol out with correct spaces;
#X text 50 16 string in;
#X obj 60 35 inlet;
#X obj 60 621 outlet;
#X obj 211 156 inlet;
#X obj 256 156 loadbang;
#X obj 54 35 cnv 5 5 17 empty empty empty 20 12 0 14 -118750 -66577
0;
#X obj 54 621 cnv 5 5 17 empty empty empty 20 12 0 14 -102336 -66577
0;
#X obj 205 156 cnv 5 5 17 empty empty empty 20 12 0 14 -118750 -66577
0;
#X obj 60 64 list;
#X obj 60 204 list store, f 13;
#X obj 60 111 until;
#X obj 60 137 f, f 7;
#X obj 122 137 + 1;
#X msg 60 182 get \$1 1;
#X obj 103 112 0;
#X obj 60 274 list fromsymbol;
#X obj 60 226 route symbol float;
#X obj 78 250 makefilename %s;
#X obj 60 159 t f f;
#X obj 60 408 list store, f 19;
#X obj 60 384 list trim;
#X obj 60 361 list prepend append;
#X obj 126 297 spigot;
#X obj 60 297 t l b, f 9;
#X obj 60 86 t b b a b, f 19;
#X obj 60 594 list tosymbol;
#X text 198 87 ARGUMENTS:;
#X text 197 102 1.) truncate after x elements;
#X floatatom 227 328 5 0 0 0 - - -;
#X obj 60 489 list prepend, f 19;
#X obj 94 537 list split;
#X obj 151 513 + 1;
#X obj 211 376 max 0;
#X obj 211 401 == 0;
#X obj 211 472 - 2;
#X obj 60 514 route -1 -2, f 12;
#X obj 94 563 list append 46 46 46;
#X obj 450 343 list store, f 14;
#X obj 450 271 until;
#X obj 450 295 f;
#X obj 491 295 + 1;
#X msg 450 320 get \$1 1;
#X msg 491 271 0;
#X text 482 225 list drip;
#X obj 591 585 list store, f 13;
#X obj 591 554 list trim;
#X obj 450 245 t b b l b, f 20;
#X symbolatom 400 11 10 0 0 0 - - -;
#X obj 400 28 list fromsymbol;
#X floatatom 400 46 5 0 0 0 - - -;
#X text 507 14 some characters are not allowed by PD \, some produce
a Tcl/Tk error., f 38;
#X text 647 432 36 (dollar);
#X text 435 148 91 (open bracket);
#X text 435 158 92 (backslash);
#X text 435 168 93 (close bracket);
#X text 435 178 123 (open brace);
#X text 435 188 125 (close brace);
#X text 567 129 replacement:;
#X text 435 130 original:;
#X obj 591 526 list prepend append;
#X msg 534 396 171;
#X msg 564 396 187;
#X msg 477 396 166;
#X msg 450 396 25;
#X msg 504 396 23;
#X text 736 432 35 (diamond);
#X text 647 404 34 (quote);
#X text 568 158 166 (dotted straight line);
#X text 568 188 187 (>>);
#X text 569 178 171 (<<);
#X text 647 418 35 (diamond);
#X text 736 417 164;
#X obj 605 368 spigot 1;
#X obj 591 435 spigot;
#X obj 650 341 == 0;
#X obj 650 315 t f f, f 6;
#X text 698 283 0 = for symbols or internal useage), f 19;
#X obj 591 458 select 34 35 36;
#X msg 710 452 35;
#X msg 621 482 164;
#X msg 591 482 168;
#X obj 450 368 select 91 92 93 123 125, f 24;
#X text 683 341 1 = for canvas labels, f 25;
#X text 736 403 168;
#X obj 256 179 list 0 \$1 \$2;
#X obj 256 201 list split 1;
#X text 197 117 2.) Tcl/Tk save flag (0);
#X obj 290 223 list split 1;
#X obj 324 245 list split 1;
#X obj 324 267 clip 0 1;
#X msg 324 289 TclTk \$1;
#X text 568 147 25 (fat line with left indent);
#X text 568 168 23 ((fat line with right indent);
#X obj 60 432 list prepend 0;
#X obj 60 456 route 0 1;
#X obj 296 381 t f f;
#X obj 296 414 != 0;
#X obj 296 437 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 331 414 sel 0;
#X obj 358 439 - 1;
#X floatatom 358 464 5 0 0 0 - - -;
#X obj 211 351 route float TclTk tcltk TCLTK strict;
#X obj 409 464 route float;
#X obj 409 490 sel 0 1;
#X obj 126 320 f 160;
#X msg 405 516 160;
#X msg 433 516 32;
#X connect 2 0 9 0;
#X connect 4 0 102 0;
#X connect 5 0 85 0;
#X connect 9 0 25 0;
#X connect 10 0 17 0;
#X connect 10 1 11 1;
#X connect 10 1 20 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 12 0 19 0;
#X connect 13 0 12 1;
#X connect 14 0 10 0;
#X connect 15 0 12 1;
#X connect 16 0 24 0;
#X connect 17 0 16 0;
#X connect 17 1 18 0;
#X connect 18 0 16 0;
#X connect 19 0 14 0;
#X connect 19 1 23 1;
#X connect 20 0 94 0;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 23 0 105 0;
#X connect 24 0 22 0;
#X connect 24 1 23 0;
#X connect 25 0 11 0;
#X connect 25 1 15 0;
#X connect 25 2 10 1;
#X connect 25 3 20 1;
#X connect 26 0 3 0;
#X connect 29 0 102 0;
#X connect 30 0 36 0;
#X connect 31 0 37 0;
#X connect 31 2 26 0;
#X connect 32 0 31 1;
#X connect 33 0 34 0;
#X connect 33 0 32 0;
#X connect 34 0 35 0;
#X connect 35 0 30 1;
#X connect 36 0 26 0;
#X connect 36 1 31 0;
#X connect 37 0 26 0;
#X connect 38 0 82 0;
#X connect 38 1 39 1;
#X connect 38 1 45 0;
#X connect 39 0 40 0;
#X connect 40 0 41 0;
#X connect 40 0 42 0;
#X connect 41 0 40 1;
#X connect 42 0 38 0;
#X connect 43 0 40 1;
#X connect 45 0 30 0;
#X connect 46 0 45 0;
#X connect 47 0 39 0;
#X connect 47 1 43 0;
#X connect 47 2 38 1;
#X connect 47 3 45 1;
#X connect 48 0 49 0;
#X connect 49 0 50 0;
#X connect 60 0 46 0;
#X connect 61 0 60 0;
#X connect 62 0 60 0;
#X connect 63 0 60 0;
#X connect 64 0 60 0;
#X connect 65 0 60 0;
#X connect 73 0 60 0;
#X connect 74 0 78 0;
#X connect 75 0 73 1;
#X connect 76 0 75 0;
#X connect 76 1 74 1;
#X connect 78 0 81 0;
#X connect 78 1 80 0;
#X connect 78 2 79 0;
#X connect 78 3 60 0;
#X connect 79 0 60 0;
#X connect 80 0 60 0;
#X connect 81 0 60 0;
#X connect 82 0 64 0;
#X connect 82 1 63 0;
#X connect 82 2 65 0;
#X connect 82 3 61 0;
#X connect 82 4 62 0;
#X connect 82 5 73 0;
#X connect 82 5 74 0;
#X connect 85 0 86 0;
#X connect 86 1 88 0;
#X connect 88 0 102 0;
#X connect 88 1 89 0;
#X connect 89 0 90 0;
#X connect 90 0 91 0;
#X connect 91 0 102 0;
#X connect 94 0 95 0;
#X connect 95 0 30 0;
#X connect 95 1 47 0;
#X connect 96 0 97 0;
#X connect 96 1 99 0;
#X connect 97 0 94 1;
#X connect 97 0 98 0;
#X connect 99 1 100 0;
#X connect 100 0 76 0;
#X connect 100 0 101 0;
#X connect 102 0 33 0;
#X connect 102 1 96 0;
#X connect 102 2 96 0;
#X connect 102 3 96 0;
#X connect 102 4 103 0;
#X connect 103 0 104 0;
#X connect 104 0 106 0;
#X connect 104 1 107 0;
#X connect 105 0 22 0;
#X connect 106 0 105 1;
#X connect 107 0 105 1;
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ol_tosymbol-help.pd
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20191113/ee2a6ed8/attachment-0001.ksh>


More information about the Pd-list mailing list