#N canvas 0 31 640 573 10;
#X declare -path zexy -lib zexy;
#X text 68 38 you can store a number of lists by sending them to its right inlet.;
#X text 50 14 [matchbox] - retrieve matching lists;
#X text 67 67 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 132 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 176 currently available matching-modes:;
#X text 90 195 '==': only matches if lists are exactly equal;
#X text 90 207 'OSC': list-atoms are compared using OSC-pattern matching;
#X floatatom 248 450 5 0 0 1 num_results - - 0;
#X obj 205 484 print results;
#X msg 250 377 list this is my string \, list this is your string \, list this was my string;
#X text 268 431 default is exact matching;
#X msg 205 252 list this is my string;
#X msg 218 274 list this is no string;
#X msg 233 296 list this is * string;
#X msg 120 311 mode ==;
#X msg 120 333 mode OSC;
#X msg 110 412 clear;
#X msg 111 455 dump;
#X text 28 396 delete all stored lists;
#X text 35 438 output all stored lists;
#X obj 250 355 loadbang;
#X text 303 356 add lists to the pool;
#X text 52 292 change matching mode;
#X text 90 219 'regex': list-atoms are compared using regular expression pattern-matching;
#X msg 120 355 mode regex;
#X msg 247 318 list this .+ my string;
#X text 394 296 an OSC pattern;
#X text 394 319 a regular expression;
#N canvas 0 0 556 395 default 0;
#X floatatom 100 295 5 0 0 1 num_results - - 0;
#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 205 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 205 549 pd deleting;
#X text 113 539 more info;
#X text 475 15 part of zexy (2.1);
#X obj 205 429 matchbox;
#N canvas 515 193 494 344 META 0;
#X text 12 165 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan Wilkes for Pd version 0.42.;
#X text 12 25 LICENSE GPL v2;
#X text 12 145 AUTHOR IOhannes m zmoelnig;
#X text 12 5 KEYWORDS control storage;
#X text 12 45 DESCRIPTION retrieve matching lists;
#X text 12 65 INLET_0 mode clear dump list;
#X text 12 85 INLET_1 list;
#X text 12 105 OUTLET_0 list;
#X text 12 125 OUTLET_1 float;
#X obj 41 244 declare -path zexy -lib zexy;
#X restore 585 548 pd META;
#X connect 9 0 32 1;
#X connect 11 0 32 0;
#X connect 12 0 32 0;
#X connect 13 0 32 0;
#X connect 14 0 32 0;
#X connect 15 0 32 0;
#X connect 16 0 32 0;
#X connect 17 0 32 0;
#X connect 20 0 9 0;
#X connect 24 0 32 0;
#X connect 25 0 32 0;
#X connect 32 0 8 0;
#X connect 32 1 7 0;
