Dear all, chuck-1.2.1.3 (dracula) is available: http://chuck.cs.princeton.edu/ http://chuck.stanford.edu/ This release, long overdue, introduces experimental/initial support for file I/O (thanks to many folks who have contributed, including Andrew Schran and Martin Robinson, both of whom have provided much implementation and design). Along with the file I/O functionality comes several new languages features and special objects, including using => and <= (the "back-chuck" operator, as Spencer calls it), as well as chout (stdout, pronounced "shout") and cherr (stderr, pronounced "Cher"). Additionally, a few of function overloading and other issues from the chuck-users list have been resolved (hopefully). As always, please let us know of any bugs/features you encounter! (Please see the release notes at the end of this email.) Many many thanks once again to Kassen, Inventor, and everyone on chuck-users, as well as the electro-music chuck forum, PLOrk, SLOrk, folks at Smule, Fernando Lopez-Lezcano, Carr Wilkerson, Chris Chafe, Andrew Schran, Martin Robinson, and the rest of the chuck community for making this release happen! Thanks and Happy ChucKing, UpChucKing! Best, Ge + Spencer, on behalf of entire chuck team VERSIONS --- 1.2.1.3 - (added) initial/experimental support for file I/O (finally) (thanks to Andrew Schran, Martin Robinson) - (added) new class: IO, FileIO see examples/io/: read-int.ck read-str.ck readline.ck - using readline write.ck - write using <= write2.ck - write using .write() - (added) IO input via => - (added) IO output via <= (the "back-chuck") example: fio <= x <= " " <= y <= "\n"; - (added) new syntax for checking if/while/for/until with IO objects e.g., while( fio => i ) { ... } - (added) StdOut/StdErr objects: "chout" (pronounced "shout") "cherr" (pronounced "Cher") - (added) Hid.open() now can accept a device name parameter - (added) analysis/tracking examples are now back (thanks to Kassen for looking into this) - (fixed) calling overloaded functions with most specific match e.g., Specific extends General: fun void foo( General obj ) { } fun void foo( Specific obj ) { } foo( obj $ Specific ); // should call foo( Specific ) (thanks to Robert Poor for reporting, to Kassen, David Rush, Michael Heuer, and Andrew C. Smith for follow-up) - (fixed) STK instruments control changes reports range issues as "control value exceeds nominal range"; previously printed hard-coded values that were potentially misleading (thanks to Kassen for reporting) - (fixed) all oscillators now produce audio for negative frequencies (thanks to Luke Dahl) - (fixed) incorrect UGen disconnect (thanks Kassen for reporting) - (fixed) type checker now validates if/while/for/until types - (fixed) linux compilation (for gcc 4.x) - (fixed) complilation on OS X Snow Leopard ~~~ Ge Wang Assistant Professor Center for Computer Research in Music and Acoustics (CCRMA) Stanford University http://ccrma.stanford.edu/~ge/ ~ Co-founder, CTO, Chief Creative Officer Smule http://www.smule.com/ ~ http://twitter.com/gewang ~~~