Hi David, Yikes! It sounds like you are running into two big limitations of ChucK--lack of file i/o, and lack of a reliable networking API. OSC in ChucK, as in most other OSC implementations, uses UDP as its transport protocol, which basically means that one's OSC messages sent from ChucK are not guaranteed to ever arrive at their destination, nor are they guaranteed to arrive in order, nor are they guaranteed to arrive only once. Under heavy load it is very likely that the network will drop packets. Believe it or not this is actually desirable for many computer audio applications, as the latency overhead of a reliable transport protocol like TCP is often too great. But it sounds like its definitely not desirable for your situation. The best solution would be to use TCP, which guarantees packet arrival. Unfortunately ChucK doesn't support TCP in any form (yet), so thats not that helpful of a suggestion. Another route would be to implement TCP-like reliability mechanisms over ChucK's OSC API. To be honest this sounds like a huge pain too--implementing a light TCP stack over OSC over UDP in ChucK, no thanks! Unfortunately until file i/o comes along this could be your only option.
There is a posting on this list with a method for dumping the debugging output to a file instead of the console, but this does not work when running Chuck with separate class files
Could you be a bit more specific about this particular problem, possibly providing an example? It is possible to pipe ChucK's <<<
style output to a file or another application--is this what you are saying does not work for you? I think trying to get this working would be the best way to go right now.
spencer On Jan 24, 2007, at 9:20 AM, David Michael wrote:
Chuck is sending regular "heartbeat" messages to a remote OSC app (written in Ruby: http://www.funaba.org/en/ruby.html#osc). When Chuck is only in the business of sending these messages, they all reach their target. As Chuck takes on more tasks, the events stop arriving at the remote machine.
I have not tested this between 2 chuck applications on different hosts under heavy loads, but I will do this tonight or tomorrow and post the results back to this space.
The reason I would like to send these messages reliably is because I am trying to figure out a way to get data out of Chuck. There is a posting on this list with a method for dumping the debugging output to a file instead of the console, but this does not work when running Chuck with separate class files (it only dumps the last one in the arg list). The alternative seems to be cut and paste all my classes into one huge file. I just thought that there would be a more elegant way to get data out of Chuck, perhaps by OSC so that another language could handle formating, file i/o, etc...
Thanks David
On 1/23/07, Philip Davidson
wrote: Just to narrow this issue down-
the Chuck app is sending regular messages ( or should be ) and a second, ( chuck/ non-chuck ) application on the ( same / separate ) machine is not receiving?
David Michael wrote:
Hello list,
I have been running experiments with Chuck's OSC implementation and have found that when I have an instance of Chuck producing regular OSC events under a relatively heavy load (heavier than the example files), the receiver only gets a few of these events - perhaps less than 20% of them. This situation makes it very difficult for parallel instances of Chuck (on different machines) to communicate reliably.
I have reproduced this on both Mac and Linux (Ubuntu) installations. I am curious if anyone else on the list has come across this issue. Does anyone have suggestions for dealing with OSC communication reliably?
Best, David _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users