
Hi List, Do I understand this correctly that I have to create an OscEvent for every single OSC method I want to listen for? The docs say I can use any valid OSC address pattern, but this does not seem to work. I have attached a (stupid) program that demonstrates the problem. So I need a separate shred for each OSC method? Which brings me to another thing I was wondering about lately: A shred can not wait for more than one event (including time passage) at the same time. So in many situtations, I will have no choice but to either do polling on a set of conditions, or create a separate shred for each event I am interested in. But this could be quite a large (theoretically infinit) number of shreds. Until now, I decided to use polling, but I was wondering if there was some kind of "proven pattern" that could be employed in such situations. What is the overhead of a shred anyway? Would it be a problem to create a *lot* of them? Like - let's say - a couple of thousands? From some primitive experiments, it seems that the creation involves some noticeable overhead, but I already had thousands of them running (well, mostly idle) without any problem. Are there any upper bounds? Otoh, is it a good idea to do polling in very short intervals, like the duration of one frame? Sorry, lots of questions. :-) Best Regards, --lu fun int sender(){ OscSend xmit; xmit.setHost("localhost",6449); while(true){ now + 1000::ms => now; xmit.startMsg("/test/bla", "i s"); 42 => xmit.addInt; "knarz" => xmit.addString; } } spork ~ sender(); OscRecv orec; 6449 => orec.port; orec.listen(); orec.event("/test/*, i s") @=> OscEvent e; while(true){ e => now; e.nextMsg(); <<<"event recieved!">>>; }