Hi Graham!
ChucK hiccups from time to time, and this has been mentioned on lists. But where are the main inefficiencies? How could hiccups be avoided?
ChucK is the main inefficiency, huh huh. As for reducing hiccups, there are several ways, depending on the hiccups you are experiencing. One common type of hiccup arises when a shred is added and then tries to load a big sound file. Since we haven't implemented chunking in sndbuf yet (it's on the todo list), a sufficiently large file will cause the hiccups. you can try to alleviate the problem for smaller files by using a bigger buffer size, for example when starting the chuck listener loop: chuck --loop --bufsize2048 However, this is more complicated on Windows XP, since we seem to be having audio problems when using a buffer size greater than 512 since upgrading to the new RtAudio, which drastically improved latency on Window XP, but for some reason isn't liking large buffer sizes.
2. Local class library
It would be nice to automatically load local utility classes.
Also in the works, though the implementation may not happen for a few more releases.
3. Globals?
Theoretically we have global variables and functions. You can declare a public class with static members and those should be accessible by all subsequent code. For example: public class The { static int number; // a bug forces one to declare static objects as references static Event @ event; } // instantiate the event outside (thanks to bug) new Event @=> The.event; Having first compiled the file containing The, subsequent code should be able to access The.number and The.event. Also previous related discussion: https://lists.cs.princeton.edu/pipermail/chuck-users/2005-November/ 000164.html https://lists.cs.princeton.edu/pipermail/chuck-users/2005-November/ 000165.html Best, Ge!