Skip to content

Commit

Permalink
Merge pull request #1281 from jyg/develop
Browse files Browse the repository at this point in the history
improve daw_storage.pd abstraction
  • Loading branch information
timothyschoen authored Nov 12, 2023
2 parents 7830022 + b005fd0 commit 57c89d3
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 103 deletions.
9 changes: 2 additions & 7 deletions Resources/Patches/daw_storage-help.pd
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,6 @@
#X obj 20 40 r from_daw_databuffer;
#X obj 20 69 s to_daw_databuffer;
#X restore 9 646 pd reserved_send/receive_names;
#N canvas 952 332 450 300 forbidden_characters_in_argument 0;
#X text 9 21 Due to the way data are internally stored within the DAW session (using xml-tags) \, some characters are forbidden for naming the tag \, i.e. argument of the abstraction;
#X text 11 94 Indeed \, XML Tag names cannot contain any of the characters :!"#$%&'()*+ \, / \; <=>?@[]^`|~ \, nor a space character \, and cannot begin with "-" \, "." \, or a numeric digit.;
#X text 20 179 If you fill argument with invalid name \, the abstraction [daw_storage] won't work.;
#X restore 293 648 pd forbidden_characters_in_argument;
#X obj 23 89 daw_storage tag;
#N canvas 648 540 450 300 advanced 0;
#X text 16 35 Use [text tolist] and [text fromlist] to save / retrieve content of a text object;
Expand All @@ -65,5 +60,5 @@
#X connect 1 0 10 0;
#X connect 2 0 1 0;
#X connect 10 0 11 0;
#X connect 12 0 31 0;
#X connect 30 0 12 0;
#X connect 12 0 30 0;
#X connect 29 0 12 0;
166 changes: 70 additions & 96 deletions Resources/Patches/daw_storage.pd
Original file line number Diff line number Diff line change
@@ -1,114 +1,88 @@
#N canvas 1171 109 690 350 12;
#X obj 56 23 inlet;
#X obj 345 305 outlet;
#X obj 56 49 list prepend \$1;
#X obj 343 198 list trim;
#X obj 343 223 route \$1;
#X obj 344 249 list;
#X text 500 174 ON LOAD;
#X text 469 194 <- Host DAW sends data to patch;
#X text 184 50 <- incoming extradata are stored as lists into a plugdata temporary struct. Those data will be dumped to the DAW when the session will be saved, f 41;
#N canvas 1125 382 752 569 check_incorrect_tag_characters 0;
#X obj 93 21 loadbang;
#X obj 93 46 list append \$1;
#X text 352 64 <- incoming extradata are stored as lists into a plugdata temporary struct. Those data will be dumped to the DAW when the session will be saved, f 41;
#X obj 344 277 t l l;
#X obj 56 154 s to_daw_databuffer;
#X obj 343 173 r from_daw_databuffer;
#N canvas 1125 382 752 569 encodeBase32 0;
#X obj 93 71 list fromsymbol;
#X text 239 18 The way extradata are stored in plugdata (XmlElement structure) doesn't allow some special characters in tag name., f 45;
#X obj 84 136 list length;
#X obj 84 161 until;
#X obj 165 163 list split 1;
#X obj 74 212 list append;
#X obj 236 236 moses 45;
#X obj 303 260 select 47;
#X obj 200 200 select 47;
#X obj 431 328 moses 65;
#X obj 379 290 moses 58;
#X obj 462 351 moses 91;
#X obj 553 398 moses 97;
#X obj 610 427 moses 123;
#X obj 200 394 t b;
#X text 299 69 :!"#$%&'()*+\\\,\\\ /\\\; <=>?@[]^`|~;
#X obj 107 521 outlet;
#X obj 107 419 f 1;
#X msg 200 419 0;
#X obj 401 135 list split 1;
#X obj 93 96 t b l l b l b;
#X msg 130 357 1;
#X obj 408 240 t b;
#X obj 107 470 t f f;
#X obj 283 436 select 0;
#X obj 283 506 print daw_storage error;
#X obj 403 168 select 45 46 47 48 49 50 51 52 53 54 55 56 57;
#X text 275 105 moreover \, tag name cannot begin with "-" \, "." \, or a numeric digit., f 67;
#X obj 283 459 list append \$1;
#X msg 283 481 Tag name "\$1" uses some forbidden characters - will be bypassed;
#X obj 549 359 select 95;
#X text 448 373 A--Z;
#X text 590 445 a--z;
#X text 343 307 0--9;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 22 0;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
#X connect 6 0 10 0;
#X connect 6 1 7 1;
#X connect 7 0 6 0;
#X connect 8 0 16 0;
#X connect 8 1 9 0;
#X connect 9 0 16 0;
#X connect 9 1 12 0;
#X connect 10 0 16 0;
#X connect 10 1 8 0;
#X connect 11 0 16 0;
#X connect 11 1 13 0;
#X connect 12 1 11 0;
#X connect 13 1 32 0;
#X connect 14 0 16 0;
#X connect 14 1 15 0;
#X connect 15 1 16 0;
#X connect 16 0 20 0;
#X connect 19 0 25 0;
#X connect 20 0 19 1;
#X connect 21 0 28 0;
#X obj 93 36 inlet;
#X obj 165 258 t f f;
#X obj 147 284 mod 32;
#X obj 212 287 div 32;
#X floatatom 196 230 5 0 0 0 - - - 0;
#X text 354 248 a 97;
#X text 353 287 A 65 Z 90;
#X obj 214 325 + 65;
#X obj 215 359 moses 91;
#X obj 268 385 + 6;
#X obj 181 417 pack f f;
#X obj 131 317 + 65;
#X obj 132 351 moses 91;
#X obj 185 377 + 6;
#X obj 127 460 list prepend;
#X obj 127 485 t l l;
#X obj 85 516 list append;
#X obj 85 541 list tosymbol;
#X obj 222 534 outlet;
#X connect 0 0 7 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 10 0;
#X connect 4 0 13 0;
#X connect 4 1 5 1;
#X connect 5 0 4 0;
#X connect 7 0 25 0;
#X connect 7 1 2 0;
#X connect 7 2 4 0;
#X connect 7 3 5 1;
#X connect 7 5 23 1;
#X connect 9 0 0 0;
#X connect 10 0 11 0;
#X connect 10 1 12 0;
#X connect 11 0 20 0;
#X connect 12 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 19 1;
#X connect 17 1 18 0;
#X connect 18 0 19 1;
#X connect 19 0 23 0;
#X connect 20 0 21 0;
#X connect 21 0 19 0;
#X connect 21 1 22 0;
#X connect 22 0 19 0;
#X connect 22 1 4 0;
#X connect 22 2 6 0;
#X connect 22 3 7 1;
#X connect 22 4 21 0;
#X connect 22 5 23 0;
#X connect 23 0 19 1;
#X connect 24 0 20 0;
#X connect 25 0 18 0;
#X connect 25 1 26 0;
#X connect 26 0 30 0;
#X connect 28 0 24 0;
#X connect 28 1 24 0;
#X connect 28 2 24 0;
#X connect 28 3 24 0;
#X connect 28 4 24 0;
#X connect 28 5 24 0;
#X connect 28 6 24 0;
#X connect 28 7 24 0;
#X connect 28 8 24 0;
#X connect 28 9 24 0;
#X connect 28 10 24 0;
#X connect 28 11 24 0;
#X connect 28 12 24 0;
#X connect 30 0 31 0;
#X connect 31 0 27 0;
#X connect 32 1 14 0;
#X restore 186 10 pd check_incorrect_tag_characters;
#X obj 344 277 t l l;
#X obj 56 77 spigot;
#X obj 56 104 s to_daw_databuffer;
#X obj 343 173 r from_daw_databuffer;
#X connect 0 0 2 0;
#X connect 2 0 11 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 10 0;
#X connect 9 0 11 1;
#X connect 10 0 1 0;
#X connect 10 1 2 0;
#X connect 23 0 24 0;
#X connect 24 0 25 1;
#X connect 24 1 23 1;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X restore 175 63 pd encodeBase32;
#X obj 179 10 loadbang;
#X obj 179 35 symbol \$1;
#X obj 56 111 list prepend;
#X obj 343 223 route symbol;
#X connect 0 0 13 0;
#X connect 2 0 14 0;
#X connect 3 0 7 0;
#X connect 7 0 1 0;
#X connect 7 1 13 0;
#X connect 9 0 2 0;
#X connect 10 0 13 1;
#X connect 10 0 14 1;
#X connect 11 0 12 0;
#X connect 13 0 3 0;
#X connect 12 0 10 0;
#X connect 13 0 8 0;
#X connect 14 0 3 0;

0 comments on commit 57c89d3

Please sign in to comment.