diff options
-rw-r--r-- | OSC/OSC-pattern-match.c | 6 | ||||
-rw-r--r-- | OSC/routeOSC.c | 1 | ||||
-rw-r--r-- | README.txt | 2 | ||||
-rw-r--r-- | doc/OSCroute-help.pd | 36 |
4 files changed, 31 insertions, 14 deletions
diff --git a/OSC/OSC-pattern-match.c b/OSC/OSC-pattern-match.c index 5e8226d..39dce87 100644 --- a/OSC/OSC-pattern-match.c +++ b/OSC/OSC-pattern-match.c @@ -56,7 +56,13 @@ Boolean PatternMatch (const char * pattern, const char * test) { // printf("OSC-pattern-match.c: pattern: %s, test: %s\n", pattern, test);
theWholePattern = pattern;
+
+ // post("pattern: %s, test: %s", pattern, test);
+ if(test[0] == '*') {
+ return TRUE;
+ }
+
if (pattern == 0 || pattern[0] == 0) {
return test[0] == 0;
}
diff --git a/OSC/routeOSC.c b/OSC/routeOSC.c index 4bd1185..176d71f 100644 --- a/OSC/routeOSC.c +++ b/OSC/routeOSC.c @@ -319,7 +319,6 @@ void OSCroute_doanything(t_OSCroute *x, t_symbol *s, int argc, t_atom *argv) { outlet_bang(x->x_outlets[i]);
} else if (argv[0].a_type == A_SYMBOL) {
// Promote the symbol that was argv[0] to the special symbol
-
outlet_anything(x->x_outlets[i], argv[0].a_w.w_symbol, argc-1, argv+1);
} else if (argc > 1) {
// Multiple arguments starting with a number, so naturally we have
@@ -22,6 +22,8 @@ send+dump/ CNMAT's OSC commandline utils log: + 20030531: added OSCroute /* (route everything) hard-fix + 20030527: added sending to broadcast address capability to htmsocket 20020908: 0.16-4: diff --git a/doc/OSCroute-help.pd b/doc/OSCroute-help.pd index 194cd93..58da40d 100644 --- a/doc/OSCroute-help.pd +++ b/doc/OSCroute-help.pd @@ -6,31 +6,31 @@ #X obj 242 142 print yps; #X obj 85 183 OSCroute /bla /bli /blo; #X obj 85 212 unpack f f f; -#X floatatom 85 239 4 0 0; -#X floatatom 124 239 4 0 0; -#X floatatom 164 239 4 0 0; +#X floatatom 85 239 4 0 0 0 - - -; +#X floatatom 124 239 4 0 0 0 - - -; +#X floatatom 164 239 4 0 0 0 - - -; #X text 20 11 OSCroute works pretty much like route but outputs remainder of routing tag after match.; #X obj 68 143 print test; #X obj 241 212 print rejected; -#N canvas 663 325 473 347 patternmatching 0; +#N canvas 663 325 672 347 patternmatching 1; #X obj 26 242 OSCroute /freq; #X obj 150 242 OSCroute /freq; #X obj 272 241 OSCroute /freq; #X msg 81 115 /*/freq 23 45 67; #X obj 72 201 OSCroute /inst1 /inst2 /inst3; #X obj 26 266 unpack f f f; -#X floatatom 26 287 3 0 0; -#X floatatom 65 287 3 0 0; -#X floatatom 105 287 3 0 0; +#X floatatom 26 287 3 0 0 0 - - -; +#X floatatom 65 287 3 0 0 0 - - -; +#X floatatom 105 287 3 0 0 0 - - -; #X obj 150 265 unpack f f f; -#X floatatom 150 286 3 0 0; -#X floatatom 189 286 3 0 0; -#X floatatom 229 286 3 0 0; +#X floatatom 150 286 3 0 0 0 - - -; +#X floatatom 189 286 3 0 0 0 - - -; +#X floatatom 229 286 3 0 0 0 - - -; #X obj 272 265 unpack f f f; -#X floatatom 272 286 3 0 0; -#X floatatom 311 286 3 0 0; -#X floatatom 351 286 3 0 0; +#X floatatom 272 286 3 0 0 0 - - -; +#X floatatom 311 286 3 0 0 0 - - -; +#X floatatom 351 286 3 0 0 0 - - -; #X msg 55 44 /inst1/freq 100 200 300; #X msg 64 66 /inst2/freq 111 222 333; #X msg 70 88 /inst3/freq 321 432 543; @@ -42,6 +42,12 @@ of routing tag after match.; thought it should work the other way round:; #X msg 96 145 /inst[12]/freq 0 99 88; #X msg 119 174 /inst?/freq 22.33 44.55 66.77; +#X text 367 48 well \, now it does \, crudely:; +#X obj 375 130 OSCroute /*; +#X msg 375 80 /test1/data 1 2 3; +#X msg 401 103 /test2/data 3.4 5 1; +#X obj 447 157 print rejected; +#X obj 375 184 print routed; #X connect 0 0 5 0; #X connect 1 0 9 0; #X connect 2 0 13 0; @@ -63,6 +69,10 @@ thought it should work the other way round:; #X connect 19 0 4 0; #X connect 25 0 4 0; #X connect 26 0 4 0; +#X connect 28 0 32 0; +#X connect 28 1 31 0; +#X connect 29 0 28 0; +#X connect 30 0 28 0; #X restore 288 57 pd patternmatching; #X text 184 57 check here =>; #X text 239 235 last outlet emits all non-matches; |