#N canvas 80 59 640 602 10; #X text 68 47 you can store a number of lists by sending them to its right inlet.; #X text 50 23 [matchbox] - retrieve matching lists; #X text 67 76 when you send a list to the left inlet of [matchbox] \, it will be compared to each stored list \; any matches will be send to the first output of [matchbox]. the number of matches is sent to the 2nd outlet.; #X text 69 141 there are several matching algorithms available. you can choose between them via the "mode" message or by providing an argument at object creation.; #X text 70 185 currently available matching-modes:; #X text 90 204 '==': only matches if lists are exactly equal; #X text 90 216 'OSC': list-atoms are compared using OSC-pattern matching ; #X obj 205 424 matchbox; #X floatatom 248 445 5 0 0 1 num_results - -; #X obj 205 479 print results; #X msg 248 351 list this is my string \, list this is your string \, list this was my string; #X text 268 426 default is exact matching; #X msg 205 256 list this is my string; #X msg 218 275 list this is no string; #X msg 233 295 list this is * string; #X msg 119 312 mode ==; #X msg 120 330 mode OSC; #X msg 110 407 clear; #X msg 111 450 dump; #X text 37 395 delete all stored lists; #X text 35 438 output all stored lists; #X obj 248 335 loadbang; #X text 301 336 add lists to the pool; #X text 52 294 change matching mode; #X text 90 228 'regex': list-atoms are compared using regular expression pattern-matching; #X msg 120 350 mode regex; #X msg 247 313 list this .+ my string; #X text 394 295 an OSC pattern; #X text 394 314 a regular expression; #N canvas 0 0 556 395 default 0; #X floatatom 100 295 5 0 0 1 num_results - -; #X msg 100 161 list this is my string \, list this is your string \, list this was my string; #X msg 33 90 list this is my string; #X obj 33 238 matchbox OSC; #X obj 33 313 print OSCresults; #X msg 61 123 list this *s * string; #X msg 46 106 list this is * string; #X obj 100 145 loadbang; #X text 57 38 you can give the matching mode as 1st argument to matchbox] ; #X text 118 239 <-- this object does OSC-pattern matching; #X connect 1 0 3 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 1 0 0; #X connect 5 0 3 0; #X connect 6 0 3 0; #X connect 7 0 1 0; #X restore 206 527 pd default mode; #N canvas 220 74 737 499 deleting 0; #X obj 205 284 matchbox; #X obj 205 369 print results; #X msg 248 241 list this is my string \, list this is your string \, list this was my string; #X text 268 286 default is exact matching; #X msg 119 172 mode ==; #X msg 120 190 mode OSC; #X msg 110 267 clear; #X msg 351 342 dump; #X text 37 255 delete all stored lists; #X obj 248 225 loadbang; #X text 301 226 add lists to the pool; #X text 52 154 change matching mode; #X msg 120 210 mode regex; #X text 400 156 an OSC pattern; #X text 398 174 a regular expression; #X msg 205 116 delete this is my string; #X msg 217 135 delete this is no string; #X msg 234 155 delete this is * string; #X msg 247 173 delete this .+ my string; #X text 80 51 you can either "clear" all stored lists \, or "delete" them based pattern matching; #X text 327 316 after you have deleted something \, click "dump" to see the currently stored lists.; #X text 70 426 when "delete"ing \, [matchbox] will output the deleted list(s) with a "deleted" prepended; #X text 73 456 you can use [route delete] to distinguish between 'deleted' and 'found' results; #X connect 0 0 1 0; #X connect 2 0 0 1; #X connect 4 0 0 0; #X connect 5 0 0 0; #X connect 6 0 0 0; #X connect 7 0 0 0; #X connect 9 0 2 0; #X connect 12 0 0 0; #X connect 15 0 0 0; #X connect 16 0 0 0; #X connect 17 0 0 0; #X connect 18 0 0 0; #X restore 206 547 pd deleting; #X text 114 539 more info; #X text 475 15 part of zexy (2.1); #X connect 7 0 9 0; #X connect 7 1 8 0; #X connect 10 0 7 1; #X connect 12 0 7 0; #X connect 13 0 7 0; #X connect 14 0 7 0; #X connect 15 0 7 0; #X connect 16 0 7 0; #X connect 17 0 7 0; #X connect 18 0 7 0; #X connect 21 0 10 0; #X connect 25 0 7 0; #X connect 26 0 7 0;